Alsa

Alsa 定序器問題 - 沒有文件 /dev/snd/seq

  • May 27, 2022

我的 Alsa 音序器似乎有問題。我正在使用拋物線(Arch 變體)並且我不使用 Pulseaudio,我直接使用 Alsa。我正在嘗試通過具有 MIDI 音頻的 Wine 玩遊戲。我安裝了流體合成器,它可以工作 - 我可以播放一個 MIDI 文件,聽起來不錯。但是,如果我啟動流體合成伺服器並執行aplaymidi -l,我會收到以下錯誤:

$ aplaymidi -l
ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory

我沒有/dev/snd/seq文件,這似乎是應該存在的,與 Alsa 音序器有關。有誰知道為什麼該文件可能不存在以及我可以嘗試哪些解決方案?

編輯:

為了回答評論中的問題,這裡是/proc/config.gz處理序列器的部分的輸出:

$ zgrep -A 5 -B 5 SEQUENCER /proc/config.gz
# CONFIG_SND_CTL_VALIDATION is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_SEQUENCER_OSS=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=m
CONFIG_SND_SEQ_MIDI=m
CONFIG_SND_SEQ_MIDI_EMUL=m
CONFIG_SND_SEQ_VIRMIDI=m

所以看起來Alsa音序器被編譯為一個模組,我可能只需要載入那個模組。

如果/dev/snd/seq特殊文件不存在,很可能是因為您的系統沒有載入適當的驅動程序。

適當的驅動程序是任何 linux 發行版的一部分,並且根據 CONFIG_SND_SEQUENCER 配置選項在核心生成時建構。

Sequencer Support(位置:設備驅動程序/音效卡支持/高級 Linux 聲音架構)說是,以在核心中建構驅動程序。(Alsa曾經推薦過)。重建你的核心,就是這樣,它將在引導時自動載入(並創建特殊文件)。

順便說一句,我強烈建議也選擇*“使用 HR-timer 作為預設音序器計時器”*。

我發現這個驅動程序可以建構為一個模組(比如 M)。如果這是您的選擇,那麼您不應該忘記在願意使用 /dev/snd/seq 特殊文件之前顯式地修改它。

引用自:https://unix.stackexchange.com/questions/704087