ALSA type asym pour sortie BT

Liste des GroupesRevenir à fcol configuration 
Sujet : ALSA type asym pour sortie BT
De : chris (at) *nospam* novazur.fr (Christophe PEREZ)
Groupes : fr.comp.os.linux.configuration
Date : 04. Jan 2023, 22:37:30
Autres entêtes
Organisation : NoVaZuR News Server
Message-ID : <tp4o2a$jne$1@vmserveur.novazur.fr>
User-Agent : Pan/0.153 (Mariupol; c5405f5)
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.
Quoi que je fasse, impossible de "mixer" plusieurs sources.

La config ALSA a toujours été pour moi un mystère sans nom.

Merci d'avance à celui qui saura me guider. J'ai sans doute oublié de
donner des précisions à me réclamer.

Date Sujet#  Auteur
4 Jan 23 * ALSA type asym pour sortie BT16Christophe PEREZ
5 Jan 23 `* Re: ALSA type asym pour sortie BT15jp willm
6 Jan 23  `* Re: ALSA type asym pour sortie BT14Christophe PEREZ
7 Jan 23   +* Re: ALSA type asym pour sortie BT4jp willm
7 Jan 23   i`* Re: ALSA type asym pour sortie BT3Christophe PEREZ
7 Jan 23   i `* Re: ALSA type asym pour sortie BT2jp willm
7 Jan 23   i  `- Re: ALSA type asym pour sortie BT1Christophe PEREZ
6 Jan 23   +- Re: ALSA type asym pour sortie BT1Christophe PEREZ
6 Jan 23   +* Re: ALSA type asym pour sortie BT3Nicolas George
6 Jan 23   i`* Re: ALSA type asym pour sortie BT2Christophe PEREZ
7 Jan 23   i `- Re: ALSA type asym pour sortie BT1Christophe PEREZ
24 Apr 23   `* Re: ALSA type asym pour sortie BT5Christophe PEREZ
25 Apr 23    `* Re: ALSA type asym pour sortie BT4jp willm
30 Apr 23     `* Re: ALSA type asym pour sortie BT3jp willm
3 May 23      `* Re: ALSA type asym pour sortie BT2Christophe PEREZ
4 May 23       `- Re: ALSA type asym pour sortie BT1jp willm

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal