PulseAudio
PulseAudio software | |
---|---|
![]() | |
Genere | Server audio (non in lista) |
Sviluppatore | Lennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie |
Data prima versione | 17 luglio 2004 |
Ultima versione | 17.0 (12 gennaio 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C[1] |
Licenza | GNU Lesser General Public License 2.1[2] (licenza libera) |
Sito web | www.freedesktop.org/wiki/Software/PulseAudio/ |
PulseAudio (precedentemente noto come Polypaudio) è un server audio, un software libero e multipiattaforma che rispetta le specifiche POSIX, pubblicato sotto licenza GNU LGPL 2.1[2] creato come alternativa ad alsamixer, di cui sfrutta l'interfaccia driver per dialogare con l'hardware, per offrire un server sonoro avanzato ed estendibile.
Caratteristiche
[modifica | modifica wikitesto]Il programma consiste in un processo in background ed accetta in ingresso una o più sorgenti audio (programmi, ingressi audio esterni ecc), successivamente, dopo un'operazione di missaggio, redireziona il flusso audio verso una o più uscite (in gergo sink) come ed esempio le casse del pc, dispositivi bluetooth o altre applicazioni.
PulseAudio è usato anche come sistema audio in molti dispositivi mobili basati su Linux, come Nokia N900 e il Palm Pre.[3]
Funzionalità
[modifica | modifica wikitesto]Le principali funzioni di PulseAudio includono:
- Controlli del volume sulle applicazioni[4]:
- Un'architettura di plugin estendibile con supporto ai moduli caricabili;
- Compatibilità con molte applicazioni audio[5];
- Supporto per multiple fonti audio;
- Bassa latenza di funzionamento;
- Una architettura di memoria zero-copy, al fine di ridurre il carico del processore;
- Capacità di localizzare altri computer in rete locale sui quali gira PulseAudio, consentendo la riproduzione di suoni sui loro altoparlanti;
- Capacità di cambiare il dispositivo di riproduzione dei suoni al volo, ad esempio, durante la riproduzione di suoni da parte di un'applicazione, in maniera trasparente ad essa;
- Un'interfaccia a riga di comando con capacità di scripting;
- Un demone del sistema sonoro, configurabile da riga di comando;
- Funzioni di conversione dei campioni e ricampionamento;
- Capacità di combinare più schede audio in una sola;
- Capacità di sincronizzare molteplici flussi di riproduzione;
- Supporto ai dispositivi audio bluetooth e al loro riconoscimento;
- Capacità di regolare l'equalizzazione a livello di sistema;
Utilizzo
[modifica | modifica wikitesto]Esso è comunemente usato sulle distribuzioni GNU/Linux, come Fedora, Ubuntu, Mandriva, Linux Mint, openSUSE e OpenWRT. C'è anche un crescente supporto di PulseAudio nel progetto GNOME. PulseAudio funziona inoltre anche su Microsoft Windows e sui sistemi POSIX.
PulseAudio è disponibile nelle versioni recenti di molte distribuzioni Linux importanti quali Fedora, Ubuntu, Debian[6], Mageia, Mandriva Linux, Linux Mint, openSUSE e OpenWrt. Il progetto GNOME supporta PulseAudio, così come l'ambiente desktop KDE, dal momento che il server audio è integrato nel sistema Plasma insieme al supporto a Phonon (il framework multimediale di KDE) e a KMix (l'applicazione di regolazione volumi integrata). In KDE è anche presente un'interfaccia utente "Regolazione volume" che supporta gli utenti nella configurazione di speaker multipli. PulseAudio viene utilizzato da vari dispositivi mobili basati su Linux, fra i quali il Nokia N900, il Nokia N9 ed il Palm Pre.[3]
Tizen, un sistema operativo open source per dispositivi mobili patrocinato dalla Linux Foundation e controllato da un consorzio composto da Intel e Samsung, utilizza PulseAudio.
Problemi durante la fase di adozione
[modifica | modifica wikitesto]- Quando venne adottato dalle distribuzioni, lo sviluppatore di PulseAudio Lennart Poettering lo descrisse come "the software that currently breaks your audio".[7] Poettering affermò più tardi che "Ubuntu didn't exactly do a stellar job. They didn't do their homework" nell'adottare PulseAudio[8] in Ubuntu "Hardy Heron" (8.04), un problema che è stato poi risolto con le seguenti versioni di Ubuntu.[9] Tuttavia, Poettering non è ancora soddisfatto dell'adozione di PulseAudio da parte di Ubuntu.[10]
- Alcuni programmi, tra cui vecchie versioni di Adobe Flash su GNU/Linux, causavano instabilità in PulseAudio;[11][12] il problema non si verificava più nelle ultime implementazioni del plugin di Adobe Flash.
- Le prime versioni del sistema di gestione degli eventi di PulseAudio potevano talvolta iniziare a distorcere i suoni a causa della gestione errata degli eventi di buffer overflow (o overrun) e di buffer underflow (o underrun).[13]
Alternative
[modifica | modifica wikitesto]Altri server audio
[modifica | modifica wikitesto]JACK è un server audio professionale che fornisce prestazioni multimediali audio in tempo reale, a bassa latenza (ad esempio, 5 millisecondi o meno). Dalla versione JACK2 in poi, questo supporta una efficiente ripartizione del carico computazionale attraverso l'uso delle capacità dei multiprocessori simmetrici, ovverosia distribuendo il carico di tutti i programmi che utilizzano audio fra i vari processori disponibili. JACK è il server audio preferibile per l'uso di applicazioni audio professionali quali Ardour, Rezound e LinuxSampler. Molte distribuzioni Linux orientate alla produzione musicale lo utilizzano come server audio predefinito.
È possibile utilizzare contemporaneamente JACK e PulseAudio su uno stesso sistema: mentre JACK è in esecuzione come server audio principale, PulseAudio può connettersi automaticamente ad esso in qualità di client, consentendo dunque la riproduzione e la registrazione di suoni da parte dei client che utilizzano PulseAudio, insieme ai client che utilizzano JACK. Questa procedura è descritta (in lingua inglese) qui.
PipeWire è un server audio e video che ha come obiettivi il supporto dei casi d'uso attualmente gestiti da PulseAudio e JACK[14][15] oltre alla gestione degli stream video.
Infrastrutture audio generiche
[modifica | modifica wikitesto]Prima dell'esistenza di JACK e PulseAudio, il suono nei sistemi liberi era amministrato da soluzioni audio multiuso. Queste soluzioni non coprono del tutto i processi di mixing e streaming del suono, ma sono tuttora utilizzate da JACK e da PulseAudio per inviare il flusso sonoro finale alla scheda audio.
- ALSA fornisce un mixer chiamato dmix, che è stato sviluppato prima di PulseAudio. Questo è disponibile su quasi tutte le distribuzioni GNU/Linux ed è un semplice PCM audio mixer. Non fornisce le caratteristiche avanzate (come il ricampionamento in alta qualità, aggregazione di dispositivi, timer-based scheduling e network audio) di PulseAudio. Nondimeno, se combinato con schede audio e programmi adeguati, ALSA può offrire basse latenze.
- OSS (Open Sound System). Questo è stato il sistema audio originale utilizzato in Linux e in altri sistemi Unix. Il suo uso cessò a partire dalla versione 2.5 del kernel Linux[16]. Lo sviluppo da parte di realtà proprietarie è stato continuato da parte di 4Front Technologies, che nel 2007 ha pubblicato il codice sorgente di OSS con la licenza CDDL per OpenSolaris e con la licenza GPL per Linux[17]. La sua moderna implementazione, Open Sound System v4, fornisce capacità di mixing software, ricampionamento e modifica del volume separatamente per ogni applicazione client; al contrario di PulseAudio, queste caratteristiche sono implementate all'interno del kernel.
Note
[modifica | modifica wikitesto]- ^ Ohloh Analysis Summary - PulseAudio, su ohloh.net, Ohloh. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ a b LICENSE, su git.0pointer.de, Pulseaudio git. URL consultato il 14 maggio 2010 (archiviato dall'url originale il 7 gennaio 2010).
- ^ a b Rodney Gedda, Open source identity: PulseAudio creator Lennart Poettering, collana TechWorld, 8 ottobre 2009. URL consultato il 6 settembre 2017.
- ^ Interviews/LennartPoettering - FedoraProject, su fedoraproject.org, FedoraProject. URL consultato il 3 luglio 2009.
- ^ Pulse Audio wiki, su pulseaudio.org, PulseAudio. URL consultato il 19 luglio 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ PulseAudio (wiki), Debian, recuperato il 16-10-2014
- ^ LPC: Linux audio: it's a mess, su lwn.net. URL consultato il 3 luglio 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ Lennart Poettering, PulseAudio FUD, su 0pointer.de, 18 luglio 2008. URL consultato il 30 dicembre 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ HOWTO: PulseAudio Fixes & System-Wide Equalizer Support, su ubuntuforums.org, Ubuntu Forums, 10 maggio 2008. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ I'll Break Your Audio, su 0pointer.de, Lennart Poettering Blog, 19 ottobre 2009. URL consultato il 26 dicembre 2009.
- ^ No sound after running Flash, YouTube, etc. (pulseaudio solution), su ubuntuforums.org, Ubuntu Forums. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ PulseAudio - Ubuntu Wiki, su wiki.ubuntu.com, Ubuntu Wiki. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
- ^ Over-optimistic buffering in PulseAudio causes underruns (audible stuttering, pops), su bugs.launchpad.net, 10 febbraio 2008. URL consultato il 16 ottobre 2014.
- ^ (EN) On the Road to Fedora Workstation 31 — Christian F.K. Schaller, su blogs.gnome.org. URL consultato il 22 febbraio 2021.
- ^ (EN) PipeWire, su pipewire.org. URL consultato il 22 febbraio 2021.
- ^ An introduction to Linux sound systems and APIs, su archive09.linux.com, 9 agosto 2004. URL consultato il 16 ottobre 2014 (archiviato dall'url originale il 19 ottobre 2014).
- ^ 4Front technologies releases the source code for open sound system (TXT), su opensound.com, 14 luglio 2014. URL consultato il 16 ottobre 2014.
Voci correlate
[modifica | modifica wikitesto]- Advanced Linux Sound Architecture
- Distribuzione GNU/Linux
- aRts
- JACK Audio Connection Kit
- LinuxSampler
- Open Sound System
- Server audio
- Software libero
- Multipiattaforma
- Network Audio System
Altri progetti
[modifica | modifica wikitesto]Wikimedia Commons contiene immagini o altri file su PulseAudio
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su freedesktop.org.
- PulseAudio, su packages.debian.org.
- Repository sorgenti di PulseAudio, su gitlab.freedesktop.org.
- The Project Formerly Known as Polypaudio, su 0pointer.de.