HTML5 no audio in alsa+sb live+4.1

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

 

 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.

 

Rispondi