Era da parecchio tempo che non spippolavo con la scheda audio, e non ce ne sarebbe stato motivo perché tutto funzionava alla perfezione o almeno per quello che facevo non avevo problemi.
Poi mi capita un video su youtube e lo trovo senza audio ma senza preoccuparmene più di tanto rinvio un’indagine più approfondita.
Passano ancora un paio di giorni con prove dallo stesso risultato così finalmente mi decido.
Fantastico ! scopro ora che youtube mi va di default con HTML5 invece del flash player però soffre di alcuni problemi legati all’audio configurato per il 4.1, l’ultima volta che avevo settato per bene l’audio porta il calendario a gennaio 2012, ne avevo parlato in questa news.
Urge cercare una soluzione per rimettere in pista la mia Sound Blaser Live Platinum. (link image)
Leggo in giro che potrebbe essere una configurazione non corretta di .asoundrc , così per curiosità riprovo il test sui 4 satelliti
$ speaker-test -Dplug:surround51 -c6 -l1 -twav
Accipicchia nessun suono ! nel tempo qualcuno ha cambiato qualcosa e non me lo hanno detto !!!
Riprendo in mano .asoundrc che ora è così:
pcm.!default { type plug slave.pcm "surround51" slave.channels 6 route_policy duplicate }
e dopo alcune prove lo trasformo in questo:
pcm.!default { type hw card 2 }
ctl.!default { type hw card 2 }
# for 4.1 speakers
pcm.ch41dup {
type route slave.pcm surround41 slave.channels 5 ttable.0.0 1 ttable.1.1 1 ttable.0.2 1 ttable.1.3 1 ttable.0.4 0.5 ttable.1.4 0.5 }
Non occorre fare nessun riavvio di alcun servizio, le configurazioni vengono prese al volo dopo il salvataggio delle modifiche al file.
Per la prova mi affido a un’altro test
$ speaker-test -c 4 -D surround40:2 -t wav -l1 speaker-test 1.0.28 Playback device is surround40:2 Stream parameters are 48000Hz, S16_LE, 4 channels WAV file(s) Rate set to 48000Hz (requested 48000Hz) Buffer size range from 64 to 16384 Period size range from 16 to 16384 Using max buffer size 16384 Periods = 4 was set period_size = 4096 was set buffer_size = 16384 0 - Front Left 1 - Front Right 3 - Rear Right 2 - Rear Left Time per period = 5.546798
Urca ora funziona tutto !
Alcune info sul test
- -c 4 = front left/fron tright/rear left/rear right
- -c 5 = c4 + LFE
- -c 6 = c5 + center
- -l1 = numero di cilci ripetizione
Dopo surround40: inserire il valore riferito alla propria scheda audio, valore che si può ottenere in modo dettagliato con il comando :
$ aplay -l
oppure più breve :
$ cat /proc/asound/cards
0 [PCH ]: HDA-Intel – HDA Intel PCH
HDA Intel PCH at 0xf6200000 irq 28
1 [NVidia ]: HDA-Intel – HDA NVidia
HDA NVidia at 0xf6080000 irq 17
2 [Live ]: EMU10K1 – SB Live! Platinum [CT4760P]
SB Live! Platinum [CT4760P] (rev.8, serial:0x80401102) at 0xb000, irq 19
Ora possiamo goderci i video in HTML5 finalmente con l’audio perché questo video muto era uno strazio
LINK
- http://www.alsa-project.org/main/index.php/Asoundrc
- http://alsa.opensrc.org/Asoundrc?title=Asoundrc
- http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.htmll
UPDATE
Set alsa order with multiple cards
Dall’out precedente è possibile notare come vengono riconosciute 3 schede audio, pertanto quando l’ordine di queste cambia le configurazioni fatte fino ad ora non funzionano più.
Per questo è necessario impostare un’ordine predefinito di caricamento delle schede audio.
Andiamo a trarre spunto da una pagina : http://alsa.opensrc.org/MultipleCards#Reordering_the_driver_for_a_particular_card e modifichiamo /etc/modprobe.d/alsa-base.conf
options snd slots=snd-emu10k1 #options snd-emu10k1 index=0
ora dopo un riavvio l’ordine di caricamento sarà il seguente :
$ cat /proc/asound/cards 0 [Live ]: EMU10K1 - SB Live! Platinum [CT4760P] SB Live! Platinum [CT4760P] (rev.8, serial:0x80401102) at 0xb000, irq 19 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xf6200000 irq 28 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xf6080000 irq 17
cambiando .asoundrc di conseguenza, con la corretta scheda audio
pcm.!default { type hw card 0 }
ctl.!default { type hw card 0 }
# for 4.1 speakers
pcm.ch41dup { type route slave.pcm surround41 slave.channels 5 ttable.0.0 1 ttable.1.1 1 ttable.0.2 1 ttable.1.3 1 ttable.0.4 0.5 ttable.1.4 0.5
in questo modo ho risolto il problema che alcuni player mostravano restando muti, ad esempio anche se tutto sembrava funzionare radiotray non aveva output quando la SBLive non era nella posizione 0.