Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

PipeWire est un serveur son et une interface de programmation applicative, IPA, permettant de traiter des flux audio et vidéo.




Informations


Site web officiel : https://pipewire.org/ Image .
Sources : https://gitlab.freedesktop.org/pipewire/pipewire Image .
Version actuelle : 0.3.84 du 2023 11 02.
Licence : MIT .
Plateforme : GNU Linux.
Support : ALSA, JACK, PulseAudio.
Développeur(s) : Wim Taymans.
Canal IRC : #pipewire @ OFTC Image


Description


Le serveur son PipeWire est annoncé comme le remplaçant de JACK et PulseAudio. Concernant la MAO, c'est l'implémentation de l'IPA JACK dans pipewire-jack qui va nous intéresser.
Il est encore considéré comme expérimental (octobre 2023), mais est déjà utilisable au quotidien hors du cadre Pro Audio.
PipeWire est aussi un serveur vidéo mais nous ne traiterons pas cet aspect ici.


Utilisation


PipeWire est transparent pour l'utilisateur. Une fois installé il va reconnaître et lister les périphériques audio (et vidéos) présents sur la machine. C'est en installant pipewire-alsa que l'utilisateur permet à pipewire de prendre en charge les flux audio qui viennent des applications qui utilisent la partie utilisateur d'ALSA. Il se passe la même chose lorsque pipewire-pulse et pipewire-jack sont présents sur le système.

Pipewire-alsa remplace pulseaudio-alsa, pipewire-pulse remplace pulseaudio et pipewire-jack remplace JACK. Pipewire se fait passer pour ALSA, pulseaudio et JACK auprès des applications qui envoient des flux audio vers ce système son ou ces serveurs sons.

Il y a donc différentes manières d'utiliser pipewire pour un utilisateur qui veut faire de la MAO avec son système :

En remplacement de PulseAudio et comme client de JACK


Installer pipewire, pipewire-alsa et pipewire-pulse permet de remplacer pulseaudio et pulseaudio-bluetooth par pipewire et de profiter de ses avancées en terme de performance et de baisse de consommation (processeur et énergie). On garde dans ce cas le serveur JACK comme serveur spécifique pour la MAO et la basse latence.

En remplacement de PulseAudio et JACK


Installer pipewire, pipewire-alsa, pipewire-pulse et pipewire-jack permet de donner la main à pipewire pour gérer le son multimédia et MAO.

Profil pro audio


Une fois pipewire installé, pour accéder aux configurations prévues dans pipewire pour la partie qui concerne la MAO, il vous faudra utiliser pavucontrol. Pavucontrol est le logiciel mixeur audio dédié, au départ, à PulseAudio.

Dans l'onglet configurations de pavucontrol, vous verrez apparaître un nouveau profil pour vos interfaces nommé "pro audio".
Si vous avez une interface audio habituellement utilisée par le serveur JACK, utilisez le profil pro audio lorsque vous voulez manipuler du son, faire de la MAO. Celui-ci réglera pipewire en mode ordonnancement basé sur les IRQ (comme JACK) au lieu de celui basé sur le temps et vous aurez alors accès à toutes les entrées et sorties disponibles sur votre interface.


Pilotage avec une interface graphique


Il est possible de piloter certains paramètres de pipewire avec de logiciels qui proposent une interface graphique.

qjackctl


Si vous avez vos habitudes avec qjackctl, vous pouvez l'utiliser avec pipewire-jack. Vous ne pourrez pas modifier les paramètres de pw-jack, mais vous aurez par exemple accès au graphe de connexion, et à l'enregistrement de configuration.

qjackctl et debian


La dépendance stricte sur JACK n'a pas encore été levée sur Debian. Pour installer qjackctl sans réinstaller JACK, il faut leurrer les dépendances de ce paquet avec equivs , que vous devrez installer.

Créez un fichier jackd2
Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: jackd2
Version: 1.9.21
Maintainer: Dummy MAO
Provides: jackd2
Description:dummy jackd2 package used to install jack tools with pw-jack (ieqjackctl)

compilez le avec
equivs-build jackd2


Installer votre paquet avec dpkg -i
Pensez à bloquer la version afin qu'une mise à jour du paquet dans les dépôts Debian ne vienne pas écraser votre fichier leurre
apt-mark hold jackd2


Faites la même chose pour créer un paquet jackd

Vous pouvez maintenant installer le paquet qjackctl de façon classique.



Pilotage en ligne de commande


pw-cli


pw-cli est un utilitaire pour interagir avec le service pipewire.
À ce jour pw-cli propose les commandes suivantes :

pipewire-0>> help
Available commands:
	help | h            	Show this help
	load-module | lm    	Load a module. <module-name> [<module-arguments>]
	unload-module | um  	Unload a module. <module-var>
	connect | con       	Connect to a remote. [<remote-name>]
	disconnect | dis    	Disconnect from a remote. [<remote-var>]
	list-remotes | lr   	List connected remotes.
	switch-remote | sr  	Switch between current remotes. [<remote-var>]
	list-objects | ls   	List objects or current remote. [<interface>]
	info | i            	Get info about an object. <object-id>|all
	create-device | cd  	Create a device from a factory. <factory-name> [<properties>]
	create-node | cn    	Create a node from a factory. <factory-name> [<properties>]
	destroy | d         	Destroy a global object. <object-id>
	create-link | cl    	Create a link between nodes. <node-id> <port-id> <node-id> <port-id> [<properties>]
	export-node | en    	Export a local node to the current remote. <node-id> [remote-var]
	enum-params | e     	Enumerate params of an object <object-id> <param-id>
	set-param | s       	Set param of an object <object-id> <param-id> <param-json>
	permissions | sp    	Set permissions for a client <client-id> <object> <permission>
	get-permissions | gp	Get permissions of a client <client-id>
	send-command | c    	Send a command <object-id>
	quit | q            	Quit


doc pw-cli Image


Gérer les connexions

Les connexions sont normalement gérées par un gestionnaire de connexions, mais si vous voulez scripter les connexions/deconnexions, vous pouvez utiliser pw-link
pw-link --help
pw-link : PipeWire port and link manager.
Generic: pw-link [options]
  -h, --help                            Show this help
      --version                         Show version
  -r, --remote=NAME                     Remote daemon name
List: pw-link [options] [out-pattern] [in-pattern]
  -o, --output                          List output ports
  -i, --input                           List input ports
  -l, --links                           List links
  -m, --monitor                         Monitor links and ports
  -I, --id                              List IDs
  -v, --verbose                         Verbose port properties
Connect: pw-link [options] output input
  -L, --linger                          Linger (default, unless -m is used)
  -P, --passive                         Passive link
  -p, --props=PROPS                     Properties as JSON object
Disconnect: pw-link -d [options] output input
            pw-link -d [options] link-id
  -d, --disconnect                      Disconnect ports


doc pw-link Image


pw-jack


PipeWire fourni un remplaçant au serveur de son jack bien connu par tout ceux qui manipulent du son sous linux. pw-jack vous permet par exemple de définir la fréquence d’échantillonnage.

pw-jack -h
/usr/bin/pw-jack - run JACK applications on PipeWire
 
/usr/bin/pw-jack [options] application [arguments]
 
options:
	-h                  show brief help
	-r <remote>         remote daemon name
	-v                  verbose debug info
	-s                  samplerate (default "48000")
	-p                  period in samples



doc pw-jack Image


pw-top


pw-top offre une vue en temps réel de l'activité des "devices" et "node" de pipewire.
Voici la liste des infos disponibles
S   ID  QUANT   RATE    WAIT    BUSY   W/Q   B/Q  ERR FORMAT           NAME

Vous y verrez chacune de vos connexions, avec sa fréquence d’échantillonnage par exemple
man pw-top
pour plus d'infos


wpctl status

Cette commande vous donnera des infos sur votre système audio avec pipewire (clients et flux audio)


Installation

[+]

Liens et commentaires

Fils de discussion :


Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]


Mégaphone [Afficher / Cacher]

tongo, 18:59, lun. 27 Nov 2023: DTSSSE ouvre un fil dans le forum quelqu'un a surement la réponse , je suis pas sur qu'on te réponde sur le mégaphone ..
DTSSSE, 10:49, lun. 27 Nov 2023: Bonjour, j'ai oublié nom utilisateur et mot de passe pour entrer dans Librazik 4 : d'habitude je n'ai pas à le faire. Une idée pour me désembourber ? Merci
calixtus06, 11:31, dim. 26 Nov 2023: Bonjour et bienvenue à pierrec69 et manudalbi :-)
calixtus06, 15:44, lun. 20 Nov 2023: Bonjour et bienvenue à davidsmith97, JackMartin, Lerikou33 :-)
calixtus06, 10:35, jeu. 16 Nov 2023: Bonjour et bienvenue à marjos,barbarouleur, onin1959 :
calixtus06, 22:26, sam. 11 Nov 2023: Bonjour et bienvenue à julienlevasseur :-)
olinuxx, 21:37, jeu. 09 Nov 2023: Bonjour et bienvenue à Chaosphere cool
allany, 09:14, lun. 06 Nov 2023: Kiff total, c'est l'éditorial ! [Lien]
olinuxx, 17:59, dim. 05 Nov 2023: Bonjour et bienvenue à jeannot cool
calixtus06, 09:12, sam. 04 Nov 2023: Bonjour et bienvenue à davidsmith97 :-)
calixtus06, 14:15, jeu. 02 Nov 2023: Bonjour et bienvenue à scab347 :-)
calixtus06, 08:42, jeu. 26 Oct 2023: Bonjour et bienvenue à Groot :-)