Configuration de jack
Il y a deux versions majeures de jack, la 1 et la 2, ces instructions sont uniquement testées avec la 1,
apt install jackd1
Pour utiliser jack avec panikdb la configuration recommandée est de l’ajouter en service système, en définissant une unité systemd, en créant un fichier /etc/systemd/system/jackd.service
,
[Unit] Description=Jack Audio Service After=network.target syslog.target [Service] Environment=LANG=C.UTF-8 User=panikdb Group=panikdb ExecStart=/usr/bin/jackd -r -dalsa -dhw:1 -r48000 -p1024 -n4 -Xseq -D KillSignal=SIGQUIT TimeoutStartSec=0 PrivateTmp=true Restart=on-failure Type=exec [Install] WantedBy=multi-user.target
L’unité s’active et se démarre,
systemctl enable jackd systemctl start jackd
et la commande systemctl status jackd
doit afficher que tout va bien,
● jackd.service - Jack Audio Service Loaded: loaded (/etc/systemd/system/jackd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-03-09 16:33:46 CET; 4 months 8 days ago Main PID: 344 (jackd) Tasks: 4 (limit: 1147) Memory: 1.6M CGroup: /system.slice/jackd.service └─344 /usr/bin/jackd -r -d alsa […]
Configuration de jack-plumbing
jack-plumbing est un petit outil pour jack, qui permet d’assurer automatiquement le branchement de ses entrées et sorties (connecter les tuyaux → "plomberie"), on peut aussi l’installer et le configurer sous forme d’unité systemd.
apt install jack-tools
puis l’unité, /etc/systemd/system/jack-plumbing.service
,
[Unit] Description=Jack Plumbing Service After=jackd.service [Service] Environment=LANG=C.UTF-8 User=panikdb Group=panikdb ExecStartPre=/bin/sleep 3 ExecStartPre=/usr/bin/jack-plumbing -d ExecStart=/usr/bin/jack-plumbing KillSignal=SIGQUIT TimeoutStartSec=0 PrivateTmp=true Restart=on-failure Type=exec [Install] WantedBy=multi-user.target
On peut noter la présence d’un sleep de 3 secondes avant le démarrage, c’est parce que parfois jackd s’annonce comme ayant démarré un peu trop tôt, on compense ainsi.
La configuration se pose dans le fichier ~panikdb/.jack-plumbing
, elle va varier selon les logiciels mais une configuration de base pour Stamina, pour que le lecteur mpv se branche automatiquement sur la carte son, le fichier contiendrait :
(connect "mpv:out_0" "system:playback_1") (connect "mpv:out_1" "system:playback_2")
Et pour par exemple enregistrer une pige avec liquidsoap, les lignes suivantes :
(connect "system:capture_1" "liquidsoap_pige:in_0") (connect "system:capture_2" "liquidsoap_pige:in_1")
Comme pour l’unité jackd, ici aussi on active et démarre :
systemctl enable jack-plumbing systemctl start jack-plumbing
Adaptation des unités systemd
Pour indiquer que stamina doit démarrer uniquement une fois jack-plumbing en place, il faut éditer l’unité correspondante, systemctl edit stamina
,
[Unit]
After=network.target jack-plumbing.service