Guida verificata con Ubuntu: 20.04 22.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

I problemi audio possono avere molte cause: assenza di codec, errata rilevazione automatica dell'hardware, configurazione o impostazioni errate e, nel peggiore dei casi, hardware non supportato. In Ubuntu è preinstallato Alsa che viene utilizzato come server audio dal sistema.

In questa guida verranno mostrati i principali metodi per diagnosticare e risolvere i problemi relativi alle schede audio.

Diagnostica

Riconoscimento server audio Alsa

I comandi successivi verrà identificato il nome del modello della scheda audio, utile per una ricerca in rete per risolvere il problema.

Per verificare se il server audio abbia rilevato correttamente la scheda, digitare nel terminale il seguente comando:

cat /proc/asound/cards

Se la scheda audio è stata riconosciuta, il risultato del comando precedente sarà simile al seguente:

 0 [CMI8738MC6     ]: CMI8738-MC6 - C-Media PCI CMI8738-MC6
                      C-Media PCI CMI8738-MC6 (model 55) at 0xd800, irq 19
 1 [V8237          ]: VIA8237 - VIA 8237
                      VIA 8237 with AD1888 at 0xe000, irq 20

in questo caso, sono state riconosciute due schede audio.

Se il risultato del comando precedente fosse:

no sound cards

o simile, la scheda audio non è stata rilevata.

Schede Pci-e

Se la scheda audio è di tipo PCI, digitare nel terminale il seguente comando:

lspci | grep -i audio

Schede Usb

Se la scheda audio è di tipo Usb, digitare nel terminale il seguente comando:

lsusb | grep -i audio

Riproduzione

Se Alsa ha riconosciuto la scheda audio sarà possibile eseguire dei test di riproduzione.

Digitare nel terminale il seguente comando:

aplay /usr/share/sounds/alsa/Front_Center.wav

si dovrebbe sentire il suono di una voce che pronuncia le parole «Front center» e il risultato sarà simile al seguente:

Riproduzione in corso WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Frequenza 48000 Hz, Mono

ciò significa che il file audio è stato riprodotto.

Risoluzione dei problemi

Configurare il mixer

Potrebbe accadere che la scheda audio sia stata riconosciuta ma la prova di riproduzione non è andata a buon fine.

È quindi necessario verificare quali impostazioni impediscono la riproduzione. Questo è possibile attraverso il programma Alsamixer fornito dal pacchetto alsa-utils.

In particolare verificare che il controller PCM non sia impostato su "mute".

Ripristinare i permessi utente

Se la scheda audio viene riconosciuta e la prova di riproduzione è andata a buon fine ma non viene riprodotto alcun suono dai programmi per riprodurre audio, oppure se non è possibile accedere alle impostazioni del volume digitare nel terminale il seguente comando:

sudo chown $USER:$USER -R ~/.config/

Mantenere il volume

Potrebbe accadere che le impostazioni del volume non vengano mantenute al riavvio.

Blocco della scheda audio

Un programma per la riproduzione potrebbe non funzionare perché la scheda audio risulta occupata da un altra applicazione.

In questo caso, solo il programma Mplayer sta utilizzando la scheda audio. Se così non fosse, si dovrebbe chiudere l'applicazione e configurare l'uscita audio attraverso il server audio corretto.

Alsa e Open Sound System

Alcuni programmi non possono comunicare con Alsa in quanto il suono è in uscita dal file di dispositivo /dev/dsp. Questo perché viene utilizzato il server audio OSS (Open Sound System) ormai obsoleto.

Al fine di far comunicare tali programmi con Alsa è necessario installare il pacchetto alsa-oss.

In presenza degli standard S/PDIF e TOSLINK, il valore per l'intervallo di uscita nel mixer audio di "IEC958" va impostato a zero per ottenere un uscita audio.

Dispositivi audio usb

Le schede audio Usb, che includono anche le webcam con microfono incorporato ed uscita per le cuffie, sono supportate dal modulo snd-usb-audio. Disponendo di più dispositivi audio Usb collegati, per evitare che l'ordine dei dispositivi cambi dopo un avvio (ovvero ci si trovi nella situazione in cui il sistema imposti come predefinita una scheda audio sbagliata), procedere nel seguente modo:

In questo esempio, vi sono due dispositivi connessi al computer:

La riga 0d8c:000c indica l'ID della scheda audio. Questa è composta dal "vid" (vendor id) e dal "pid" (product id) nel formato vid:pid.

Questa informazione deve essere immessa nel file /etc/modprobe.d/snd-usb-audio.

Se il file non esiste è possibile crearlo ricorrendo ad un editor di testo e utilizzando i privilegi di amministrazione.

All'interno del file indicato inserire:

# Generico
options snd-usb-audio index={a},{b} vid=0x{vid1},0x{vid2} pid=0x{pid1},0x{pid2}
# Esempio
options snd-usb-audio index=2,3 vid=0x0d8c,0x0471 pid=0x000c,0x0311

I valori fra parentesi grafe sono adattati. Nell'esempio, si considera che al computer sono connessi due dispositivi audio (scheda audio e webcam). Pertanto, le schede esterne saranno ordinate con l'opzione "index= 2,3". Dopo il riavvio successivo il sistema dovrebbe ricordare l'ordine dei dispositivi audio Usb: la scheda audio predefinita è la scheda audio Usb C-Media Electronics.

Chip Via

Per alcune schede audio VIA, vi sono più controller VIA DXS. Può essere che non tutti siano stati regolati con valori alti. Potrebbe verificarsi che il suono per alcune applicazioni è molto alto mentre è troppo basso per altre. Regolare al massimo in Alsamixer tutti gli elementi DXS.

Reinstallazione dei moduli Alsa

Nel caso in cui il kernel sia stato ricompilato non correttamente, i driver Alsa potrebbero non essere più disponibili e sarà necessario reinstallare l'ultimo kernel digitando il seguente comando in una finestra di terminale:

sudo apt-get install --reinstall linux-image-$(uname -r) 

I moduli Alsa, che sono parte del kernel, verranno riportati al loro stato originale.

Passare ad Alsa

Alcuni programmi non funzionano bene con il server audio predefinito. In questi casi è utile modificare l'uscita predefinita su Alsa.

Disturbi di interrupt

Se il suono viene riprodotto a scatti può essere d'aiuto disabilitare l'HPET (High Precision Event Timers) nel BIOS e dare al kernel, attraverso GRUB, l'opzione di avvio "pci=noacpi".

Gestione di più schede audio

Qualora Alsa abbia rilevato più di una scheda audio, l'output potrebbe essere stato direzionato sulla scheda sbagliata, ovvero il sistema ha automaticamente impostato come predefinita una scheda audio sbagliata.

Ulteriori risorse


CategoryHardware CategoryDaRevisionare

Hardware/Audio/RisoluzioneProblemiAudio (l'ultima modifica è del 11/02/2023 18.33.18, fatta da andreas-xavier)