PulseAudio (anciennement Polypaudio Lennart Poettering, « TPFKAPA: The Project Formerly Known as Polypaudio », sur Pid Eins, 16 juin 2006 (consulté le 10 mars 2016)) est un logiciel libre serveur de sons multiplate-forme, développé principalement par Lennart Poettering pour le compte de Red Hat, Pierre Ossman pour Cendio et David Henningsson pour Canonical. Il est en 2020, progressivement remplacé par PipeWire (remplacé en sous ArchLinux), un service qui a pour but d'unifier JACK (temps réel) et PulseAudio (bureautique et jeu) pour l'audio, ainsi que GStreamer pour la vidéo.

Il permet des échanges audio par le réseau entre des systèmes Linux et Microsoft Windows par exemple.

Il vient se substituer à (ESD).

PulseAudio fonctionne sur les systèmes compatibles POSIX tels que Linux et sous Microsoft Windows. Son code source est publié selon les termes de la licence publique générale limitée GNU (GNU LGPL) « About PulseAudio », sur freedesktop.org, 29 décembre 2014 (consulté le 10 mars 2016). Si la compilation intègre certaines dépendances optionnelles, le daemon et la bibliothèque serveur (libpulsecore) sont publiés selon les termes de la licence publique générale GNU (GNU GPL) « LICENSE », sur freedesktop.org, 30 mars 2015 (consulté le 10 mars 2016).

Caractéristiques Les caractéristiques principales de PulseAudio incluent : des contrôles du volume par application « Screenshot: PulseAudio volume control showing multiple applications with different volumes », sur fedoraproject.org, 9 juin 2008 (consulté le 8 octobre 2015) ; une architecture de plugin extensible avec support de modules pouvant être chargés ; la compatibilité avec de nombreuses applications audio populaires ; le support de multiples sources et collecteurs audioDans l'interface graphique pavucontrol (PulseAudio Volume Control) officiellement traduite en français, sources et collecteurs (sinks, en anglais) sont respectivement appelés périphériques d'entrée et périphériques de sortie. ; une architecture mémoire pour une gestion efficace des ressources processeur ; une interface en ligne de commande avec possibilité d'utiliser un langage de script ; un daemon audio avec possibilité de reconfiguration en ligne de commande ; la conversion intégrée de samples et des possibilités de ré-échantillonnage ; la faculté de combiner de multiples cartes son en une seule ; la faculté de synchroniser de multiples flux de lecture.

Fonctionnement thumb|Représentation graphique du flux opérationnel de PulseAudio.

PulseAudio est un serveur son, un processus d'arrière-plan qui accepte les entrées son d'une ou plusieurs sources (processus ou périphériques de capture) et les redirige vers un ou plusieurs collecteurs (cartes son, serveurs PulseAudio distants ou autres processus).

PulseAudio utilise un modèle dans lequel ce sont les applications qui envoient le flux audio au serveur, contrairement au serveur son JACK qui détermine quand et dans quel ordre les applications doivent le lui envoyer Paul Davis (23-04-2011), « [LAD] jack routing vs pulse routing », linux-audio-dev (consulté le 8 octobre 2015).

Un des objectifs de PulseAudio est de rerouter tous les flux audio — y compris ceux de processus qui tentent d'accéder directement au matériel (telles les anciennes applications OSS). PulseAudio fait cela en fournissant des adaptateurs aux applications qui utilisent d'autres systèmes audio, comme aRts ou ESD.

Selon un scénario d'installation typique sous Linux, l'utilisateur configure ALSA pour utiliser un dispositif virtuel fourni par PulseAudio. Ainsi, les applications utilisant ALSA enverront leur sortie son vers PulseAudio, qui utilisera alors ALSA lui-même pour accéder à la vraie carte son. PulseAudio fournit également sa propre interface native pour les applications qui veulent supporter PulseAudio directement, de même que l'ancienne interface pour les applications ESD, le rendant adapté pour remplacer ESD.

Pour les applications OSS, PulseAudio propose l'utilitaire padsp, qui se substitue aux fichiers de périphériques tels que /dev/dsp, trompant les applications en leur faisant croire qu'elles ont le contrôle exclusif de la carte son. En réalité, leur sortie est reroutée à travers PulseAudio.

Interfaces utilisateur sous Linux Interface en ligne de commande Le paquet pulseaudio-utils fournit les outils en ligne de commande pour diverses fonctionnalités du serveur de sons.

Interface graphique Destiné à l'ordinateur de bureau, PulseAudio est accompagné d'outils auxiliaires dotés d'une interface graphique : padevchooser (PulseAudio Device Chooser) : installe une icône dans la barre des tâches, permet de choisir le serveur, collecteur et source utilisés par défaut et d'accéder aux autres outils ; paman (PulseAudio Manager) : qui permet de configurer le daemon PulseAudio ; paprefs (PulseAudio Preferences) : qui permet de configurer le serveur PulseAudio ; pavucontrol (PulseAudio Volume Control) : qui est un mixeur audio évolué ; pavumeter (PulseAudio Volume Meter) : qui est un VU-mètre simplifié.

En , seul pavucontrol reste activement maintenu par l'équipe de développement de PulseAudio ; padevchooser a été « forké » en 2006 et est concurrencé depuis 2011 par l'outil pasystray (PulseAudio System Tray) Matthew Stoltenberg, « padevchooser », sur GitHub, 28 mai 2006 (consulté le 10 mars 2016) Christoph Gysin, « pasystray », sur GitHub, 2 octobre 2011 (consulté le 10 mars 2016).

Notes et références Notes

Références

Annexes Articles connexes Liste de logiciels audio pour Linux Pile audio Linux JACK PipeWire

Liens externes

The Perfect Setup, sur freedesktop.org PulseAudio, sur ubuntu-fr PulseAudio, sur ArchWiki PulseAudio, sur Gentoo Wiki

Catégorie:GNU/Linux Catégorie:Serveur de son