Salut,
je reviens rapidement sur ce sujet après quelques essais pour proposer une solution d'integration qui fonctionne:
maxidcx a écrit:Bonjour,
j'ai fait pas mal d'essais avec Volumio et il s'avère que assez souvent Volumio écrase les fichiers de configuration en remplaçant le nom du device de sortie audio. Dans mon cas il est systématiquement remplacé par "hw:5,0" pour pointer directement vers le dac, sans passer par le plugin dsp.
alors effectivement, Volumio écrase les fichier de conf de mpd et de shairport-sync dès qu'on modifie les réglages.
On peut se retrouver avec une lecture audio qui passerait directement vers la carte audio, sans passer par le plugin avdsp.
Dans le cas d'un crossover actif multi-voies çà pourrait tourner à la catastrophe.
Du coup je préfère une solution radicale qui est d'intercepter les flux audio qui sont routés vers
hw:x,y.
l'idée est de surcharger le code alsa
pcm.hw { ... } qui se trouve dans
/usr/share/alsa/alsa.conf grace à un statement
pcm.!hw { ... } .... par l'action magique du point d'exclamation
après quelque recherches et tests, il suffit de créer un nouveau fichier
hwintercept.conf dans le repertoire
/usr/share/alsa/alsa.conf.dSon contenu sera systématiquement chargé au lancement de alsa, et avant les fichiers
/etc/asound.conf et
~/.asoundrc qui resteront donc prioritaires.
Il doit etre crée avec les privilèges root avec sudo nano /usr/share/alsa/alsa.conf.d/hwintercept.confle contenu entre crochet de
pcm.!hw doit tout simplement être un copier/coller de ce qu'il y a normalement dans
pcm.hw, mais on change les lignes entre
type hw et
subdevice $SUBDEV par
- Code: Tout sélectionner
type empty
slave.pcm {
@func concat
strings [ "hw" $CARD $DEV ]
}
De cette façon, toutes les flux vers
hw:x,y ou x est votre numero de carte hardware (et y à 0 pour les cartes usb) sont redirigées vers un nouveau pcm dont le nom est
hwxy.
Il suffit de declarer ce que doit faire
pcm.hw50 pour rediriger le flux:
- Code: Tout sélectionner
pcm.hw50 {
type avdsp
dspprog "/mydir/myavdsp.bin"
slave.pcm dac8pro
hint { description "card 5,0 now routed to avdsp plugin" }
}
pcm.dac8pro {
type hw card 5 device 0
hint { description "card 5 is my DAC8PRO" }
}
voici un exemple du fichier
remarque: cette approche fonctionne aussi pour le plugin cudaFIR
pour ce qui est de développer un plugin volumio, jai eu l'occasion de bricoler un peu ce sujet, on est assez vite limité sur les possibilités de parametrages. je laisse de coté cela quelques temps.