Chargement...
 
Skip to main content
TUTO : Router un flux ALSA vers JACK
Avant-propos : ce tutoriel va vous expliquer comment router un flux ALSA vers JACK, autrement dit, comment entendre dans JACK les applications qui s'adressent à ALSA.



Installation

Le PlugIn JACK est distribué dans le paquet alsa-lib de la distribution d'ALSA (il peut avoir un nom différent de alsa-lib, par exemple libasound2 ou libasound2-plugins chez Ubuntu). Pour savoir s'il est installé, vous pouvez par exemple rechercher le fichier libasound_module_pcm_jack.so sur votre système. Sinon, il se compile très facilement à la main. Bien entendu, il faut que JACK et ALSA soient installés.


Configuration

La configuration suivante crée un périphérique virtuel appelé "jackplug" qui crée une connexion à JACK lorsqu'on l'utilise.
pcm.jackplug {
     type plug
     slave { pcm "jack" }
     }

pcm.jack {
     type jack
     playback_ports {
          0 alsa_pcm:playback_1
          1 alsa_pcm:playback_2
          }
     capture_ports {
          0 alsa_pcm:capture_1
          1 alsa_pcm:capture_2
          }
     }



Test


On pourra alors indiquer à nos applications ALSA d'utiliser ce périphérique. Par exemple avec aplay on tape :
Copy to clipboard
aplay -Dplug:jackplug mon_fichier.wav

Si on regarde avec QJackCtl, on constate bien qu'une paire de ports de sortie est apparue, nommé d'après le numéro de processus de l'application :
Cliquer pour agrandir
Cliquer pour agrandir


Si on souhaite utiliser ce périphérique virtuel comme périphérique par défaut on peut l'indiquer dans .asoundrc de la façon suivante :
pcm.!default {
type plug
slave { pcm "jack" }
}


Il n'est alors plus nécessaire de spécifier pour chaque application le périphérique à utiliser.

Attention toutefois, j'ai rencontré des problèmes avec certaines application, notamment mplayer qui se bloque.


Notes

Voir également sur le wiki non-officiel d'ALSA : http://alsa.opensrc.org/Jack_(plugin).





[+]