Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pipewire [Le 11/12/2025, 13:17] – [PipeWire] lien serveur de son krodelabestiolepipewire [Le 20/04/2026, 21:57] (Version actuelle) – détails copwr krodelabestiole
Ligne 1: Ligne 1:
 {{tag>Kinetic multimédia audio vidéo mao}} {{tag>Kinetic multimédia audio vidéo mao}}
  
-{{ :logo:pipewire.png?100| logo de PipeWire}}+{{ :logo:pipewire.png?100|Logo de PipeWire}}
 ====== PipeWire ====== ====== PipeWire ======
  
Ligne 10: Ligne 10:
 Il remplace [[:PulseAudio]], le serveur de son installé par défaut jusqu'à [[:jammy|Ubuntu Jammy 22.04]]. Il propose en plus les fonctionnalités avancées utiles dans le domaine de la [[:MAO]] que proposait jusqu'ici le serveur [[:jackd|JACK]], qu'il remplace aussi, avec une configuration simplifiée. Il rend possible l'utilisation simultanée de n'importe lesquels de ses logiciels et appareils audio. On peut par exemple pré-écouter un flux audio sur des oreillettes bluetooth tandis qu'on en diffuse un autre sur la carte son intégrée à son ordinateur, le tout en enregistrant le micro de sa webcam dans [[:Audacity]]... Il remplace [[:PulseAudio]], le serveur de son installé par défaut jusqu'à [[:jammy|Ubuntu Jammy 22.04]]. Il propose en plus les fonctionnalités avancées utiles dans le domaine de la [[:MAO]] que proposait jusqu'ici le serveur [[:jackd|JACK]], qu'il remplace aussi, avec une configuration simplifiée. Il rend possible l'utilisation simultanée de n'importe lesquels de ses logiciels et appareils audio. On peut par exemple pré-écouter un flux audio sur des oreillettes bluetooth tandis qu'on en diffuse un autre sur la carte son intégrée à son ordinateur, le tout en enregistrant le micro de sa webcam dans [[:Audacity]]...
  
-Il dispose de plus des couches de rétro-compatibilité avec les serveurs de son ALSA, [[:PulseAudio]], et [[:jackd|JACK]].\\ +Il dispose de plus des couches de rétro-compatibilité avec les serveurs de son [[:ALSA]], [[:PulseAudio]], et [[:jackd|JACK]].\\ 
-Pour en bénéficier il faut [[:tutoriel:comment_installer_un_paquet|installer les paquets]] ''[[apt>pipewire-alsa]]'', ''[[apt>pipewire-pulse]]'' et ''[[apt>pipewire-jack]]''. Grâce à ces paquets, les applications compatibles voient respectivement des serveurs ALSA, [[:PulseAudio]], ou [[:jackd|JACK]] tourner, et peuvent s'y connecter. Il s'agit en fait à chaque fois de PipeWire.+Pour en bénéficier il faut [[:deb#installer_un_paquet_deb|installer les paquets]] ''[[apt>pipewire-alsa]]'', ''[[apt>pipewire-pulse]]'' et ''[[apt>pipewire-jack]]''. Grâce à ces paquets, les applications compatibles voient respectivement des serveurs [[:ALSA]], [[:PulseAudio]], ou [[:jackd|JACK]] tourner, et peuvent s'y connecter. Il s'agit en fait à chaque fois de PipeWire.
  
 PipeWire dispose aussi de fonctionnalités permettant de gérer des flux vidéo, utiles par ex. pour des applications de //[[:streaming]]//. PipeWire dispose aussi de fonctionnalités permettant de gérer des flux vidéo, utiles par ex. pour des applications de //[[:streaming]]//.
Ligne 18: Ligne 18:
  
 **PipeWire** est installé par défaut sur Ubuntu à partir de la version [[:jammy|Jammy 22.04.4]].\\ **PipeWire** est installé par défaut sur Ubuntu à partir de la version [[:jammy|Jammy 22.04.4]].\\
-Si ce n'est pas le cas, quelle qu'en soit la raison, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>pipewire]]''.+Si ce n'est pas le cas, quelle qu'en soit la raison, il suffit d'[[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>pipewire]]''.
  
 On trouve aussi le paquet ''[[apt>pipewire-pulse]]''(([[:depots#sections_universe_et_multiverse_maintenues_par_les_motu|dépôt universe]] pour [[:jammy|Jammy 22.04]])) qui fournit la rétro-compatibilité pour les applications implémentant [[:PulseAudio]]. Il risque donc d'être indispensable pendant encore un certain temps... On trouve aussi le paquet ''[[apt>pipewire-pulse]]''(([[:depots#sections_universe_et_multiverse_maintenues_par_les_motu|dépôt universe]] pour [[:jammy|Jammy 22.04]])) qui fournit la rétro-compatibilité pour les applications implémentant [[:PulseAudio]]. Il risque donc d'être indispensable pendant encore un certain temps...
  
-Vous pouvez si besoin installer les paquets ''[[apt>pipewire-jack]]'' pour profiter des applications compatibles [[:jackd|JACK]], et ''[[apt>pipewire-alsa]]'' pour intégrer celles censées se connecter directement au serveur de son d'ALSA.((Ces paquets sont fournis par le [[:depots#sections_universe_et_multiverse_maintenues_par_les_motu|dépôt universe]].))+Vous pouvez si besoin installer les paquets ''[[apt>pipewire-jack]]'' pour profiter des applications compatibles [[:jackd|JACK]], et ''[[apt>pipewire-alsa]]'' pour intégrer celles censées se connecter directement au serveur de son d'[[:ALSA]].((Ces paquets sont fournis par le [[:depots#sections_universe_et_multiverse_maintenues_par_les_motu|dépôt universe]].))
  
 <note tip> <note tip>
-Avec ''[[apt>pipewire-pulse]]'' et ''[[apt>pipewire-jack]]'', il est conseillé de [[:tutoriel:comment_supprimer_un_paquet|désinstaller]] respectivement [[:PulseAudio]] (paquet ''pulseaudio'') et [[:jackd|JACK]] (paquet ''jackd''), qui deviennent inutiles, et peuvent être gênants.+Avec ''[[apt>pipewire-pulse]]'' et ''[[apt>pipewire-jack]]'', il est conseillé de [[:deb#desinstaller_un_paquet_deb|désinstaller]] respectivement [[:PulseAudio]] (paquet ''pulseaudio'') et [[:jackd|JACK]] (paquet ''jackd''), qui deviennent inutiles, et peuvent être gênants.
 </note> </note>
  
Ligne 39: Ligne 39:
 ==== Focal 20.04 ==== ==== Focal 20.04 ====
  
-Sur ces versions plus anciennes il est possible d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>pipewire]]'' depuis les dépôts officiels à partir de [[:focal|Focal 20.04]] ([[:depots#sections_universe_et_multiverse_maintenues_par_les_motu|dépôt universe]] pour cette version précise).+Sur ces versions plus anciennes il est possible d'[[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>pipewire]]'' depuis les dépôts officiels à partir de [[:focal|Focal 20.04]] ([[:depots#sections_universe_et_multiverse_maintenues_par_les_motu|dépôt universe]] pour cette version précise).
  
 === Installer le gestionnaire WirePlumber (recommandé) === === Installer le gestionnaire WirePlumber (recommandé) ===
Ligne 47: Ligne 47:
 Pour installer **WirePlumber** sur ces anciennes versions d'Ubuntu, il faut [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|ajouter le PPA]] ''ppa:pipewire-debian/wireplumber-upstream''((https://launchpad.net/~pipewire-debian/+archive/ubuntu/wireplumber-upstream)). Pour installer **WirePlumber** sur ces anciennes versions d'Ubuntu, il faut [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|ajouter le PPA]] ''ppa:pipewire-debian/wireplumber-upstream''((https://launchpad.net/~pipewire-debian/+archive/ubuntu/wireplumber-upstream)).
  
-[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] additionnels de PipeWire : ''[[apt>gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}}]]''.+[[:deb#installer_un_paquet_deb|Installez les paquets]] additionnels de PipeWire : ''[[apt>gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}}]]''.
  
 Installez le gestionnaire de session ''[[apt>wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev}]]''. Installez le gestionnaire de session ''[[apt>wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev}]]''.
  
-Maintenant, cachez votre ancien serveur de son **PulseAudio**.((Voir étape 3a de [[https://github.com/pipewire-debian/pipewire-debian#1-add-the-launchpad-ppa|la documentation officielle]].))+Maintenant, cachez votre ancien serveur de son **PulseAudio**.((Voir étape 3a de [[https://github.com/pipewire-debian/pipewire-debian?tab=readme-ov-file#a-disabling-pulseaudio|la documentation officielle]].))
  
 <note tip>Il n'est pas indispensable de supprimer **PulseAudio** pour le remplacer par **PipeWire**.</note> <note tip>Il n'est pas indispensable de supprimer **PulseAudio** pour le remplacer par **PipeWire**.</note>
Ligne 60: Ligne 60:
 </code> </code>
  
-Lancez cette commande pour autoriser et lancer PipeWire.((Voir étape 3b de [[https://github.com/pipewire-debian/pipewire-debian#1-add-the-launchpad-ppa|la documentation officielle]].))+Lancez cette commande pour autoriser et lancer PipeWire.((Voir étape 3b de [[https://github.com/pipewire-debian/pipewire-debian?tab=readme-ov-file#b-enabling-pipewire-related-stuff|la documentation officielle]].))
 <code> <code>
 systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain
Ligne 76: Ligne 76:
 <note>Il est aussi possible d'installer **PipeWire** et tous ses outils sur des versions plus anciennes qui ne les incluent pas dans les dépôts par défaut, à partir d'Ubuntu [[:bionic|Bionic 18.04]]. <note>Il est aussi possible d'installer **PipeWire** et tous ses outils sur des versions plus anciennes qui ne les incluent pas dans les dépôts par défaut, à partir d'Ubuntu [[:bionic|Bionic 18.04]].
  
-Il faut pour cela [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|ajouter les PPA]] **ppa:pipewire-debian/pipewire-upstream**((https://launchpad.net/~pipewire-debian/+archive/ubuntu/pipewire-upstream)) et **ppa:pipewire-debian/wireplumber-upstream**((https://launchpad.net/~pipewire-debian/+archive/ubuntu/wireplumber-upstream)) dans vos sources de logiciels.+Il faut pour cela [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|ajouter les PPA]] ''ppa:pipewire-debian/pipewire-upstream''((https://launchpad.net/~pipewire-debian/+archive/ubuntu/pipewire-upstream)) et ''ppa:pipewire-debian/wireplumber-upstream''((https://launchpad.net/~pipewire-debian/+archive/ubuntu/wireplumber-upstream)) dans vos sources de logiciels.
  
 Voir ici la documentation en anglais à ce sujet : https://pipewire-debian.github.io/pipewire-debian/</note> Voir ici la documentation en anglais à ce sujet : https://pipewire-debian.github.io/pipewire-debian/</note>
Ligne 98: Ligne 98:
 Il existe différentes interfaces graphiques permettant de gérer **PipeWire** : Il existe différentes interfaces graphiques permettant de gérer **PipeWire** :
   * les [[:environnements|environnements de bureau]] d'Ubuntu ([[:GNOME]], [[:KDE]], etc.) prennent en charge les fonctionnalités de base de **PipeWire** : gestion du volume depuis les boutons multimédia du clavier ou des raccourcis sur la [[:gnome-shell#barre supérieure]] (ou barre de tâches), choix des entrées et sorties audio par défaut au moins dans les [[:gnome-control-center|paramètres système]].   * les [[:environnements|environnements de bureau]] d'Ubuntu ([[:GNOME]], [[:KDE]], etc.) prennent en charge les fonctionnalités de base de **PipeWire** : gestion du volume depuis les boutons multimédia du clavier ou des raccourcis sur la [[:gnome-shell#barre supérieure]] (ou barre de tâches), choix des entrées et sorties audio par défaut au moins dans les [[:gnome-control-center|paramètres système]].
-  * pour une gestion beaucoup plus complète, **[[https://github.com/dimtpap/coppwr|coppwr]]** fournit un accès à quantité d'informations et de réglages de bas niveau. Il propose entre autre un //graph// pour configurer le [[#routage]]. **coppwr** est  disponible en [[:flatpak]] sur le dépôt [[https://flathub.org/apps/io.github.dimtpap.coppwr|Flathub]] et peut donc s'installer en suivant [[:tutoriel:installer_application_flatpak|cette procédure]] puis en installant le paquet ''io.github.dimtpap.coppwr''+ 
-  * **[[https://github.com/rncbc/qpwgraph|qpwgraph]]** est probablement l'interface la plus utilisée pour [[#router]] les signaux audio, vidéo et [[:MIDI]] (utilise la bibliothèque [[:Qt]])+  **[[#qpwgraph]]** est probablement l'interface la plus utilisée pour [[#router]] les signaux audio, vidéo et [[:MIDI]] (utilise la bibliothèque [[:Qt]]). 
-  * **[[https://gitlab.freedesktop.org/pipewire/helvum|Helvum]]** est une alternative à **qpwgraph**, également consacrée au [[#routage]], utilisant la bibliothèque [[:GTK]].+ 
 +  * **[[#Cable]]** permet de définir la résolution de travail de **PipeWire** (voir //[[#Optimisation]]//), ainsi que de choisir facilement **différents profils** pour ses interfaces audio. Il offre aussi un //graph// pour le [[#routage]], un //mixer//, une visualisation de ''[[man>pw-top]]'', et la gestion de la latence. Il est disponible en [[:deb]] isoléen [[:Appimage]], ou en [[:Flatpak]] isolé sur son [[https://github.com/magillos/Cable/releases|GitHub]]. 
 + 
 +  * **[[https://github.com/dimtpap/coppwr|coppwr]]** fournit une gestion extrêmement complète, et donne accès à quantité d'informations et de réglages de bas niveau. Il est cependant moins //user friendly// que [[#cable]], par exemple. Il propose entre autre un //graph// pour configurer le [[#routage]]. **coppwr** est  disponible en [[:flatpak]] sur le dépôt [[https://flathub.org/fr/apps/io.github.dimtpap.coppwr|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''io.github.dimtpap.coppwr''. 
 + 
 +  * **[[https://gitlab.freedesktop.org/pipewire/helvum|Helvum]]** est une alternative à **[[#qpwgraph]]**, également consacrée au [[#routage]], utilisant la bibliothèque [[:GTK]]. 
 + 
 +  * **[[https://github.com/saivert/pwvucontrol|pwvucontrol]]** se propose de remplacer **[[pavucontrol]]** pour PipeWire (gestion du mixage et divers paramètres). Il est disponible en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/com.saivert.pwvucontrol|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''com.saivert.pwvucontrol''
 + 
 +  * **[[https://github.com/dyegoaurelio/simple-wireplumber-gui|Simple Wireplumber GUI]]** permet de renommer ses périphériques audio et d'afficher leurs propriétés. Il est disponible en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/io.github.dyegoaurelio.simple-wireplumber-gui|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''io.github.dyegoaurelio.simple-wireplumber-gui''
 + 
 +  * **[[https://codeberg.org/sonusmix/sonusmix|Sonusmix]]** propose des fonctionnalités de mixage proches de **pwvucontrol**, avec la possibilité de personnaliser plus finement l'interface, ce qui le rend probablement moins intuitif. Il est distribué en [[:Flatpak]] et en [[:Appimage]] sur [[https://codeberg.org/sonusmix/sonusmix/releases|son site]]. 
   * de nombreuses [[:extensions-gnome|extensions de GNOME]] permettent d'accéder facilement et graphiquement à certaines fonctionnalités particulières de **PipeWire**, voir le [[https://extensions.gnome.org/#search=pipewire|site des extensions]].   * de nombreuses [[:extensions-gnome|extensions de GNOME]] permettent d'accéder facilement et graphiquement à certaines fonctionnalités particulières de **PipeWire**, voir le [[https://extensions.gnome.org/#search=pipewire|site des extensions]].
  
Ligne 107: Ligne 119:
 En plus d'utiliser simultanément plusieurs logiciels et interfaces matérielles, PipeWire permet de les relier ensemble dans n'importe quel sens, à la manière d'un studio virtuel. En plus d'utiliser simultanément plusieurs logiciels et interfaces matérielles, PipeWire permet de les relier ensemble dans n'importe quel sens, à la manière d'un studio virtuel.
  
-On peut gérer ces connexions en ligne de commande mais il est probablement beaucoup plus pratique d'utiliser une [[#interfaces graphiques|interface graphique]], telle que [[https://gitlab.freedesktop.org/rncbc/qpwgraph|qpwgraph]], qui remplace avantageusement [[:QjackCtl]] (qu'on utilisait pour [[:jackd|JACK]]). +On peut gérer ces connexions en ligne de commande mais il est probablement beaucoup plus pratique d'utiliser une [[#interfaces graphiques|interface graphique]], telle que [[#qpwgraph]] ou [[#Cable]], qui remplacent avantageusement [[:QjackCtl]] (qu'on utilisait pour [[:jackd|JACK]]).
  
-**qpwgraph** est disponible depuis les dépots officiels : ''[[apt>qpwgraph]]'' ou en [[https://flathub.org/apps/details/org.rncbc.qpwgraph|Flatpak]].+Par ailleurs il n'est absolument pas indispensable d'utiliser d'interface de ce type. Les simples connexions sont gérées automatiquement depuis les paramètres de l'[[:environnements|environnement de bureau]] : en choisissant une sortie audio dans le [[:gnome-shell#le_menu_systeme|menu système de GNOME]], ou dans [[:gnome-control-center|GNOME Paramètres]] -> //Son// par ex., les applications du bureau (tels que le navigateur internet ou les lecteurs audio ou vidéo) se connecteront automatiquement au périphérique audio sélectionné. **[[#qpwgraph]]**, **[[#Cable]]** ou **[[https://github.com/dimtpap/coppwr|coppwr]]** peuvent permettre de visualiser ce comportement. 
 + 
 +<note tip> 
 +On peut aussi visualiser les connexions actives au moyen de la commande : 
 +<code>wpctl status</code> 
 +Chaque connexion est un "//Stream//" représenté par ''source > destination''
 +</note> 
 + 
 +{{ :icons:qpwgraph.png?90|Icône de qpwgraph}} 
 +=== qpwgraph === 
 + 
 +**[[https://github.com/rncbc/qpwgraph|qpwgraph]]**(([[https://gitlab.freedesktop.org/rncbc/qpwgraph|GitLab Freedesktop]])) est disponible depuis les dépots officiels : ''[[apt>qpwgraph]]'' ou en [[https://flathub.org/fr/apps/org.rncbc.qpwgraph|Flatpak]].
  
 Chaque élément (matériel ou logiciel) apparaît comme un bloc avec ses entrées à gauche et ses sorties à droite. On peut les relier les unes aux autres en tirant des liens par cliquer-glisser. Les liens peuvent ainsi conduire des signaux d'un logiciel ou d'un périphérique à l'autre. Des signaux : Chaque élément (matériel ou logiciel) apparaît comme un bloc avec ses entrées à gauche et ses sorties à droite. On peut les relier les unes aux autres en tirant des liens par cliquer-glisser. Les liens peuvent ainsi conduire des signaux d'un logiciel ou d'un périphérique à l'autre. Des signaux :
Ligne 116: Ligne 139:
   * ou vidéo (en bleu)   * ou vidéo (en bleu)
  
-{{:captures:qpwgraph_screenshot-1.png?400|}} +{{:captures:qpwgraph_screenshot-1.png?600|}}
- +
-Il n'est pas indispensable d'utiliser cette interface. Les simples connexions sont gérées automatiquement depuis les paramètres de l'[[:environnements|environnement de bureau]] : en choisissant une sortie audio dans le [[:gnome-shell#le_menu_systeme|menu système de GNOME]] par ex., les logiciels du bureau (tels que le navigateur internet ou les lecteurs audio ou vidéo) se connecteront automatiquement au périphérique audio sélectionné. **qpwgraph** peut permettre de visualiser ce comportement.+
  
 Le routage vidéo permet de diriger le ou les flux vidéo de webcams, de cartes d'[[:capture_video|acquisition vidéo]], ou de lecteurs vidéos, vers un ou des logiciel(s) de //streaming// (tel que [[:OBS]]), ou de capture ([[:VJing]] ou enregistrement), ou autres logiciels multimédia en temps réel. Le routage vidéo permet de diriger le ou les flux vidéo de webcams, de cartes d'[[:capture_video|acquisition vidéo]], ou de lecteurs vidéos, vers un ou des logiciel(s) de //streaming// (tel que [[:OBS]]), ou de capture ([[:VJing]] ou enregistrement), ou autres logiciels multimédia en temps réel.
 +
 +
 +{{ :icons:cable.png?90|Icône de Cable}}
 +=== Cable ===
 +
 +**[[https://github.com/magillos/Cable|Cable]]** permet de définir la résolution de travail de **PipeWire** (voir //[[#Optimisation]]//), ainsi que de choisir facilement **différents profils** pour ses interfaces audio.\\
 +Il offre aussi un //graph// pour le [[#routage]], un //mixer// [[:ALSA]], une visualisation de ''[[man>pw-top]]'', et des tests de latence.
 +
 +Il est disponible en [[:deb]] isolé, en [[:Appimage]], ou en [[:Flatpak]] isolé sur son [[https://github.com/magillos/Cable/releases/latest|GitHub]].((Voir si besoin son //[[https://github.com/magillos/Cable/blob/main/README.md|README]]// pour la liste des dépendances à installer : ''[[apt>python3-jack-client libqt6svg6 jack-delay python3-pyqt6 python3-dbus python3-requests python3-packaging aj-snapshot python3-alsaaudio pipewire-jack]]''.)) (Utilise [[:Python]] et [[:Qt]].)
 +
 +Pour installer la version [[:deb]] (voir //[[:installer_un_paquet_deb#Installer un paquet isolé]]//) :
 +  wget https://github.com/magillos/Cable/releases/download/0.10.5/Cable-0.10.5.deb
 +  sudo apt install ./Cable-0.10.5.deb
 +-- À adapter en fonction de la dernière version disponible sur [[https://github.com/magillos/Cable/releases/latest|GitHub]].\\
 +On peut aussi mettre l'application à jour avec le bouton //Settings// sur la fenêtre d'accueil -> //Check for new version//.
 +
 +{{:captures:cable_home.png?300|Cable - accueil}}
 +
 +En bas de la page d'accueil de **Cable**, cliquer sur le bouton //Cables// pour ouvrir la fenêtre principale de l'application.
  
 <note tip> <note tip>
-On peut aussi visualiser ces connexions actives sans passer par **qpwgraph** au moyen de la commande +On peut aussi changer l'interface pour avoir la fenêtre d'accueil intégrée comme les autres onglets, et donc tout dans une fenêtre unique :\\ 
-<code>wpctl status</code> +cliquer sur le bouton //Settings// en bas de la fenêtre d'accueil -puis cocher //Integrate Cable and Cables//.
-Chaque connexion est un "//Stream//" représenté par ''source destination''.+
 </note> </note>
 +
 +{{:captures:cable_graph.png?700|Cable - graph}}
 +
 +L'onglet //Graph// permet d'afficher une interface similaire à [[#qpwgraph]] :\\
 +Chaque élément (matériel ou logiciel) apparaît comme un bloc avec ses entrées à gauche et ses sorties à droite. On peut les relier les unes aux autres en tirant des liens par cliquer-glisser. Les liens peuvent ainsi conduire des flux d'un logiciel ou d'un périphérique à l'autre. Des flux audio (en bleu) et [[:MIDI]] JACK (en rouge).
  
 ==== Optimisation ==== ==== Optimisation ====
Ligne 143: Ligne 187:
  
 Il est possible de modifier ces paramètres sans éditer de fichier ou entrer la moindre ligne de commande : Il est possible de modifier ces paramètres sans éditer de fichier ou entrer la moindre ligne de commande :
-  * soit au moyen de **[[https://extensions.gnome.org/extension/7699/pipewire-settings/|Pipewire Settings]]**une [[:extensions-gnome|extension GNOME]] très simple et dédiée spécifiquement à ces réglages (sélectionner //Persist settings// pour conserver les réglages pour les prochaines sessions)((Merci à socratisator [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22838522#p22838522|sur le forum]] pour la découverte de cette extension !))+  * **[[https://extensions.gnome.org/extension/7699/pipewire-settings/|Pipewire Settings]]** est une [[:extensions-gnome|extension GNOME]] très simple et dédiée spécifiquement à ces réglages (sélectionner //Persist settings// pour conserver les réglages pour les prochaines sessions)((Merci à socratisator [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22838522#p22838522|sur le forum]] pour la découverte de cette extension !)) 
 + 
 +  * La fenêtre d'accueil de **[[#Cable]]** permet d'ajuster ces paramètres très simplement quel que soit l'[[:environnements|environnement de bureau]], et de relancer **PipeWire** après modification. Un vumètre affiche le chargement DSP (la puce dédiée au traitement audio).
  
-  * soit au moyen de **[[https://github.com/dimtpap/coppwr|coppwr]]**, l'[[#Interfaces graphiques|interface graphique]] actuellement la plus puissante pour PipeWire.\\ On trouvera ces paramètres dans le menu //Tools// -> //Context Manager//.\\ On peut d'ici ajuster entre autres les propriétés //default.clock.rate// et //default.clock.quantum//.\\ Une fois les valeurs entrées, n'oubliez pas de cliquer sur //Update properties// !+  * **[[https://github.com/dimtpap/coppwr|coppwr]]**, l'[[#Interfaces graphiques|interface graphique]] actuellement la plus puissante pour PipeWire.\\ On trouvera ces paramètres dans le menu //Tools// -> //Context Manager//.\\ On peut d'ici ajuster entre autres les propriétés //default.clock.rate// et //default.clock.quantum//.\\ Une fois les valeurs entrées, n'oubliez pas de cliquer sur //Update properties// !
  
 === En ligne de commande === === En ligne de commande ===
Ligne 153: Ligne 199:
 pw-metadata -n settings 0 clock.force-quantum <buffersize> pw-metadata -n settings 0 clock.force-quantum <buffersize>
 </code> </code>
-  * Remplacer ''<samplerate>'' par la fréquence d’échantillonnage désirée. Plus cette taille est élevée meilleure est la qualité (théorique), plus courte est la latence, mais plus haute est la consommation CPU. Les interfaces audio utilisent généralement des fréquences de 41000 Hz, 48000 Hz, ou 96000 Hz. 48000 Hz est généralement une valeur correcte, sachant que l'oreille humaine n'entend pas de fréquence supérieure à 20000 Hz.((Les valeurs supérieures sont principalement des arguments //marketing//.))+  * Remplacer ''<samplerate>'' par la **[[wpfr>fréquence d’échantillonnage]]** désirée. Plus cette taille est élevée meilleure est la qualité (théorique), plus courte est la latence, mais plus haute est la consommation CPU. Les interfaces audio utilisent généralement des fréquences de 44100 Hz, 48000 Hz, ou 96000 Hz (voire 192 kHz). 48000 Hz est généralement une valeur correcte, sachant que l'oreille humaine n'entend pas de fréquence supérieure à 20000 Hz, et qu'on peut reproduire cette fréquence en échantillonnant au double (donc à 40 kHz). À moins de vouloir enregistrer les chauves-souris, l'échantillonnage à des valeurs supérieures est donc principalement un argument //marketing//.
  
-  * Remplacer ''<buffersize>'' par la taille de tampon (en nombre de //samples//). Cette valeur doit être une puissance de 2. Plus cette taille est réduite, plus courte est la latence, mais plus haute est la consommation CPU (pas d'impact sur la qualité). Si on ne traite pas d'audio en temps réel (simple lecture [[:multimédia]]), une valeur de 2048 samples sera très confortable pour le processeur (au détriment d'une latence de 64 ms à 48 kHz).\\ ''quantum'' correspond ici à la taille de tampon (que les anglophones appellent généralement plutôt //buffer size//).+  * Remplacer ''<buffersize>'' par la **[[wpfr>Son_numérique_(musique)#Asynchrone|taille de tampon]]** (en nombre de //samples//). Cette valeur doit être une puissance de 2. Plus cette taille est réduite, plus courte est la latence, mais plus haute est la consommation CPU (pas d'impact sur la qualité). Si on ne traite pas d'audio en temps réel (simple lecture [[:multimédia]]), une valeur de 2048 samples sera très confortable pour le processeur (au détriment d'une latence de 64 ms à 48 kHz).\\ ''quantum'' correspond ici à la taille de tampon (que les anglophones appellent généralement plutôt //buffer size//).
 <note>Pour les cartes sons USB, certaines combinaisons de //samplerate// / //buffersize// sont préférables à d'autres : voir sur [[https://wiki.linuxaudio.org/wiki/list_of_jack_frame_period_settings_ideal_for_usb_interface|cette page]] //(en)// les combinaisons indiquées en gras.</note> <note>Pour les cartes sons USB, certaines combinaisons de //samplerate// / //buffersize// sont préférables à d'autres : voir sur [[https://wiki.linuxaudio.org/wiki/list_of_jack_frame_period_settings_ideal_for_usb_interface|cette page]] //(en)// les combinaisons indiquées en gras.</note>
  
Ligne 294: Ligne 340:
   * La commande <code>fuser -v /dev/snd/*</code> indique également si on utilise PipeWire et WirePlumber, ou autre serveur de son et [[#gestionnaire de session]].   * La commande <code>fuser -v /dev/snd/*</code> indique également si on utilise PipeWire et WirePlumber, ou autre serveur de son et [[#gestionnaire de session]].
  
-  * Pour obtenir des informations sur votre installation audio, vous pouvez aussi [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>inxi]]'' et lancer la commande : <code>inxi -A</code>+  * Pour obtenir des informations sur votre installation audio, vous pouvez aussi [[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>inxi]]'' et lancer la commande : <code>inxi -A</code>
  
   * La commande <code>systemctl --user status pipewire</code> donnera aussi de nombreuses informations sur l'état du serveur.   * La commande <code>systemctl --user status pipewire</code> donnera aussi de nombreuses informations sur l'état du serveur.
Ligne 325: Ligne 371:
   * de nombreuses informations souvent valables aussi pour Ubuntu (mais en anglais), sur la [[https://wiki.archlinux.org/title/PipeWire|documentation de Arch Linux]]   * de nombreuses informations souvent valables aussi pour Ubuntu (mais en anglais), sur la [[https://wiki.archlinux.org/title/PipeWire|documentation de Arch Linux]]
   * **(//en//)** [[https://github.com/mikeroyal/PipeWire-Guide|Guide sur l'écosystème de PipeWire]]   * **(//en//)** [[https://github.com/mikeroyal/PipeWire-Guide|Guide sur l'écosystème de PipeWire]]
-  * [[https://youtu.be/lTv2jJDcPns|Cette vidéo]] en français explique PipeWire, ALSA, [[:PulseAudio]] et [[:jackd|JACK]]. À noter toutefois que PipeWire est désormais aussi performant que [[:jackd|JACK]] (depuis la sortie de la version 1), et qu'il est lui-même un //[[:services|daemon]]//.+  * [[https://youtu.be/lTv2jJDcPns|Cette vidéo]] en français explique PipeWire, [[:ALSA]], [[:PulseAudio]] et [[:jackd|JACK]]. À noter toutefois que PipeWire est désormais aussi performant que [[:jackd|JACK]] (depuis la sortie de la version 1), et qu'il est lui-même un //[[:services|daemon]]//.
  
 ---- ----
-//Contributeurs : [[:utilisateurs:krodelabestiole]]//+//[[:Contributeurs]] : [[:utilisateurs:krodelabestiole]], ...//