PanikDB - gestion radio

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
Dernière modification : 24 juillet 2022, 18:01