PulseAudio

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
PulseAudio
software
Schermata di esempio
Schermata di esempio
GenereServer audio (non in lista)
SviluppatoreLennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie
Data prima versione17 luglio 2004
Ultima versione17.0 (12 gennaio 2024)
Sistema operativoMultipiattaforma
LinguaggioC[1]
LicenzaGNU Lesser General Public License 2.1[2]
(licenza libera)
Sito webwww.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]

  1. ^ Ohloh Analysis Summary - PulseAudio, su ohloh.net, Ohloh. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  2. ^ a b LICENSE, su git.0pointer.de, Pulseaudio git. URL consultato il 14 maggio 2010 (archiviato dall'url originale il 7 gennaio 2010).
  3. ^ a b Rodney Gedda, Open source identity: PulseAudio creator Lennart Poettering, collana TechWorld, 8 ottobre 2009. URL consultato il 6 settembre 2017.
  4. ^ Interviews/LennartPoettering - FedoraProject, su fedoraproject.org, FedoraProject. URL consultato il 3 luglio 2009.
  5. ^ Pulse Audio wiki, su pulseaudio.org, PulseAudio. URL consultato il 19 luglio 2009 (archiviato dall'url originale il 18 ottobre 2009).
  6. ^ PulseAudio (wiki), Debian, recuperato il 16-10-2014
  7. ^ LPC: Linux audio: it's a mess, su lwn.net. URL consultato il 3 luglio 2009 (archiviato dall'url originale il 18 ottobre 2009).
  8. ^ Lennart Poettering, PulseAudio FUD, su 0pointer.de, 18 luglio 2008. URL consultato il 30 dicembre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  9. ^ 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).
  10. ^ I'll Break Your Audio, su 0pointer.de, Lennart Poettering Blog, 19 ottobre 2009. URL consultato il 26 dicembre 2009.
  11. ^ 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).
  12. ^ PulseAudio - Ubuntu Wiki, su wiki.ubuntu.com, Ubuntu Wiki. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  13. ^ Over-optimistic buffering in PulseAudio causes underruns (audible stuttering, pops), su bugs.launchpad.net, 10 febbraio 2008. URL consultato il 16 ottobre 2014.
  14. ^ (EN) On the Road to Fedora Workstation 31 — Christian F.K. Schaller, su blogs.gnome.org. URL consultato il 22 febbraio 2021.
  15. ^ (EN) PipeWire, su pipewire.org. URL consultato il 22 febbraio 2021.
  16. ^ 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).
  17. ^ 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]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]