Path: ...!newsreader4.netcologne.de!news.netcologne.de!news.uzoreto.com!aioe.org!3my8gGK7ESrpx0+4iQgUXA.user.46.165.242.75.POSTED!not-for-mail From: Christophe PEREZ Newsgroups: fr.comp.os.linux.configuration Subject: ALSA type asym pour sortie BT Date: Wed, 4 Jan 2023 20:37:30 -0000 (UTC) Organization: NoVaZuR News Server Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="8444"; posting-host="3my8gGK7ESrpx0+4iQgUXA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Pan/0.153 (Mariupol; c5405f5) X-Notice: Filtered by postfilter v. 0.9.2 Bytes: 6612 Lines: 189 Bonjour, Je sais avoir peu de chances d'obtenir une réponse éclairée, le problème était assez pointu, mais qui ne tente rien n'a rien. Sous Gentoo, j'utilise ALSA, avec un plugin alsaequal pour rajouter un équalizer à la sortie vu la qualite sans. Afin d'avoir la possibilité de mixer plusieurs sources sonores simultanées, j'étais arrivé (il y a bien longtemps, avec de l'aide de Nicolas) à la config suivante (qui fonctionne très bien) ~.asoundrc : defaults.pcm.card 0 defaults.pcm.device 0 ctl.equal { type equal; } pcm.plugequal { type equal; slave.pcm "plug:dmix"; } pcm.asymed { type asym playback.pcm "plugequal" capture.pcm "hw:3,0" } pcm.!default { type plug slave.pcm "asymed" } Maintenant, je veux avoir cette sortie occasionnellement sur un casque bluetooth. J'ai donc installé bluez-alsa, qui (entre autres), rajoute /etc/alsa/ conf.d/20-bluealsa.conf : # BlueALSA integration setup # By default the predefined "bluealsa" PCM will use # the most recently connected Bluetooth device. defaults.bluealsa.device "00:00:00:00:00:00" # Default to A2DP connection because that is what # most people want to use - high quality audio. defaults.bluealsa.profile "a2dp" # By default allow BlueALSA to negotiate the "best" # codec for each PCM. defaults.bluealsa.codec "unchanged" # By default do not change the volume or mute state # when a PCM is opened. defaults.bluealsa.volume "unchanged" # By default do not modify the software volume state # when a PCM is opened. defaults.bluealsa.softvol "unchanged" defaults.bluealsa.delay 0 defaults.bluealsa.service "org.bluealsa" # Default for mixer is to show all PCMs defaults.bluealsa.ctl.device "FF:FF:FF:FF:FF:FF" defaults.bluealsa.ctl.battery "yes" ctl.bluealsa { @args [ DEV BAT SRV ] @args.DEV { type string default { @func refer name defaults.bluealsa.ctl.device } } @args.BAT { type string default { @func refer name defaults.bluealsa.ctl.battery } } @args.SRV { type string default { @func refer name defaults.bluealsa.service } } type bluealsa device $DEV battery $BAT service $SRV hint { show { @func refer name defaults.namehint.extended } description "Bluetooth Audio Control Device" } } pcm.bluealsa { @args [ DEV PROFILE CODEC VOL SOFTVOL DELAY SRV ] @args.DEV { type string default { @func refer name defaults.bluealsa.device } } @args.PROFILE { type string default { @func refer name defaults.bluealsa.profile } } @args.CODEC { type string default { @func refer name defaults.bluealsa.codec } } @args.VOL { type string default { @func refer name defaults.bluealsa.volume } } @args.SOFTVOL { type string default { @func refer name defaults.bluealsa.softvol } } @args.DELAY { type integer default { @func refer name defaults.bluealsa.delay } } @args.SRV { type string default { @func refer name defaults.bluealsa.service } } type plug slave.pcm { type bluealsa device $DEV profile $PROFILE codec $CODEC volume $VOL softvol $SOFTVOL delay $DELAY service $SRV } hint { show { @func refer name defaults.namehint.extended } description "Bluetooth Audio Hub" } } Je souhaiterais évidemment éviter de toucher à cette config là. Le service (openrc) lance /usr/bin/bluealsa avec pour option (configuré par mes soins à coup de tâtonnements) : BLUEALSA_CONF="-p a2dp-source -p hsp-ag" Je connecte mon casque BT, je modifie ~/.asoundrc tel que : pcm.!default { type plug slave.pcm "bluealsa" } Et j'ai bien le son dans le casque, SAUF que c'est exclusif. La première appli utilisant la sortie la bloque aux autres. Je me dis qu'alors, c'est au niveau de pcm.asymed que je dois rediriger par (je n'ai pas forcément besoin d'une sortie équalizée dans le casque) : pcm.asymed { type asym playback.pcm "bluealsa" capture.pcm "hw:3,0" } pcm.!default { type plug slave.pcm "asymed" } Mais pas mieux. ========== REMAINDER OF ARTICLE TRUNCATED ==========