PulseAudio

Da Wikipedia, l'enciclopedia libera.
PulseAudio
PulseAudio GUI.png
Sviluppatore Lennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie
Ultima versione 5.0 (3 marzo 2014)
Sistema operativo Multipiattaforma
Linguaggio C[1]
Genere Server audio (non in lista)
Licenza GNU Lesser General Public License 2.1[2]
(Licenza libera)
Sito web freedesktop.org/../PulseAudio

PulseAudio (precedentemente noto come Polypaudio) è un server audio, un software libero e multipiattaforma che rispetta le specifiche POSIX, rilasciato sotto licenza GNU LGPL 2.1.[2]

Caratteristiche[modifica | modifica wikitesto]

Venne creato come alternativa ad ALSA, di cui sfrutta l'interfaccia driver per dialogare con l'hardware, per offrire un server sonoro avanzato ed estensibile.

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 è usato anche come sistema audio in molti dispositivi mobili basati su Linux, come Nokia N900 e il Palm Pre.[3]

PulseAudio funziona inoltre anche su Microsoft Windows e sui sistemi POSIX.

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;

Adozione[modifica | modifica wikitesto]

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[7].

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".[8] Poettering affermò più tardi che "Ubuntu didn't exactly do a stellar job. They didn't do their homework" nell'adottare PulseAudio[9] in Ubuntu "Hardy Heron" (8.04), un problema che è stato poi risolto con i seguenti rilasci di Ubuntu.[10] Tuttavia, Poettering non è ancora soddisfatto dell'adozione di PulseAudio da parte di Ubuntu.[11]
  • Alcuni programmi, tra cui vecchie versioni di Adobe Flash su GNU/Linux, causavano instabilità in PulseAudio.[12][13]

Fortunatamente le nuove implementazioni di Flash plugins non richiedono più gli elementi che creavano il conflitto.

  • Le prime versioni del sistema di gestione degli eventi di buffer over- e underruns: le versioni iniziali 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).[14]

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.

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 tutt'ora 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[15]. Lo sviluppo da parte di realtà proprietarie è stato continuato da parte di 4Front Technologies, che nel 2007 ha rilasciato il codice sorgente di OSS con la licenza CDDL per OpenSolaris e con la licenza GPL per Linux[16]. 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, Ohloh. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  2. ^ a b LICENSE, Pulseaudio git. URL consultato il 14 maggio 2010.
  3. ^ Open source identity: PulseAudio creator Lennart Poettering in TechWorld, 8 ottobre 2009.
  4. ^ Interviews/LennartPoettering - FedoraProject, FedoraProject. URL consultato il 3 luglio 2009.
  5. ^ Pulse Audio wiki, 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. ^ Open source identity: PulseAudio creator Lennart Poettering. URL consultato il 16 ottobre 2014.
  8. ^ LPC: Linux audio: it's a mess, Lwn.net. URL consultato il 3 luglio 2009 (archiviato dall'url originale il 18 ottobre 2009).
  9. ^ Lennart Poettering, PulseAudio FUD, 0pointer.de, 18 luglio 2008. URL consultato il 30 dicembre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  10. ^ HOWTO: PulseAudio Fixes & System-Wide Equalizer Support, Ubuntu Forums, 10 maggio 2008. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  11. ^ I'll Break Your Audio, Lennart Poettering Blog, 19 ottobre 2009. URL consultato il 26 dicembre 2009.
  12. ^ No sound after running Flash, YouTube, etc. (pulseaudio solution), Ubuntu Forums. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  13. ^ PulseAudio - Ubuntu Wiki, Ubuntu Wiki. URL consultato il 18 ottobre 2009 (archiviato dall'url originale il 18 ottobre 2009).
  14. ^ Over-optimistic buffering in PulseAudio causes underruns (audible stuttering, pops), 10 febbraio 2008. URL consultato il 16 ottobre 2014.
  15. ^ An introduction to Linux sound systems and APIs, 9 agosto 2004. URL consultato il 16 ottobre 2014.
  16. ^ 4Front technologies releases the source code for open sound system, 14 luglio 2014. URL consultato il 16 ottobre 2014.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]