
Avez vous déjà eu envie d’envoyer la sortie audio d’un programme vers un autre? Ou alors de prendre cette sortie et de l’envoyer vers deux autres programmes et finalement enregistrer le résultat dans le programme d’origine? Si c’est le cas, JACK est ce que vous cherchez.
JACK est un serveur audio basse latence qui permet de connecter différentes applications sur un périphérique audio ainsi que de partager le son entre eux. Ses client peuvent tourner à part (comme des programmes normaux) ou au sein du serveur audio (comme des plugins).
JACK est destiné à l’utilisation professionnelle et est axé sur deux points: exécution synchrone de tous les clients et faible latence.
Installation
Si votre distribution n’intègre pas déjà JACK, il va falloir bien entendu l’installer. Pour en profiter pleinement, il vous faudra un noyau linux temps réel (optionnel mais recommandé).
sudo apt-get install jackd qjackctl sudo apt-get install linux-image-rt linux-headers-rt
Note Importante:
Redémarrez en prenant soin de choisir Linux-x.x.xx-xx-rt comme noyau quand grub apparaît.
Configuration
tapez Alt+F2 et lancez qjackctl (ou fouillez les menu à la recherche de Jack Control)

Cliquez sur le bouton paramètres (Setup) à droite, et dans le dialogue qui s’affiche:

1. Sélectionnez votre carte son dans le menu déroulant
2. Activez le noyau temps réel
3. Activez le monitoring
4. Changez Frames/Period a un niveau inférieur pour obtenir la latence la plus faible possible. Certaines carte peuvent supporter un forte latence, d’autre pas. Cette valeur est a configurer selon vos besoins et votre matériel.
Dans l’onglet “divers” ou “Misc” cochez les cases suivante pour un peu plus de praticité:

Cliquez sur OK pour appliquer les paramètres et fermer le dialogue puis cliquez sur Start pour lancer le serveur.

Maintenant il va falloir chasser les XRuns…
Les XRUNSs apparaissent quand il y a trop ou pas assez de données dans le buffer.
Si vous avez des XRUNS, l’icône de JACK dans le tray et le “0(0)” dans qjackctls vont virer au rouge, cela arrive quand vous ouvrez un programme ou quand vous ajoutez un plugin. Tant que ça n’arrive pas pendant la lecture, le processing ou l’enregistrement ce n’est pas trop grave.
Tout ce que vous avez à savoir c’est que les XRUNS saimal, saitrètrèmal. Vous pouvez réduire le nombre de XRUNS en augmentant la valeur de Frames/Periods dans les paramètres.
Utilisation
Maintenant que JACK tourne comme il faut, lancez un programme, choisissez-y JACK comme serveur (si cette option existe) et lancez un son. Pas de son!
C’est normal, il faut relier votre programme à ALSA, à nouveau dans qjackctl, cliquez sur “Connect” et reliez la sortie du programme à une entrée ALSA. Miracle!
Maintenant vous pouvez connecter plein de programmes les uns aux autres sans problème. Mais attentions aux XRUNS!

2 comments
Comments feed for this article
Lundi 14 avril 2008 à 08:12
Teddy
Bonjour,
J’ai fait comme indiqué ci-dessus, mais j’ais un message d’erreur :
“Could not connect to JACK server as client”
JACK tmpdir identified as [/dev/shm]
Que faire ?
Lundi 14 avril 2008 à 09:51
fluo★
as-tu bien redémarré sur le kernel rt? Quelle carte utilises-tu?
Pour les dépannages merci de joindre le salon musique:
http://fluoblog.wordpress.com/a-propos/a-propos-du-salon-musique/