Nous voyons beaucoup d'interrogations légitimes sur l'adoption ou non de Pipewire comme serveur son incontournable sur les distributions Gnu/Linux.
Loin d'être un expert, j'ai toutefois pas mal bossé par le passé dans le domaine du son et je tente de partager sur ce fil mes retours d'expériences avec ce serveur prometteur. Je compte sur vous pour enrichir efficacement ce sujet .
Voici un court descriptif issu du wiki d'Archlinux traduit en français :
En ce qui nous concerne, installer pipewire n'est pas un problème avec pacman ou pamac . Par contre, les paquets PuseAudio et Jack2 sont incompatibles avec Pipewire et doivent être désinstallés. Ce point semble un frein compréhensible et j'ai aussi été un peu retissant à franchir le pas.PipeWire est un nouveau framework multimédia de bas niveau. Il vise à offrir la capture et la lecture audio et vidéo avec une latence minimale et la prise en charge des applications basées sur PulseAudio , JACK , ALSA et GStreamer .
Le démon basé sur le framework peut être configuré pour être à la fois un serveur audio (avec les fonctionnalités PulseAudio et JACK) et un serveur de capture vidéo.
PipeWire prend également en charge les conteneurs comme Flatpak et ne repose pas sur le audio et video groupes d'utilisateurs . Au lieu de cela, il utilise un modèle de sécurité de type Polkit , demandant à Flatpak ou Wayland la permission d'enregistrer l'écran ou l'audio.
Les développeurs de Pipewire ont bien compris le problème et utilisent les bibliothèques de Jack2, de PulseAudio et de Gstreamer dans des méta-paquets permettant aux programmes comme Ardour de fonctionner comme avec le serveur Jack.
Toutefois, il faut installer aussi Wireplumber (recommandé) pour permettre de gérer les configurations de sessions.
Pour info, en [Testing] à ce jour, Ardour est à la version 7 et cette version sera très prochainement en [Stable]
Donc en gros,
sudo pacman -S pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse pipewire-docs
pulseaudia-alsa
, pulseaudio
jack2
et pulseaudio-bluetooth
dont les bibliothèques seront utilisées par Pipewire.N'ayez craintes si vous devez supprimer aussi Ardour ou autres car Jack2 est utilisé en dépendances requises. Il suffira de les réinstaller après Pipewire.
Passons à Ardour maintenant. Je précise qu'il s'agit d'un retour d'expérience et non d'un tuto exhaustif.
Une fenêtre Audio/Midi proposera de choisir le serveur son. Si vous choisissez ALSA, vous aurez les réglages classiques comme la fréquence d'échantillonnage, le tampon etc... Mais si vous avez une autre source audio active comme une vidéo sur FF ou un test d'écoute avec smplayer par exemple, il ne sortira aucun son d'Ardour...
Si vous choisissez Jack, ce qui est à mon sens une évidence, vous aurez un message de type "Jack est déjà lancé..." : aucun souci, pipewire est lancé avant Ardour, donc c'est un comportement attendu. Par contre vous n'aurez plus accès aux réglages de fréquence d'échantillonnage, tampon etc... depuis cette interface. On pourra toutefois le faire en ligne de commande.
J'ai eu aussi sur certaines sessions enregistrées auparavant un manque de son et surtout un problème d’échantillonnage . En effet avant Pipewire, j'utilisais Ardour sous ALSA avec une Freq de 44100 (qualité CD-Audio) alors que Pipewire utilise la Freq de 48000.
Il existe un moyen provisoire d'utiliser une session en 44100 en utilisant cette commande: ici je donne un tampon de 1024 (latence) et une fréquence d’échantillonnage de 44100 en indiquant Jack :
PIPEWIRE_LATENCY="1024/44100" pw-jack ardour7
cat /proc/asound/cards
, puis rentrez pw-metadata -n default <N°>
<N°> étant la position de votre carte. Normalement Pipewire redirigera le flux de sortie vers la carte choisie. Sinon, il faudra choisir la carte via les programmes concernés.Quelques avertissements plus tard, j'ai bien ma session ouverte en 44100.
Par contre le mappage son est reparti sur une configuration par défaut visant la carte interne et non ma carte Sound-Blaster.
Perso, j'ai fait un clic droit depuis la page de Mix sur le bouton [Master] > Sortie et j'ai coché les deux cases correspondant à ma carte SB.
Et j'ai du son à la bonne fréquence