Chargement...
 
Skip to main content

5 - Les serveurs son : JACK, PipeWire, PulseAudio et autres...


Jack et Pipewire - Cohabitation

France
Bonjour,

Depuis quelques temps je teste pipewire avec jack (que j’utilise principalement depuis 2006) et j'ai remarqué des différences entre les distributions récentes que je teste aussi avec différentes interfaces audio...

- Soucis de reconnaissance / fonctionnement sur Lmde7 et Mx25 même en rajoutant les paquets pipewire-audio-client-libraries et pipewire-jack (cela va juste du manque de connexions surtout carte son intégrée à blocage avec Firefox par exemple)

- Tout fonctionne bien avec Mx25 AVL et Ubuntu studio 24.04 (ceci dit, elles sont optimisées MAO)

Je pense qu'il faudrait ajouter ou modifier un fichier / script mais comme en règle générale je me place juste en musicien utilisateur débutant MAO 😉

J'ai consulté la documentation mais pas encore tout assimilé encore (et puis baisse de vue cela n'aide pas ! )

Voilà, si vous avez des des idées... car globalement quand même pipewire c'est sympa (quelques différences parfois niveau audio, réglages à prévoir...), en utilisation plus poussée je reste encore sur jack d’où mes questions pour que la cohabitation s'effectue au mieux

A bientôt et d'avance merci, BlueDid
Comme je peux changer de WM à volonté au login, je vais conserver Fluxbox sur la machine du bureau (16Gb de RAM) équipée de la Behringer 1820 qui ne s'occupera que de mon synthé Eurorack analogique. Depuis la 1820, j'enverrais le son vers la deuxième machine (32 Gb) équipée de l'UMC 404 HD, qui fera l'enregistrement avec Ardour et les plugins qui vont bien. Sous fluxbox aussi.
Tu n'es pas tenté de faire de l'audio sur IP entre tes 2 machines ?
J'ai retrouvé la synthese de mes recherches sur l'audio sur IP. Dans ton cas, l'ADAT serait un bon candidat:
- beaucoup d'interfaces audio ont une ADAT (souvent optique)
- tu n'as à priori que 2 signaux a faire transiter (l'ADAT est limité à 8 canaux 48kHz 24b par medium). C’est possible d’étendre la fréquence d’échantillonnage à 96 kHz, mais limité à 4 canaux, ou à 192 kHz avec 2 canaux (norme S/MUX).
@piratebab
Non pas vraiment. Je ne sais pas pourquoi, mais l'audio sur IP, je la sens pas. Je ne vois pas réellement le but.
France
Après avoir installé une nouvelle distribution (iDeal O.S 4.1 Kde basée sur Debian 13 MX25) sur clef USB avec pour condition de n'utiliser que pipewire il s'avère que jack-keyboard dans ce cas ne fonctionnera pas sauf si l'on lance et paramètre jack (via QjackCtl) puis que l'on installe et lance a2jmidid.

Qtractor lance un message d'erreur (audio/MIDI n'a pas pu être demarré, assurez vous que service audio JACK/Pipewire et le module noyau ALSA Séquenceur (snd-seq-midi) sont opérationnels...

A noter que Qtractor fonctionne impec sur une autre distribution (MX25.1 Xfce) directement avec pipewire mais j'avais installé tout ce qui concernait jack (comme j'avais l'habitude de faire 😉), je continue les tests...
Alors j'avais ce souci aussi, j'ai procédé comme suis :

Copy to clipboard
dpkg -L pipewire-jack | grep libjack.so.0

Et il faut obtenir cela :
Copy to clipboard
/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/libjack.so.0.3.1005 /usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/libjack.so.0


Sinon vérifier que pipewire-jack est installé.
Répéter dpkg et si c'est OK :

Copy to clipboard
sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ sudo ldconfig

Redis moi
France
Cool ! Merci pierrelo ça fonctionne en audio et Midi (Jack-keyboard et Qtractor) 😊

Du coup j'en ai profité pour installer le noyau 6.18.15-3 Liquorix (disponible directement dans les dépôts) et test sur tour de 2013, carte son intégrée...
Top.
Tu as écrit:
Depuis la 1820, j'enverrais le son vers la deuxième machine (32 Gb) équipée de l'UMC 404 HD, qui fera l'enregistrement avec Ardour et les plugins qui vont bien

Comment tu veux envoyer le son entre les 2 machines ? Ene Analogique ? Tu ve empiler les conversionsA/N et N/A. Avec nos cartes son grand public, il y a perte de qualité à chaque conversion (surtout avec les focusrite à partir de gen3).
Ce que je te propose, c'est de relier tes 2 cartes son via une liaison numérique (ADAT) pour éviter les conversions.
Tes cartes son ont normalement 2 connexions optique chacune (une IN et une OUT) qu'il suffit de relier (le IN sur le OUT)
bonne analyse piratebab !
France
tu peux même envoyer le son par le réseau ethernet ... si je comprends bien ce qui se dit ici.
Mais bon, ce n'est plus du tout le sujet de la cohabitation... 😊
Oui c'est possible via internet, mais si on reste en contxte MAO, c'est à dire assurer une synchronisation et une latence, ce n'est pas aussi simple sous linux que sous d'autres environnement. La plupart des solutions sont proprio, et RAVENNA qui est un standard ouvert est très mal supporté par linux (et c'est un cauchemar à configurer).
Le seul truc qui fonctionne bien est DANTE (compatible RAVENNA), mais proprio, cher, et pas supporté sous linux.
Une synthèse : après l'installation de mon système + les mises-à-jour (LinuxMint Mate Zena)

Copy to clipboard
sudo add-apt-repository ppa:damentz/liquorix sudo apt update sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64

Puis éditer :
Copy to clipboard
sudo nano /etc/default/grub

Modifier en ajoutant threadirqs
Copy to clipboard
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs" sudo update-grub


Copy to clipboard
dpkg -L pipewire-jack | grep libjack.so.0

Cette commande doit renvoyer :
Copy to clipboard
/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/libjack.so.0.3.1005 /usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/libjack.so.0

Si le renvoi est vide, il faut installer pipewire-jack puis :
Copy to clipboard
sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ ldconfig

Ensuite mettre le user dans le groupe audio et pipewire
Copy to clipboard
sudo usermod -aG audio $USER sudo usermod -aG pipewire $USER

Modifier :
Copy to clipboard
/etc/security/limits.d/25-pw-rlimits.conf

En ajoutant :
Copy to clipboard
@pipewire - rtprio 95 @pipewire - nice -19 @pipewire - memlock unlimited @audio soft memlock unlimited @audio hard memlock unlimited


Au final : créer un dossier (pas en sudo)
Copy to clipboard
mkdir -p ~/.config/pipewire/pipewire.conf.d/



CREER FICHIER audio-low-latency.conf dans ce dossier en mettant les valeurs qui conviennent :

Copy to clipboard
context.properties = { default.clock.rate = 48000 default.clock.allowed-rates = [ 44100 48000 88200 96000 ] default.clock.quantum = 128 default.clock.min-quantum = 64 default.clock.max-quantum = 1024 }

France
@pierrelo, ce sont des informations qu'il faudra reporter dans un tutoriel ou alors dans la page de la distribution en question. 😉
Bravo pour toute cette recherche.

@piratebab, je parle de réseau ethernet interne. Pas d'internet, ni de protocoles propriétaire. Il me semble que jack permettait de relier deux machines en ethernet via un réseau local sans ajout de quoi que ce soit d'autre qu'un câble standard. Sûrement que le clone chez PipeWire fait la même chose.
Tu peux me dire où ?
France
Oui, merci pierrelo pour toutes ces infos 😊

Sinon, j'ai testé Qtractor en synchro avec Rosegarden sur Mx25.1 Xfce avec Pipewire et carte son intégrée noyau Liquorix 6.18-4, impec
J'ai fait et soumis le tutoriel. Donc s'il est accepté, toute remarque sera utile.
France
Salut @pierrolo.
Tu as soumis une "nouvelle" qui est plutôt le côté webzine du site. Alors que dans ce cas, il faut "créer une page" (voir dans le bandeau orange en haut du site lorsque tu es connecté et identifié).
Je copie/colle le texte ci-dessous, dans des sections sans analyse de la syntaxe pour que tu puisses faire un simple copier/coller lors de la création de la page.



Ce tutoriel a pour but l'installation du système audio __pipewire__ sur une distribution ou il n'est pas intégré par défaut. Comme toute nouveauté, il n'est pas encore intégré par défaut dans toutes les distributions. De plus, pour la MAO il devrait remplacer à terme l'ensemble jackd2 et QjackCtrl ainsi que Pulse Audio.

Pour une transition douce, pipewire n'est pas encore intégré par défaut sur toute les distributions. Ses avantages sont qu'il gère de manière transparente les logiciels qui nécessite jack ou pulseaudio. Je parts, pour l'occasion, d'une installation fraîche d'une LinuxMint Mate Zena, la dernière en date. Cependant j'indiquerais aussi comment et à quel moment remplacer QjackCtrl si votre système Mao est déjà installé.

Après une installation standard on commence par faire les mises à jour.

Pour ma part, la première étape consiste à installer le noyau Liquorix que je trouve plus performant qu'un noyau lowlatency.
Dans un terminal :
{CODE()}sudo add-apt-repository ppa:damentz/liquorix sudo apt update sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64{CODE}
L'étape suivante consiste à paramétrer le démarrage de la machine en éditant le fichier __grub__:
{CODE()}sudo xed /etc/default/grub{CODE}
Il faut modifier la ligne {CODE()}GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" {CODE}en {CODE()}GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs"{CODE}

Une fois enregistré faite un {CODE()}sudo update-grub{CODE}

Après cela, il faut redémarrer le PC et vérifier que le noyau à bien été installé par :
{CODE()}uname -r{CODE}

Si tout est en ordre, il faut vérifier que le système {CODE()}pipewire{CODE} est installé
S'il ne l'est pas installez le en prenant soin de ne pas oublier le paquet __pipewire-jack__ qui chez moi ne s'installe pas par défaut.

Une fois cela fait il faut à nouveau vérifier que tout est bien en ordre :
{CODE()}dpkg -L pipewire-jack | grep libjack.so.0{CODE}
qui doit vous retourner comme résultat :
{CODE()}/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/libjack.so.0.3.1005 /usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/libjack.so.0{CODE}
Si le résultat est vide, cela indique qu'il manque encore des paquets.
Les deux commandes suivantes permettront que le système reconnaisse pipewire et Jack (qui est inclus dans le code pipewire)
{CODE()}sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ ldconfig{CODE}

L'étape suivante consiste à mettre votre user dans le groupe audio et dans le groupe pipewire.

{CODE()}sudo usermod -aG audio $USER sudo usermod -aG pipewire $USER{CODE}

Puis on modifie le fichier suivant :
{CODE()}sudo xed /etc/security/limits.d/25-pw-rlimits.conf{CODE}
et on ajoute :
{CODE()}@pipewire - rtprio 95 @pipewire - nice -19 @pipewire - memlock unlimited @audio soft memlock unlimited @audio hard memlock unlimited{CODE}

Au final : créer un dossier (pas en sudo)
{CODE()}mkdir -p ~/.config/pipewire/pipewire.conf.d/{CODE}

Dans ce dossier créez un fichier :
{CODE()}xed .config/pipewire/pipewire.conf.d/audio-low-latency.conf {CODE}
Dans lequel il faut copier ceci :
{CODE()}context.properties = { default.clock.rate = 48000 default.clock.allowed-rates = [ 44100 48000 88200 96000 ] default.clock.quantum =512 default.clock.min-quantum = 64 default.clock.max-quantum = 1024 } {CODE}
Pour vérifier que tout se passe bien, installez par exemple Raysession qui est un frontend permettant de gérer l'audio ainsi que le MIDI. Raysession permettra de vérifier la latence et les Xrun éventuels.
{CODE()}sudo apt install raysession{CODE}

Normalement après un redémarrage de la machine et le lancement de Raysession, tout devrait bien se passer.
Cela dit, il n'est de loin pas exclu que l'installation d'un logiciel comme un synthé virtuel ou des plugins installent dans la foulée, comme dépendance, jackd2 et QjackCtrl. Pas de panique le logiciel installé utilisera automatiquement Pipewire-Jack et donc vous n'aurez plus à revenir sur QjackCtrl. Vous pouvez parfaitement l'ignorer et surtout ne pas le lancer (impératif) puisque votre système démarrera automatiquement en jack.
Si quelque chose n'est pas clair, n'hésitez pas à demander un éclaircissement dans les commentaires.
Page: 5/5
1  2  3  4  5