# ALSA: mixer soft pour accès simultané par plusieurs programs

**URL:** <https://www.debian-fr.org/t/alsa-mixer-soft-pour-acces-simultane-par-plusieurs-programs/34674>\
**Category:** Trucs et Astuces\
**Created:** [Février 21, 2016, 3:46 UTC](https://www.debian-fr.org/t/alsa-mixer-soft-pour-acces-simultane-par-plusieurs-programs/34674 "2016-02-21T03:46:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 3:46 UTC](https://www.debian-fr.org/t/alsa-mixer-soft-pour-acces-simultane-par-plusieurs-programs/34674/1 "2016-02-21T03:46:37Z")

</div>

Problème : dans le cadre d’une configuration 100% ALSA (aucun bidule ignoble genre pulseaudio) j’avais régulièrement des “conflits” entre différents programmes qui émettent du son (Amarok, Flash, Java, …). Dans le meilleur des cas c’était juste un programme qui ne pouvait accéder à la carte son, mais souvent ça plantait carrément tout le son, et j’étais obligé de fermer les programmes concernés + redémarrer alsa-utils (service alsa-utils restart) pour pouvoir avoir du son à nouveau.  
Le blocage complet était d’ailleurs particulièrement fréquent avec une combinaison de Java (un jeu de go que j’utilise souvent) et Flash (lecture sur Youtube par exemple).

Solution : il suffit de dire à ALSA de créer un pipeline qui va servir de mixer entre les différentes applications. Pour cela, créez le fichier ~/.asoundrc contenant :

[code]pcm.!default {  
type plug  
slave.pcm “dmixer”  
}

pcm.dsp0 {  
type plug  
slave.pcm “dmixer”  
}

pcm.dmixer {  
type dmix  
ipc\_key 1024  
slave {  
pcm "hw:0,0"  
period\_time 0  
period\_size 1024  
buffer\_size 32768  
rate 44100  
}  
bindings {  
0 0  
1 1  
}  
}

ctl.dmixer {  
type hw  
card 0  
}[/code]

Depuis, plus aucun problème !

À noter qu’en fonction de votre configuration, il faudra peut-être adapter les deux endroits qui parlent de hw pour que ça pointe sur votre carte son :

- dans la section pcm.dmixer { … slave { ligne pcm “hw:0,0”
- dans la section ctl.dmixer { ligne card 0

Malheureusement je ne pourrai pas vous en dire beaucoup plus, ça fait déjà plusieurs mois que j’ai mis ça en place à partir d’un truc trouvé sur internet donc sans grande réflexion de ma part. Le fait est que mon intuition (conflit entre programmes qui veulent verrouiller la carte son de manière exclusive) était bonne, et que cette solution marche.
