[Alsa] Switch carte audio et mixage (résolu)

Applications multimedia / jeux
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

[Alsa] Switch carte audio et mixage (résolu)

Message par viperpaulo »

Bonjour,

J'ai un petit souci apparu récemment :
quand j'ai une vidéo streaming en cours de chargement, phonon n'arrive plus à utiliser la sortie audio :
- dans le panneau de configuration multimédia si je fais un test de ma sortie audio il me met un message d'erreur me disant que la sortie ne fonctionne pas ..
- quand je lance une autre application je n'ai aucun son

J'ai ce problème depuis :
- soit la màj de flashplugin (j'étais en prérelease depuis un bout de temps et je viens de m'en rendre compte)
- soit parce que j'ai enfin réussi/pris le temps de configurer mes cartes audio (sortie carte mère ou casque usb) grâce à un fichier .asoundrc (ça m'étonnerai tout de même car j'ai essayé en enlevant le .asoundrc mais ça n'a aucun effet)

Merci d'avance pour votre aide !

PS : si je lance une ou plusieurs applis avec du son, et une vidéo streaming après, c'est l'effet inverse : plus de son dans firefox

EDIT : enfait c'est quelque soit l'appli, je ne peux lancer qu'une à la fois mais j'ai pas l'impression que ça le faisait avant ...
Dernière modification par viperpaulo le jeu. 26 janv. 2012, 20:08, modifié 1 fois.
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Phonon] flashplugin monopolise la sortie son

Message par viperpaulo »

Ok,
Je crois avoir trouvé l'erreur, en mettant mes fichiers /etc/asound.conf et ~/.asoundrc, le son n'utilise pas phonon mais directement alsa...

alors voilà ce que j'ai comme fichiers :

/etc/asound.conf

Code : Tout sélectionner

pcm.usb {
        type hw
        card 1
        device 0
        channels 2
}
pcm.desktop {
        type hw
        card 0
        device 0
        channels 2
}
pcm.!default {
    type plug
    slave.pcm "desktop"
}
Et mon ~/.asoundrc qui change en fonction de la sortie à utiliser :

Code : Tout sélectionner

pcm.!default {
    type plug
    slave.pcm "desktop" #ou "usb" selon ce qu'on veut
}
Si quelqu'un pouvait m'aider à configurer mon installation sonore, quand je n'utilise pas ces fichiers, je n'arrive pas à utiliser mon casque usb, même en "montant" la sortie correspondante dans phonon...
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Phonon] flashplugin monopolise la sortie son

Message par benjarobin »

Phonon est une librairie pour Qt pour s’abstraire du système qui va s'occuper de décodé un fichier vidéo/audio (Vlc, gstreamer, xine, mplayer...)
Il n'y a pas de rapport avec alsa ou alors je n'ai pas compris ce qu'est phonon :-)
Tu ne veux pas dire pulseaudio par hasard ?
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Phonon] flashplugin monopolise la sortie son

Message par viperpaulo »

Dans le panneau de configuration de phonon je peux ordonner les différentes cartes audio à utiliser. Mais a priori ça n'a aucune incidence sur celle qui sera utilisée par les applications.
C'est pour ça que j'ai essayé de configurer alsa pour pouvoir choisir la carte audio : si je veux écouter sur les enceintes ou si je veux écouter via le casque (qui est en USB).
Le problème c'est que quand j'utilise les 2 fichiers de configuration ci-dessus, je ne peux plus utiliser qu'une seule application avec du son (par exemple si je commence a regarder un film avec vlc, tant que je ne ferme pas vlc, je n'ai plus aucun son dans les autres applications). C'est assez gênant et ça n'est pas du tout le cas quand je n'utilise pas cette configuration. Donc, je dois faire quelque chose qui va pas !!

J'avoue que je ne comprends pas tout tout au son avec linux, je vais essayer de regarder du coté de pulseaudio (que je n'utilise pas pour l'instant)
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Phonon] flashplugin monopolise la sortie son

Message par benjarobin »

Je te déconseille l'utilisation de pulseadio, sinon peux tu donner la sortie de aplay -L avec et sans les asound.conf / asoundrc
Personnellement au vue de la configuration de alsa, je dirais que le comportement est normal
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Phonon] flashplugin monopolise la sortie son

Message par viperpaulo »

Effectivement je n'ai pas spécialement envie d'utiliser pulseaudio. Il semblerait que la solution soit au niveau de dmix.

aplys -L pour avec asoundrc

Code : Tout sélectionner

null                                                                                                           
    Discard all samples (playback) or generate zero samples (capture)                                          
front:CARD=Intel,DEV=0                                                                                         
    HDA Intel, ALC889 Analog                                                                                   
    Front speakers                                                                                             
surround40:CARD=Intel,DEV=0                                                                                    
    HDA Intel, ALC889 Analog                                                                                   
    4.0 Surround output to Front and Rear speakers                                                             
surround41:CARD=Intel,DEV=0                                                                                    
    HDA Intel, ALC889 Analog                                                                                   
    4.1 Surround output to Front, Rear and Subwoofer speakers                                                  
surround50:CARD=Intel,DEV=0                                                                                    
    HDA Intel, ALC889 Analog                                                                                   
    5.0 Surround output to Front, Center and Rear speakers                                                     
surround51:CARD=Intel,DEV=0                                                                                    
    HDA Intel, ALC889 Analog                                                                                   
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers                                          
surround71:CARD=Intel,DEV=0                                                                                    
    HDA Intel, ALC889 Analog                                                                                   
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers                                       
iec958:CARD=Intel,DEV=0
    HDA Intel, ALC889 Digital
    IEC958 (S/PDIF) Digital Audio Output
front:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    Front speakers
surround40:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    HDMI Audio Output
et sans ...

Code : Tout sélectionner

null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
    HDA Intel, ALC889 Analog
    Default Audio Device
front:CARD=Intel,DEV=0
    HDA Intel, ALC889 Analog
    Front speakers
surround40:CARD=Intel,DEV=0
    HDA Intel, ALC889 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
    HDA Intel, ALC889 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
    HDA Intel, ALC889 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
    HDA Intel, ALC889 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
    HDA Intel, ALC889 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
    HDA Intel, ALC889 Digital
    IEC958 (S/PDIF) Digital Audio Output
default:CARD=Headset
    Logitech G930 Headset, USB Audio
    Default Audio Device
front:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    Front speakers
surround40:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Headset,DEV=0
    Logitech G930 Headset, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    HDMI Audio Output
ça me semble assez identique, en revanche le fichier /usr/share/alsa/alsa.conf qui est la configuration par défaut charge le asoundrc, c'est ce qui doit lui poser problème ...
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Phonon] flashplugin monopolise la sortie son

Message par benjarobin »

C'est tout sauf identique, il manque la sortie "default" avec asoundrc
Sans elle tu n'as pas de mixer, donc une seule application à la fois
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Phonon] flashplugin monopolise la sortie son

Message par viperpaulo »

Ah effectivement je n'ai pas fait suffisamment attention !

EDIT :
J'ai lu un bon morceau de la doc Alsa et dmix, mais je crois que ça dépasse mes compétences.
Je vais essayer de m'inspirer de ce qui est dit sur cette page pour faire quelque chose car si j'ai bien compris c'est ce que je cherche à fair emais avec une seule carte.
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Phonon] flashplugin monopolise la sortie son

Message par viperpaulo »

J'ai réussi, alors voilà la marche à suivre si ça intéresse quelqu'un :
/etc/asound.conf

Code : Tout sélectionner

pcm.card0 {
    type hw
    card 0
# mmap_emulation true
}
pcm.dmix0 {
    type dmix 
    ipc_key 34521 
    slave {
        pcm "card0" 
    }
}
pcm.dsnoop0 {
    type dsnoop 
    ipc_key 34523
    slave {
        pcm "card0" 
    }
}
pcm.asym0 {
    type asym 
    playback.pcm "dmix0" 
    capture.pcm "dsnoop0"
}
pcm.pasym0 {
    type plug 
    slave.pcm "asym0"
}
# 'dsp0' is espected by OSS emulation etc.
pcm.dsp0 {
    type plug
    slave.pcm "asym0"
}
ctl.dsp0 {
    type hw
    card 0
}
pcm.card1 {
    type hw
    card 1
# mmap_emulation true
}
pcm.dmix1 {
    type dmix 
    ipc_key 34521 
    slave {
        pcm "card1" 
    }
}
pcm.dsnoop1 {
    type dsnoop 
    ipc_key 34523
    slave {
        pcm "card1" 
    }
}

pcm.asym1 {
    type asym 
    playback.pcm "dmix1" 
    capture.pcm "dsnoop1"
}
pcm.pasym1 {
    type plug 
    slave.pcm "asym1"
}
# 'dsp1' is espected by OSS emulation etc.
pcm.dsp1 {
    type plug
    slave.pcm "asym1"
}
ctl.dsp1 {
    type hw
    card 1
}
pcm.!default {
    type plug
    slave.pcm "asym0"
}
ctl.!default {
    type hw
    card 0
}
et dans le fichier ~/.asoundrc, mettre au choix asym0 pour pointer la carte hw0 ou asym1 pour la carte hw1.

Code : Tout sélectionner

pcm.!default {
    type plug
    slave.pcm "asym0" # ou asym1
}
Le changement est immédiat et en lançant une nouvelle appli, elle pointera sur la carte sélectionnée !
On peut ensuite utiliser plusieurs applis en même temps sur la même carte !
J'ai fait un script pour changer automatiquement de ~/.asoundrc via un raccourci clavier !

Voilà !
Répondre