PDA

Visualizza versione completa : impostare mixaggio audio con alsa



Andy86
04-11-14, 23: 50
:bai

Utilizzando solo alsa senza il famigerato pulseaudio, c'è o non c'è un sistema di abilitare il mixaggio audio ed utilizzare l'audio per più di un processo eliminando il cavolo di errore di "risorsa occupata"?

Ho trovato decinaia di configurazioni diverse per .asound.conf, come faccio a sapere quale funziona?
Quella della wiki di arch non funziona. :wall

Se ho ben capito l'errore dipende dal fatto che la scheda non supporta il mixaggio hardware e quindi bisogna configurare per quello software.

pierino_89
05-11-14, 02: 50
:bai

Utilizzando solo alsa senza il famigerato pulseaudio, c'è o non c'è un sistema di abilitare il mixaggio audio ed utilizzare l'audio per più di un processo eliminando il cavolo di errore di "risorsa occupata"?
Teoricamente non dovresti impostare assolutamente nulla, i problemi grossi li incontri con le applicazioni scritte male. Per il semplice fatto che se un'applicazione non usa il mixaggio software e prende possesso del device, non lo lascerà alle altre che lo usano. E viceversa.



Se ho ben capito l'errore dipende dal fatto che la scheda non supporta il mixaggio hardware e quindi bisogna configurare per quello software.
Praticamente nessuna scheda lo supporta. E anche se lo supportasse, probabilmente mancherebbe il supporto nel driver :ghgh
ALSA di per sé dovrebbe essere già a posto, altrimenti non ti funzionerebbe una beata mazza. Non esiste un "abilita mixaggio software", è già attivo di default.

Nei peggiori casi io ho risolto usando "aoss", che chiama in causa un sacco di cose che non c'entrano nulla (tra cui OSS) ma spesso ti risolve la questione.
alsa.opensrc.org (http://alsa.opensrc.org/Aoss)

Andy86
05-11-14, 13: 51
:bai

Ciò che mi fa pensare che manchi qualcosa è il fatto che lo faccia con qualunque applicazione, anche mplayer, vlc e firefox (anche con aoss), e non credo che siano scritte male. :boh

Qui vedo che hanno risolto lo stesso mio problema: [Risolto] Usare più applicazioni simultanemanete con Alsa ? Debianizzati.Org (http://forum.debianizzati.org/viewtopic.php?f=17&t=46409), ma su debian, mentre io sono su chakra. Ho provato comunque a impostare quella configurazione in /etc/asound.conf... l'ha digerita ma non è cambiato nulla. :boh

Siccome lo fa anche tra due applicazioni eseguite con wine contemporaneamente, e ho problemi audio con alan wake (tra l'altro comuni anche ad utenti windows), che nelle cutscene parte 1 volta si e 10 no, volevo vedere se risolvendo una volta per tutte questa cosa magari risolveva, perché non capisco cosa c'è diverso la volta che parte (spesso sembra niente) e giocare con le cutscene mute è bruttissimo... :sisi

pierino_89
05-11-14, 15: 34
Ah no, allora hai proprio qualche problema di fondo. Hai provato a non impostare niente in asound.conf? Meglio nessuna configurazione che una errata :tong2

Andy86
05-11-14, 15: 44
Certo. Prima non c'era niente.
Praticamente l'ho creato per provare a risolvere.

Comunque provando un po' mi sono reso conto che quella conf. del forum di debian andava modificata con il giusto device (hw:0,0), ho provato con il risultato che ora l'audio non parte e mi dice che il file è corrotto, ma non trovo un log per capire dove stanno gli errori della conf. di alsa.

Ora l'attuale asound è questo:


Only registered members can view code.

edit:
Correggendo la riga "card 0,0" in "card 0" l'audio riparte, ma rimane il problema del device occupato.
Ah, ho notato che kde nel pannello audio quando faccio click su "test" butta fuori un errore strano.

------------------------------------

Da xconfig.error:

Only registered members can view code.

E agli altri funziona e a me no!! Uffa!! :wall

edit 2:

Ho notato che con firefox + smplayer il mixaggio quasi va, solo che il flashplugin va in crash, dopo aver ricominciato il video un po' di volte.

pierino_89
06-11-14, 02: 07
Flash player e firefox vanno poco d'accordo, fai le prove con qualcosa di più stabile :ghgh
Gli errori dovresti trovarli in /var/log/syslog (o messages) o direttamente in fondo a dmesg.

Andy86
06-11-14, 14: 08
:bai

Intendevo che funzionava solo con quello, mentre tra vlc e smplayer fanno sempre conflitto.

In realtà mi sono reso conto che, se avvio prima flashplayer, smplayer non parte proprio, invece, se avvio prima smplayer, il flash parte ma va in crash (anche con qupzilla, stesso comportamento). :boh

In hda non ci sono voci relative ad alsa, solo alla scheda audio.


Only registered members can view code.

Ma non vedo nessun errore.

syslog e/o messages non ce li ho:


Only registered members can view code.

pierino_89
06-11-14, 17: 06
Ah, quindi usi systemd senza un ulteriore servizio di logging. Cerca con "journalctl" (guarda il man, io non lo uso molto)

Andy86
06-11-14, 19: 32
Io? È la distro che è fatta così. :sisi

Comunque in systemctl non trovo nulla ne di alsa ne di schede audio.
A parte che accetta solo eseguibili per filtrare l'output, oppure -b per vedere solo il boot corrente.
Comunque utilizzando la funzione cerca di konsole, (non supporta grep), non trovo nulla.

edit: Nell'output di wine ci sono una sfilza di:

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave

pierino_89
07-11-14, 00: 33
Io? È la distro che è fatta così. :sisi
Non è vero, hai solo da installarlo :ghgh
Prima di passare a systemd avevo syslog-ng e continuo tutt'ora ad usarlo.



Comunque in systemctl non trovo nulla ne di alsa ne di schede audio.
A parte che accetta solo eseguibili per filtrare l'output, oppure -b per vedere solo il boot corrente.
Comunque utilizzando la funzione cerca di konsole, (non supporta grep), non trovo nulla.

Perché di base usa "less" per darti l'output. Ma mi pare fosse abbastanza intelligente da capire se lo stai usando in pipe o meno (o forse c'era un'opzione apposta).



edit: Nell'output di wine ci sono una sfilza di:

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
Questo non ci aiuta molto, perché è la stessa cosa che direbbero le altre applicazioni: il dispositivo lo sta già usando qualcun altro.

Comunque, la guida definitiva dovrebbe essere questa:
alsa.opensrc.org (http://alsa.opensrc.org/Dmix)

Tuttavia, come subito noterai, For ALSA 1.0.9rc2 and higher you don't need to setup dmix for analogue output. Dmix is enabled by default for soundcards which don't support hardware mixing.

Andy86
07-11-14, 12: 09
Non è vero, hai solo da installarlo :ghgh

Fatto. :sisi



Questo non ci aiuta molto, perché è la stessa cosa che direbbero le altre applicazioni: il dispositivo lo sta già usando qualcun altro.

Quindi forse ho visto giusto che il problema con i video di alan wake è quello, perché mentre dava quell'errore il sonoro si sentiva nei menù, ma non si sentiva nelle cutscene. :m:


Comunque, la guida definitiva dovrebbe essere questa:
alsa.opensrc.org (http://alsa.opensrc.org/Dmix)

L'avevo già vista quella guida... ma le configurazioni suggerite più o meno sono sempre quelle e non risolvono. :wall



Tuttavia, come subito noterai, For ALSA 1.0.9rc2 and higher you don't need to setup dmix for analogue output. Dmix is enabled by default for soundcards which don't support hardware mixing.

Ma allora quale potrebbe essere questo cavolo di "problema di fondo" che rompe le palle? :boh

pierino_89
07-11-14, 12: 28
Ma allora quale potrebbe essere questo cavolo di "problema di fondo" che rompe le palle? :boh
Quello per cui hanno introdotto pulseaudio, ovvero che ALSA spesso è inutilmente complesso e poco versatile :ghgh

Qui hai già guardato?
Asoundrc - AlsaProject (http://www.alsa-project.org/main/index.php/Asoundrc#Software_mixing)

Andy86
07-11-14, 13: 30
Eh, solo che il problema ce l'avevo tal pari anche con pulseaudio... oltre agli altri problemi che dava con wine. http://www.collectiontricks.it/images/smilies/unknow.gif

Comunque seguendo il comando su quel link ho visto che con aplay il mixer funziona... e allora perché con tutti gli altri programmi no? http://www.collectiontricks.it/images/smilies/unknow.gif

edit h14:

Ho fatto le prove incrociate ed ho scoperto che il problema si presenta solo quando c'è in mezzo l'interfaccia grafica:

Aplay + aplay = funziona.
Aplay + mplayer liscio (e viceversa) = funziona.
Aplay + smplayer = smplayer si lamenta che il device è occupato.
smplayer + aplay = aplay si lamenta che il device è occupato.

vlc non so se posso provarlo senza interfaccia grafica.

edit h20:

Ho fatto una prova senza asound.conf, ed in effetti il mixer con le applicazioni DA TERMINALE funziona bene.
Cioè mettendo insieme mplayer e aplay i suoni si sentono entrambe.
Ma se c'è di mezzo l'interfaccia grafica (smplayer, vlc) allora spunta l'errore (anche se li lancio da terminale, ma c'è sempre la grafica).

Potrebbe essere qualche processo di kde/kwin o quello che è che gestisce la gui che si cattura la scheda? http://www.collectiontricks.it/images/smilies/mmmm.gif

Nel log della grafica non si sono errori riguardo all'audio, solo i vari:
"[ 104.062] (II) config/udev: Adding input device HDA Intel PCH Line xxxx (/dev/input/eventX)"

pierino_89
07-11-14, 20: 23
KDE usa phonon per gestire l'audio, prova a guardare nelle sue impostazioni. In particolare, che backend stai usando?

Andy86
07-11-14, 21: 17
Non so esattamente cosa sia un backend, comunque c'è solo GStreamer.
Sotto dice "motore Gstreamer di phonon" link al sito e "4.8.0".

Tra l'altro ho notato che non ho più la tab hardware, quella dove si impostava la configurazione delle casse. :boh

----------------------

edit 21.45:

Ho disinstallato il backend di gstreamer e installato quello di vlc, l'altro unico ad essere nei repo, però l'errore del device occupato è rimasto.

Unica differenza: Nelle impostazioni phonon sono apparse altre tre schede audio (con il simbolino di vlc accanto), una chiamata alsa che emette l'audio di prova.

Sono rimaste tutte le altre, anche quella default che esce come un doppione di quella principale. :boh

aggiornamento h00.15:

Mi sono accorto che ora firefox e wine riescono a prendere l'audio insieme (non ha mai funzionato neanche con pulse), tutte le altre combinazioni invece continuano a fare a botte. :boh

Tra l'altro, cosa veramente strana, mi sono accorto che avviare alan wake con un video di youtube aperto risolve il problema delle cutscene mute e va avanti a funzionare anche quando il video finisce, lasciando solo l'audio del gioco (:gogo). (e se avvio senza il video in play il problema si ripresenta).

pierino_89
08-11-14, 13: 52
Pare che VLC non sia molto soddisfatto di dmix. Guarda qui:
Sound mixing with the ALSA Dmix plugin instead of a soundserver (http://www.brain-dump.org/blog/entry/45/Sound_mixing_with_the_ALSA_Dmix_plugin_instead_of_ a_soundserver)

Anche qui puoi trovare dei buoni suggerimenti:
Gentoo Wiki Archives - ALSA/Software_dmix_Configurations (http://www.gentoo-wiki.info/ALSA/Software_dmix_Configurations)

Fra l'altro, come backend gstreamer andava benissimo, probabilmente andava solo configurato.

Andy86
08-11-14, 15: 00
:bai

Se mi assicuri che va meglio gstreamer e mi dici come configurarlo rimetto quello... però prima tra firefox e wine l'audio litigava, e anche tra più applicazioni wine contemporanee... ora almeno quello non lo fa più e mi ha permesso di trovare quel workaround per alanwake. :ghgh

Dopo installo quel plug-in per vlc, ma per smplayer/mplayer vs aplay?
Sembra sempre di capire che ci sia qualcosa che interessa l'interfaccia grafica, ma non mplayer liscio. (vedi post #13 (http://www.collectiontricks.it/forum/gnu-linux/Ct5916-impostare-mixaggio-audio-alsa/index2.html#post210800))