Come posso sapere se sto usando alsa o pulse-audio per impostazione predefinita? (Passaggio a i3-wm)


52

Potrei non capire il concetto di base, nel qual caso correggimi se sbaglio.

Ubuntu viene fornito con due diversi server di rendering audio, pulse e alsa. Alsa è uno strato intermedio da pulsare? Fondamentalmente ho bisogno di sapere quale sto usando.

Il motivo che devo sapere è che sto tentando di passare dall'unità all'i3-wm. Durante la configurazione di i3 ho scoperto che non avevo audio e ho trovato questo thread . Specifica varie opzioni per associare i tasti su e giù del volume del mio laptop alla loro funzionalità e dopo aver armeggiato con alcune delle opzioni ho ottenuto un audio molto graffiante, motivo per cui (presumo) ho bisogno di sapere quale sto effettivamente usando.

Risposte:


83

Ubuntu utilizza sia ALSA che Pulseaudio per controllare l'ingresso e l'uscita audio.

ALSA

ALSA funge da sistema basato su kernel per connettere il tuo hardware audio al sistema operativo. Tutte le schede audio nel sistema verranno controllate utilizzando i driver e le impostazioni specifiche della scheda. La maggior parte di questo viene eseguita sotto il cofano senza che gli utenti debbano interferire.

Inoltre ALSA offre librerie e strumenti per controllare il nostro sistema audio. Lo strumento che la maggior parte di noi potrebbe aver trovato potrebbe essere alsamixerun'applicazione terminale semigrafica per controllare il volume del suono e lo stato di silenziamento di tutte le schede e i profili nel nostro sistema.

Siamo in grado di distribuire l'audio alla nostra scheda audio semplicemente utilizzando ALSA senza la necessità di PulseAudio o di altri server audio.

Pulse Audio

Oltre alla base ALSA, il server audio PulseAudio fornisce ulteriori strumenti per controllare meglio il nostro sistema audio. Questo viene fatto con i moduli per definire i livelli di volume, i profili delle schede audio, i sink di output o le origini di input e altro ancora per un facile accesso dalla maggior parte delle applicazioni Ubuntu.

Come ALSA, anche PulseAudio è progettato per funzionare con il minor numero possibile di interazioni utente. Ogni volta che è necessario modificare il volume, il bilanciamento o i dispositivi di input / output, si tratta di un modulo PulseAudio o di un'applicazione che noi o la nostra applicazione chiamiamo.

Un'alternativa professionale a PulseAudio è il server audio JACK con più opzioni per interagire con il nostro hardware audio e un migliore supporto a bassa latenza. Solo poche applicazioni di produzione musicale prevedono di eseguire JACK, che può essere eseguito in parallelo a PulseAudio.

Integrazione applicazione / desktop

Il sistema audio Ubuntu può essere ulteriormente controllato da applicazioni eseguite dal desktop Unity / GNOME, come un'applet per il controllo del volume.

Laddove una determinata applicazione si avvale del controllo del suono, spetterà agli sviluppatori dell'applicazione. Alcune applicazioni utilizzeranno solo ALSA, alcune richiedono PulseAudio, altre richiedono JACK.

Pertanto, ogni volta che installiamo un altro desktop manager su Ubuntu, potremmo perdere le applicazioni specifiche del desktop per controllare il suono, ma ALSA e PulseAudio funzioneranno in background per il controllo del suono.

Potrebbe essere necessario installare pacchetti aggiuntivi come ad esempio pavucontrol Installa pavucontrol , l'applicazione di controllo del volume basata su pulseaudio GTK.

C'è qualcuno di ALSA o PulseAudio in esecuzione?

Sia ALSA che PulseAudio sono dotati di applicazioni da riga di comando per stampare lo stato del nostro sistema audio.

  • PulseAudio:

    pactl list
    
  • ALSA:

    aplay -l
    

Entrambi daranno un errore se il sistema audio non è in esecuzione. ALSA verrà caricato con il kernel, PulseAudio verrà avviato in seguito. In caso contrario, possiamo avviare PulseAudio manualmente dal terminale con:

pulseaudio [options]  ## option -D starts the daemon

In caso di problemi audio, ti consiglio di leggere il post scritto da David Henningsson su cose che non dovremmo fare prima di andare oltre per eseguire il debug del nostro problema audio .


1
@Takkat incredibile spiegazione, grazie mille. Ho cercato per molto tempo di ottenere la comprensione di base del sistema audio in Linux e Ubuntu.
AlexN,

Nel mio sistema raspberry pi, "elenco pactl" restituisce "Connessione rifiutata", ma "elenco pactl - server 127.0.0.1" funziona. l'esportazione della variabile di ambiente "PULSE_SERVER = 127.0.0.1" consente ai client pulseaudio di connettersi correttamente. Qualche idea di cosa mi sto perdendo? Questo è su un lampone pi.
Joao Costa,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.