User Tools

Site Tools


doc:appunti:linux:sa:pulseaudio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:pulseaudio [2025/10/13 11:42] – [Configurazione PulseAudio] niccolodoc:appunti:linux:sa:pulseaudio [2025/10/17 13:01] (current) – [ALSA] niccolo
Line 13: Line 13:
 Verificare che siano stati caricati i **moduli kernel** **%%snd_*%%**, in particolar modo **snd_pcm**. Se si deve utilizzare un programma che richiede l'obsoleto sistema OSS (Open Sound System), si dovrà caricare il modulo di compatibilità **%%snd-*-oss%%**, ma in tal caso non è possibile utilizzare il sistema ALSA nativo. In una situazione normale e aggiornata il sistema OSS è deprecato, al punto tale che può essere consigliato mettere in blacklist il modulo kernel relativo. Verificare che siano stati caricati i **moduli kernel** **%%snd_*%%**, in particolar modo **snd_pcm**. Se si deve utilizzare un programma che richiede l'obsoleto sistema OSS (Open Sound System), si dovrà caricare il modulo di compatibilità **%%snd-*-oss%%**, ma in tal caso non è possibile utilizzare il sistema ALSA nativo. In una situazione normale e aggiornata il sistema OSS è deprecato, al punto tale che può essere consigliato mettere in blacklist il modulo kernel relativo.
  
-Verificare che ALSA abbia identificato l'**hardware di playback** disponibile+Verificare che ALSA abbia identificato le **schede audio**: 
-<code>aplay -l+ 
 +<code> 
 +cat /proc/asound/cards 
 + 0 [Device         ]: USB-Audio - USB Audio Device 
 +                      C-Media Electronics Inc. USB Audio Device at usb-0000:04:00.4-3, full speed 
 + 1 [Generic_1      ]: HDA-Intel - HD-Audio Generic 
 +                      HD-Audio Generic at 0xfc9c8000 irq 69 
 + 2 [Generic        ]: HDA-Intel - HD-Audio Generic 
 +                      HD-Audio Generic at 0xfc9c0000 irq 70 
 + 3 [acp            ]: acp - acp 
 +                      HCTechnology.Ltd.-HCAR5000_MI-Defaultstring 
 +</code> 
 + 
 +**ATTENZIONE**: Il numero assegnato ad ogni scheda non è deterministico. Può capitare che l'hardware risponda al kernel con tempi diversi ad ogni reboot; pertanto, nell'esempio precedente, il numero **0** non è necessariamente associato alla scheda **USB-AUDIO**, ma potrebbe corrispondere ad una delle **HDA-Intel**. È opportuno quindi usare l'identificativo fra parentesi quadrate (es. **Generic_1**) quando si voglia indicare una specifica scheda audio, ad esempio con il comando ''alsactl''
 + 
 + 
 +Verificare che ALSA abbia identificato l'**hardware di playback**: 
 + 
 +<code> 
 +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]
Line 22: Line 41:
  
 Verificare quali **dispositivi PCM** (Pulse-code modulation, cioè dispositivi di suono digitale, sia di input che di output) sono disponibili: Verificare quali **dispositivi PCM** (Pulse-code modulation, cioè dispositivi di suono digitale, sia di input che di output) sono disponibili:
 +
 <code> <code>
-aplay -L+aplay --list-pcms
 null null
     Discard all samples (playback) or generate zero samples (capture)     Discard all samples (playback) or generate zero samples (capture)
Line 39: Line 59:
     HDA Intel PCH, ALC255 Analog     HDA Intel PCH, ALC255 Analog
     Front speakers     Front speakers
 +...
 +plughw:CARD=Generic_1,DEV=3
 +    HD-Audio Generic, PHL 243V7
 +    Hardware device with all software conversions
 ... ...
 </code> </code>
  
-Eseguire **alsamixer** **impostare i livelli** per i device di playback, accertarsi che i canali non siano muti (tasto **M**).+**NOTA**: Nell'esempio sopra il device **%%plughw:CARD=Generic_1,DEV=3%%** è una porta HDMI alla quale risulta collegato un monitor **Philips 243V**, dotato di altoparlanti.
  
-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**: +Eseguire **alsamixer**, selezionare la scheda audio desiderata con **F6** e **impostare i livelli** per i device di playback, accertarsi che i canali non siano muti (tasto **M**). 
-<code> + 
-aplay --device=default /usr/share/sounds/alsa/Noise.wav+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="default" /usr/share/sounds/alsa/Front_Center.wav 
 +aplay --device="plughw:CARD=Generic_1,DEV=3" /usr/share/sounds/alsa/Front_Center.wav
 </code> </code>
 +
 +**ATTENZIONE**: Il dispositivo **default** potrebbe non corrispondere direttamente ad un hardware, ma essere uno stack software a sua volta; ad esempio l'output di ''%%aplay --list-pcms%%'' potrebbe evidenziare come il //default// sia in effetti //Playback/recording through the PulseAudio sound server//.
  
 ==== Configurazione ALSA ==== ==== Configurazione ALSA ====
Line 160: Line 190:
  
 I profili disponibili per ogni scheda audio vengono generati in automatico all'avvio del sistema e sono elencati dal comando ''pacmd list-cards''. Un solo profilo è quello attivo e non è possibile impostare il default sink su un profilo diverso da quello attivo. I profili disponibili per ogni scheda audio vengono generati in automatico all'avvio del sistema e sono elencati dal comando ''pacmd list-cards''. Un solo profilo è quello attivo e non è possibile impostare il default sink su un profilo diverso da quello attivo.
 +
 +È possibile cambiare il default sink da riga di comando:
 +
 +<code bash>
 +pactl set-default-sink 'alsa_output.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00.analog-stereo'
 +</code>
 +
 +:!: **ATTENZIONE**: La modifica del //default sink// effettuata dall'utente in **user-space** viene salvata in **$HOME/.config/pulse/** pertanto sono persistenti al reboot o al restart del client PulseAudio. Queste prevalgono sulle impostazioni system-wide. Ovviamente devono essere impostazioni valide all'avvio del client, ad esempio il profilo richiesto deve essere quello attivo.
 +
 +:!: **ATTENZIONE**: Il sistema PulseAudio memorizza quale sink è stato utilizzato da un determinato programma; se tale programma viene avviato nuovamente esso verrà **collegato al sink utilizzato in precedenza** indipendentemente da quale risulta essere il //default sink// corrente.
  
 === Profilo attivo === === Profilo attivo ===
Line 165: Line 205:
 Per elencare i profili disponibili e quello attivo per ciascuna scheda audio: Per elencare i profili disponibili e quello attivo per ciascuna scheda audio:
  
-<code>+<code bash>
 pacmd list-cards pacmd list-cards
 </code> </code>
Line 194: Line 234:
 Per cambiare il profilo attivo da riga di comando: Per cambiare il profilo attivo da riga di comando:
  
-<code>+<code bash>
 pactl set-card-profile 'alsa_card.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00' 'output:analog-stereo' pactl set-card-profile 'alsa_card.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00' 'output:analog-stereo'
 </code> </code>
  
-FIXME Come configurare manualmente i profili disponibili per una scheda audio?+Per cambiare **system-wide** il profilo attivo di una scheda si può creare un file **/etc/pulse/default.pa.d/99-local.pa** (attenzione all'estensione che deve essere ''.pa''). Vedere la documentazione ''man 5 default.pa'' e ''man 5 pulse-cli-syntax''. Per impostare il profilo si indica: 
 + 
 +<file> 
 +set-card-profile alsa_card.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00 output:analog-stereo 
 +</file> 
 + 
 +Questa impostazione viene letta dal client PulseAudio al suo avvio. 
 + 
 +:!: **ATTENZIONE**: La modifica dell'//active profile// effettuata dall'utente in **user-space** **non è persistente** al reboot o al restart del client PulseAudio. Le impostazioni system-wide (es. ''/etc/pulse/default.pa.d/99-local.pa'') prevalgono. 
 + 
 + 
 +=== Stato dei controlli ===
  
 Per vedere/cambiare lo stato di mute/unmute da riga di comando: Per vedere/cambiare lo stato di mute/unmute da riga di comando:
doc/appunti/linux/sa/pulseaudio.1760348560.txt.gz · Last modified: by niccolo