06-29-2016, 01:19 PM
Pour ceux que cela peut intéresser, je viens de tester une nouvelle carte USB multicanal, à base du "chip" XMOS XCORE-200 (99$):
http://www.diyinhk.com/shop/audio-kits/1...f-pcb.html
L'intérêt est de pouvoir mettre en place un filtrage actif "logiciel", et éviter ainsi d'avoir recours à des cartes DSP externes (souvent couteuses). MiniDSP offre une carte équivalente, mais sur la base d'une version plus ancienne de la puce XMOS: https://www.minidsp.com/products/usb-aud...sbstreamer
Côté "soft", il y a pas mal de solutions: BruteFIR (qui semble complexe), ecasound et les "plugins" LADSP dans Alsa. C'est cette dernière solution que j'ai commencé à tester.
Voici ici, par exemple: https://www.sidtechtips.com/2016/03/13/r...sover-dsp/
L'utilisation des plugins est définie dans le fichier /etc/asound.conf sous linux. Cela semble simple au premier abord, mais il faut en fait pas mal tâtoner car la syntaxe n'est pas très "permissive". Il n'y a pas non plus de documentation très explicite sur le sujet (mais pas mal d'infos sur le forum DIY Audio).
Sur ma carte Alix 3D2, avec un modeste processeur Geode à 500MHZ, la CPU tourne à 30% avec squeezelite.
Il me reste à optimiser les fréquences/filtres. Je compte également essayer d'activer le filtrage avec Airplay (plugin shairport-sync), mais pour cela je crois comprendre qu'il faut passer par ecasound (shairport génère un flux qui est ensuite repris par ecasound).
Toutes suggestions sont le bienvenue !
http://www.diyinhk.com/shop/audio-kits/1...f-pcb.html
L'intérêt est de pouvoir mettre en place un filtrage actif "logiciel", et éviter ainsi d'avoir recours à des cartes DSP externes (souvent couteuses). MiniDSP offre une carte équivalente, mais sur la base d'une version plus ancienne de la puce XMOS: https://www.minidsp.com/products/usb-aud...sbstreamer
Côté "soft", il y a pas mal de solutions: BruteFIR (qui semble complexe), ecasound et les "plugins" LADSP dans Alsa. C'est cette dernière solution que j'ai commencé à tester.
Voici ici, par exemple: https://www.sidtechtips.com/2016/03/13/r...sover-dsp/
L'utilisation des plugins est définie dans le fichier /etc/asound.conf sous linux. Cela semble simple au premier abord, mais il faut en fait pas mal tâtoner car la syntaxe n'est pas très "permissive". Il n'y a pas non plus de documentation très explicite sur le sujet (mais pas mal d'infos sur le forum DIY Audio).
Code :
pcm.!default {
type route
ttable.0.0 1
ttable.1.2 1
ttable.1.3 1
ttable.0.1 1
type plug
slave.pcm crossover
}
ctl.!default {
type hw
card D20
}
pcm.crossover {
type ladspa
slave.pcm speaker
path "/usr/lib/ladspa"
channels 4
plugins
{
0{
label RTlr4lowpass
policy none
input.bindings.0 "Input"
output.bindings.0 "Output"
input { controls [2000] }
}
1 {
label RTlr4hipass
policy none
input.bindings.1 "Input"
output.bindings.1 "Output"
input { controls [2000] }
}
2 {
label RTlr4lowpass
policy none
input.bindings.2 "Input"
output.bindings.2 "Output"
input { controls [2000] }
}
3 {
label RTlr4hipass
policy none
input.bindings.3 "Input"
output.bindings.3 "Output"
input { controls [2000] }
}
}
}
pcm.speaker {
type plug
slave.pcm "surround41:D20
}
Sur ma carte Alix 3D2, avec un modeste processeur Geode à 500MHZ, la CPU tourne à 30% avec squeezelite.
Il me reste à optimiser les fréquences/filtres. Je compte également essayer d'activer le filtrage avec Airplay (plugin shairport-sync), mais pour cela je crois comprendre qu'il faut passer par ecasound (shairport génère un flux qui est ensuite repris par ecasound).
Toutes suggestions sont le bienvenue !