O kit Jack Audio Connection é exatamente o que eu estou procurando. O principal problema que eu encontrei é que eu estava tentando resolver o meu problema com o Pulseaudio, mas parece que o jackd é o daemon de escolha para áudio de ponta, no Linux.
Jack-plumbing faz a configuração de conexões persistentes entre aplicativos e o sistema de áudio conveniente, especialmente em caixas linux que não possuem monitores. O qjackctl é uma das muitas maneiras de fazer isso se você quiser usar uma GUI. Eu encontrei o formato de arquivo jack-encanamento um pouco obtuso, então eu usei qjackctl para ajudar a determinar o formato do arquivo.
Por exemplo,
(connect "MPlayer \[[0-9]+\]:out_0" "system:playback_9")
(connect "MPlayer \[[0-9]+\]:out_1" "system:playback_10")
é o conteúdo do meu arquivo .jack-plumbing (na parte superior do meu diretório pessoal) que configura uma conexão persistente entre o mplayer e meu sistema de áudio.
Eu peguei essas linhas do arquivo qjackctl "patchbay":
<!DOCTYPE patchbay>
<patchbay version="0.4.2" name="patchbay">
<output-sockets>
<socket exclusive="off" name="MPlayer \[[0-9]+\] 1" client="MPlayer \[[0-9]+\]" type="jack-audio">
<plug>out_0</plug>
<plug>out_1</plug>
</socket>
</output-sockets>
<input-sockets>
<socket exclusive="off" name="system 1" client="system" type="jack-audio">
<plug>playback_9</plug>
<plug>playback_10</plug>
</socket>
</input-sockets>
<slots/>
<cables>
<cable output="MPlayer \[[0-9]+\] 1" input="system 1" type="jack-audio"/>
</cables>
</patchbay>
Um comando como
mplayer -ao jack blah.mp3
é suficiente para reproduzir o arquivo blah.mp3 no sistema.
editar:
Uma solução alternativa é criar /etc/asound.conf e fazer isso:
pcm.usbSTR {
type hw
card USBStreamer
device 0
}
pcm.usbREMAP {
type plug
slave.pcm usbSTR
ttable.0.8 1
ttable.1.9 1
}
pcm.!default {
type plug
slave.pcm usbREMAP
}
ctl.!default {
type plug
slave.pcm usbREMAP
}
Isso permite que você evite Jack completamente e canalize diretamente para o ALSA.