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:11] – [PulseAudio] niccolo | doc:appunti:linux:sa:pulseaudio [2025/11/24 16:54] (current) – [Ardour] 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' | + | |
| + | Verificare che ALSA abbia identificato le **schede audio**: | ||
| + | |||
| + | < | ||
| + | cat / | ||
| + | 0 [Device | ||
| + | C-Media Electronics Inc. USB Audio Device at usb-0000: | ||
| + | 1 [Generic_1 | ||
| + | HD-Audio Generic at 0xfc9c8000 irq 69 | ||
| + | 2 [Generic | ||
| + | HD-Audio Generic at 0xfc9c0000 irq 70 | ||
| + | 3 [acp ]: acp - acp | ||
| + | HCTechnology.Ltd.-HCAR5000_MI-Defaultstring | ||
| + | </ | ||
| + | |||
| + | **ATTENZIONE**: | ||
| + | |||
| + | |||
| + | Verificare che ALSA abbia identificato l' | ||
| + | |||
| + | < | ||
| + | aplay --list-devices | ||
| **** 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 --list-pcms | ||
| null | null | ||
| Discard all samples (playback) or generate zero samples (capture) | Discard all samples (playback) or generate zero samples (capture) | ||
| Line 33: | Line 59: | ||
| 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**). | + | plughw: |
| - | - 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 | + | HD-Audio Generic, PHL 243V7 |
| + | | ||
| + | ... | ||
| + | </ | ||
| + | **NOTA**: Nell' | ||
| + | |||
| + | Eseguire **alsamixer**, | ||
| + | |||
| + | 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 --list-pcms%%**: | ||
| + | |||
| + | <code bash> | ||
| + | aplay --device=" | ||
| + | aplay --device=" | ||
| + | </ | ||
| + | |||
| + | **ATTENZIONE**: | ||
| + | |||
| + | ==== 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 ===== | ||
| - | Come verificare che il sistema PulseAudio funzioni. | + | Per verificare che il sistema PulseAudio funzioni |
| + | |||
| + | < | ||
| + | pacmd list-sinks | ||
| + | 3 sink(s) available. | ||
| + | * index: 1 | ||
| + | name: < | ||
| + | driver: < | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | quindi si prova ad inviare dell' | ||
| + | |||
| + | < | ||
| + | paplay --device=alsa_output.default -p / | ||
| + | </ | ||
| Verificare che il demone **/ | Verificare che il demone **/ | ||
| Line 95: | Line 169: | ||
| 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**: | ||
| + | |||
| + | :!: **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? | ||
| + | |||
| + | In generale Ardour desidera che l' | ||
| + | |||
| + | < | ||
| + | ulimit -a | ||
| + | ... | ||
| + | max locked memory | ||
| + | </ | ||
| + | |||
| + | Il parametro **%%-Ha%%** visualizza l'// | ||
| + | |||
| + | Se si desidera aumentarlo è possibile creare un file **/ | ||
| + | |||
| + | < | ||
| + | myuser soft memlock 12582912 | ||
| + | myuser hard memlock 12582912 | ||
| + | </ | ||
| + | |||
| + | ==== Audacity ==== | ||
| + | |||
| + | È possibile scegliere indipendentemente il device per l' | ||
| + | |||
| ===== Web References ===== | ===== Web References ===== | ||
doc/appunti/linux/sa/pulseaudio.1571321460.txt.gz · Last modified: by niccolo
