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.
Si on souhaite utiliser ce périphérique virtuel comme périphérique par défaut on peut l'indiquer dans
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
[+]
Table des matières
Installation
Le PlugIn JACK est distribué dans le paquetalsa-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
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 : |
|
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).[+]