doc:appunti:linux:sa:pulseaudio
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:sa:pulseaudio [2019/10/17 16:36] – [PulseAudio] niccolo | doc:appunti:linux:sa:pulseaudio [2025/10/13 15:36] (current) – [Configurazione PulseAudio] niccolo | ||
---|---|---|---|
Line 3: | Line 3: | ||
Il sistema predefinito per la gestione dell' | Il sistema predefinito per la gestione dell' | ||
- | **ALSA** fornisce i **driver** e una libreria (API) a basso livello, **PulseAudio** invece implementa una architettura client-server per collegare tra loro **sources** (processi, hardware di cattura audio, ecc.) e **sinks** (schede audio, processi locali o remoti, ecc.). | + | **ALSA** fornisce i **driver** e una libreria (API) di basso livello, **PulseAudio** invece implementa una architettura client-server per collegare tra loro **sources** (processi, hardware di cattura audio, ecc.) e **sinks** (schede audio, processi locali o remoti, ecc.). |
===== ALSA ===== | ===== ALSA ===== | ||
Line 9: | Line 9: | ||
ALSA fornisce alcuni **moduli kernel** per pilotare l' | ALSA fornisce alcuni **moduli kernel** per pilotare l' | ||
- | Per verificare se il sistema ALSA funziona correttamente: | + | Ecco alcuni consigli per verificare se il sistema ALSA funziona correttamente. |
- | - Verificare | + | Verificare |
- | | + | |
+ | Verificare che ALSA abbia identificato l' | ||
+ | < | ||
**** List of PLAYBACK Hardware Devices **** | **** List of PLAYBACK Hardware Devices **** | ||
card 0: PCH [HDA Intel PCH], device 0: ALC255 Analog [ALC255 Analog] | card 0: PCH [HDA Intel PCH], device 0: ALC255 Analog [ALC255 Analog] | ||
Subdevices: 0/1 | Subdevices: 0/1 | ||
- | Subdevice #0: subdevice # | + | Subdevice #0: subdevice #0 |
- | | + | </ |
+ | |||
+ | Verificare quali **dispositivi PCM** (Pulse-code modulation, cioè dispositivi di suono digitale, sia di input che di output) sono disponibili: | ||
+ | < | ||
+ | aplay -L | ||
null | null | ||
Discard all samples (playback) or generate zero samples (capture) | Discard all samples (playback) or generate zero samples (capture) | ||
Line 33: | Line 39: | ||
HDA Intel PCH, ALC255 Analog | HDA Intel PCH, ALC255 Analog | ||
Front speakers | Front speakers | ||
- | ...</ | + | ... |
- | | + | </ |
- | | + | |
+ | Eseguire **alsamixer** e **impostare i livelli** per i device di playback, accertarsi che i canali non siano muti (tasto **M**). | ||
+ | |||
+ | Provare sia da **utente root** che da utente normale ad inviare un **audio digitale** direttamente al **dispositivo hardware** predefinito. Provare eventualmente anche gli altri device elencati da **aplay -L**: | ||
+ | < | ||
+ | aplay --device=default / | ||
+ | </ | ||
+ | |||
+ | ==== Configurazione ALSA ==== | ||
+ | |||
+ | Con il programma **alsamixer** è possibile impostare i livelli e lo stato mute/unmute dei vari controlli delle varie schede audio. | ||
+ | |||
+ | Per salvare le impostazioni correnti: | ||
+ | |||
+ | < | ||
+ | alsactl store | ||
+ | </ | ||
+ | |||
+ | I valori vengono salvati nel file **/ | ||
+ | |||
+ | < | ||
+ | alsactl restore 0 | ||
+ | </ | ||
+ | FIXME: Sembra che allo shutdown del sistema (Debian 13) il file asound.state viene sovrascritto con le impostazioni predefinite, | ||
===== PulseAudio ===== | ===== PulseAudio ===== | ||
Line 110: | Line 139: | ||
Nel caso del bug [[https:// | Nel caso del bug [[https:// | ||
+ | |||
+ | ==== Configurazione PulseAudio ==== | ||
+ | |||
+ | === default-sink === | ||
+ | |||
+ | In un sistema con più di una scheda audio è opportuno configurare quella predefinita, | ||
+ | |||
+ | < | ||
+ | # To get the list pulseaudio sink devices (where audio goes): | ||
+ | # pulseaudio --start; pacmd list-sinks | ||
+ | # USB audio device: | ||
+ | default-sink = alsa_output.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00.analog-stereo | ||
+ | # Analog port (stereo 3.5 mm jack): | ||
+ | # | ||
+ | # Video HDMI port: | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | La parte più a destra del nome del sink, separata da un punto, è il nome del **profilo**; | ||
+ | |||
+ | I profili disponibili per ogni scheda audio vengono generati in automatico all' | ||
+ | |||
+ | È possibile cambiare il default sink da riga di comando: | ||
+ | |||
+ | <code bash> | ||
+ | pactl set-default-sink ' | ||
+ | </ | ||
+ | |||
+ | :!: **ATTENZIONE**: | ||
+ | |||
+ | === Profilo attivo === | ||
+ | |||
+ | Per elencare i profili disponibili e quello attivo per ciascuna scheda audio: | ||
+ | |||
+ | <code bash> | ||
+ | pacmd list-cards | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | 3 card(s) available. | ||
+ | index: 0 | ||
+ | name: < | ||
+ | ... | ||
+ | profiles: | ||
+ | input: | ||
+ | ... | ||
+ | output: | ||
+ | ... | ||
+ | output: | ||
+ | ... | ||
+ | active profile: < | ||
+ | ... | ||
+ | ports: | ||
+ | analog-input-mic: | ||
+ | ... | ||
+ | analog-output-speaker: | ||
+ | ... | ||
+ | iec958-stereo-output: | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Per cambiare il profilo attivo da riga di comando: | ||
+ | |||
+ | <code bash> | ||
+ | pactl set-card-profile ' | ||
+ | </ | ||
+ | |||
+ | Per cambiare **system-wide** il profilo attivo di una scheda si può creare un file **/ | ||
+ | |||
+ | < | ||
+ | set-card-profile alsa_card.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00 output: | ||
+ | </ | ||
+ | |||
+ | Questa impostazione viene letta dal client PulseAudio al suo avvio. | ||
+ | |||
+ | :!: **ATTENZIONE**: | ||
+ | |||
+ | |||
+ | === Stato dei controlli === | ||
+ | |||
+ | Per vedere/ | ||
+ | |||
+ | < | ||
+ | pactl get-sink-mute ' | ||
+ | pactl set-sink-mute ' | ||
+ | </ | ||
+ | |||
+ | Per vedere/ | ||
+ | |||
+ | < | ||
+ | pactl get-sink-volume ' | ||
+ | pactl set-sink-volume ' | ||
+ | </ | ||
+ | |||
+ | * **[[https:// | ||
+ | |||
+ | ===== Configurazione programmi ===== | ||
+ | |||
+ | In generale i programmi GNU/Linux possono utilizzare **vari sottosistemi audio**, ad esempio l' | ||
+ | |||
+ | ==== Mplayer ==== | ||
+ | |||
+ | Per una configurazione system-wide su un sistema Debian è sufficiiente aggiungere una riga in **/ | ||
+ | |||
+ | < | ||
+ | # Use Pulseaudio for output, instead of ALSA directly. | ||
+ | ao=pulse | ||
+ | </ | ||
+ | |||
+ | ==== Audacious ==== | ||
+ | |||
+ | Dal menu **File** => Settings... => Audio => Output plugin => **PulseAudio Output**. | ||
+ | |||
+ | ==== Avidemux ==== | ||
+ | |||
+ | Dal menu **Edit** => Preferences => Audio => AudioDevice => **PulseAudioS**. | ||
+ | |||
+ | ==== Ardour ==== | ||
+ | |||
+ | **Ardour versione 5.12.0** (Debian 10) supporta i sottosistemi audio **ALSA** e **JACK**. Utilizzando ALSA il sistema audio viene impegnato in modo esclusivo da Ardour. FIXME Cosa significa e come si fa eventualmente ad usare JACK? | ||
+ | |||
+ | ==== Audacity ==== | ||
+ | |||
+ | È possibile scegliere indipendentemente il device per l' | ||
+ | |||
===== Web References ===== | ===== Web References ===== |
doc/appunti/linux/sa/pulseaudio.1571322966.txt.gz · Last modified: by niccolo