giovedì 13 settembre 2012

PulseAudio, la Nuova Sinfonia


Chakra cambia musica, il flusso costante di aggiornamenti e migliorie tocca stavolta il comparto audio col passaggio di default a PulseAudio.


L'ultimo aggiornamento di Chakra vede l'adozione definitiva di PulseAudio, capiamo meglio come funzionano ALSA e PulseAudio, cosa gestiscono, e come attivare eventualmente PulseAudio su un'installazione di Chakra esistente.






Advanced Linux Sound Architecture (noto al grande pubblico con il solo acronimo ALSA) è un componente del Kernel Linux.  

Alcuni degli scopi del progetto ALSA al momento della sua ideazione erano:

# Configurazione automatica dell'hardware

# Gestione efficiente di schede audio semplici

Gli obbiettivi sono stati sostanzialmente raggiunti, inoltre sono supportate anche applicazioni di tipo professionale grazie ad una serie di framework, quali JACK, i quali sfruttano ALSA per svolgere operazioni di editing e mixing audio a bassa latenza.

ALSA è stato progettato per far uso di alcune caratteristiche inedite per all'epoca del rilascio

# Sintesi MIDI a livello hardware

# Mixing hardware di canali multipli

# Operatività full-duplex

# Driver di periferica in grado di funzionare bene in ambito multiprocessore e thread-safe














Oltre ai driver di periferica, ALSA fornisce una libreria in spazio utente affinché gli sviluppatori che vogliano interfacciarsi con i driver possano utilizzare un' API di livello più elevato, evitando di interagire direttamente con il Kernel.





PulseAudio (precedentemente noto come Polypaudio) è un sound server multipiattaforma comunemente usato sulle distribuzioni GNU/Linux in alternativa ad ALSA (su cui si appoggia) per ovviare all'inconveniente di quest'ultima di non poter riprodurre il suono da più fonti audio contemporaneamente.

PulseAudio è quindi un server di smistamento e mixaggio dei segnali audio inviati dai programmi, verso ALSA, esistono altri server di questo tipo come ad esempio esound.

PulseAudio è in grado di acquisire suoni a differente frequenza di campionamento e da differenti software, per poi ricampionarli alla medesima frequenza di sampling, mixarli ed inviarli ad ALSA, ed eventualmente in streaming ad altre macchine.
















Le principali funzioni di PulseAudio comprendono:

# Controlli del volume sulle applicazioni

# Un'architettura di plugin estendibile con supporto ai moduli caricabili

# Compatibilità con molte applicazioni audio

# Supporto per multiple fonti audio

# Una architettura di memoria zero-copy, al fine di ridurre il carico del processore

# Cambio al volo del dispositivo di riproduzione dei suoni

# Interfaccia a riga di comando con capacità di scripting

# Demone del sistema sonoro, configurabile da riga di comando

# Conversione dei campioni e ricampionamento

# Combinazione di più schede audio

# Sincronizzazione di molteplici flussi di riproduzione

# Supporto ai dispositivi audio bluetooth

# Regolazione dell' equalizzazione a livello di sistema

Il nuovo rilascio di Chakra (ISO 2012.09 Claire) segna il passaggio definitivo a PulseAudio, che sarà dunque il solo server audio ad essere supportato in futuro, dalle caratteristiche illustrate sopra capiamo esserci assolutamente un miglioramento rispetto all'uso del solo ALSA, primo fra tutti la possibilità di riprodurre il suono da più fonti contemporaneamente.

I recenti rilasci di PulseAudio hanno introdotto inoltre interessanti funzioni quali la regolazione dinamica della frequenza di campionamento del flusso di dati che consente di evitare il frequente ricampionamento effettuato da molte applicazioni, con conseguente sgravio del carico sulla CPU.

PulseAudio 2.0 è in grado inoltre di rilevare se un dispositivo è collegato ad un ingresso/uscita audio.

E’ stato introdotto un nuovo modulo (importato dal progetto WebRTC) che consente di eliminare l’eco e migliorare in modo significativo le comunicazioni su VoIP
. Il nuovo modulo regola automaticamente il guadagno del microfono anche se autoparlante e microfono sono collegati a diversi dispositivi.

Altre nuove funzionalità introdotte a partire dalla versione 2.0 sono: un modulo di surround virtuale, un’uscita audio per il supporto a Xen per GNU Hurd e il miglioramento della qualità dei decoder A2DP.  





Per abilitare PulseAudio su installazione esistente, è sufficiente installare i seguenti pacchetti:

pulseaudio

pulseaudio-alsa

gstreamer0.10-good-plugins

lib32-libpulse nel caso di installazione a 64bit

e riavviare il sistema, chi eseguirà una nuova installazione dall'ISO 2012.09, si ritroverà PulseAudio attivo di default.

L'evoluzione di Chakra continua...Stay Tuned!

§ exit

5 commenti:

  1. http://chakra-project.org/packages/index.php?subdir=&sortby=date&msg=%3Cp%20class%3Dwarning%3ENo%20packages%20found%20matching%3A%20gstreamer0.10-pulse&searchpattern=gstreamer0.10-pulse

    RispondiElimina
  2. Serve anche Pavucontrol

    RispondiElimina
  3. Ho usato pulse per un po' dopo che ho reistallato chakra dalla ultima iso (2012.09), ma l'instabilità di veromix mi hanno fatto correre indietro e reistallare phonon e rimuovere pulseaudio. Phonon mi sembra più stabile e meglio integrato nel sistema, e anche lui permette di eseguire più flussi audio contemporaneamente...
    Quindi che vantaggi ha pulseaudio confrontato con phonon e come si fa a tornare a quest'ultimo?

    RispondiElimina