Parece que estou tendo problemas com meu sequenciador Alsa. Estou usando Parabola (variante Arch) e não uso Pulseaudio, uso Alsa diretamente. Estou tentando jogar um jogo via Wine que tem áudio MIDI. Eu tenho o fluidsynth instalado e funciona - eu posso reproduzir um arquivo midi e soa bem. No entanto, se eu iniciar o servidor fluidsynth e executar aplaymidi -l
, recebo o seguinte erro:
$ aplaymidi -l
ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
Não tenho nenhum /dev/snd/seq
arquivo, o que parece ser algo que deveria estar lá, relacionado ao sequenciador Alsa. Alguém tem alguma idéia de por que esse arquivo pode não estar presente e quais soluções posso tentar?
Editar:
Para responder à pergunta nos comentários, aqui está a saída da /proc/config.gz
seção que trata do sequenciador:
$ 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
Portanto, parece que o sequenciador Alsa foi compilado como um módulo e provavelmente só preciso carregar esse módulo.
Se o
/dev/snd/seq
arquivo especial não existir, provavelmente é porque seu sistema não carrega o driver apropriado.O driver apropriado faz parte de qualquer distribuição linux e é construído no kernel make time dependendo da opção de configuração CONFIG_SND_SEQUENCER.
Diga sim ao Suporte ao Sequencer (Local: Drivers de Dispositivo / Suporte a Placa de Som / Arquitetura de Som Linux Avançada) para construir o driver no kernel. (Alsa costumava recomendar isso). Reconstrua seu kernel e pronto, ele será carregado automaticamente (e arquivos especiais criados) no momento da inicialização.
BTW, eu recomendo selecionar "Use HR-timer as default sequencer timer" também.
Eu descubro que este driver pode ser construído como um módulo (dizendo M). Se for sua escolha, você não deve esquecer de modprobe explicitamente antes de usar o arquivo especial /dev/snd/seq.