I am using the two channels on my DAC to independently drive the drivers in my speaker through a custom ALSA filter or a digital crossover.
Volumio 3 seems to override the ALSA config file on startup and the only documentation I can find to overcome this is to write a plugin for my ALSA digital crossover.
This is something unique to my installation and I see little value in mastering the Volumio plugin SDK just to get my ALSA filters working again.
Is there a way to include my ALSA snippet into my installation without development?
Thanks!
I’ve tried moving my old ALSA config over to a plugin but the best I can get it to still gives the following error in mpd:
Jul 03 17:09 : client: [0] opened from local
ALSA lib pcm_params.c:2226:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib /home/pi/volumio-alsa-plugin/src/pcm_volumioswitch.c:174:(_snd_pcm_volumioswitch_hw_params) PCM volumioMultiRoomServer failed to read the hardware parameters for pcm loki
mpd: pcm.c:710: snd_pcm_name: Assertion `pcm' failed.
My ALSA snippet looks like this:
# SEAS Loki - Start
# Create a plug for the crossover
pcm.loki {
type plug
slave {
pcm "loki-makemono"
format "unchanged"
channels "unchanged"
}
}
# Digital Crossover for SEAS Loki
pcm.loki-makemono {
type route
slave.pcm "loki-filter"
ttable {
0.0 1 # in-channel 0, out-channel 0, 100% volume
1.0 1 # in-channel 1, out-channel 0, 100% volume
}
}
pcm.loki-filter {
type ladspa
slave.pcm "loki-speaker"
path "/usr/lib/ladspa"
channels 2
plugins
{
0 {
label RTlr4lowpass
policy none
input.bindings.0 "Input"
output.bindings.1 "Output"
input { controls [ 2900 ] } # low left [ frequency (-6 dB XO point)]
}
1 {
label RTlr4hipass
policy none
input.bindings.0 "Input"
output.bindings.0 "Output"
input { controls [ 2900 ] } # high left (match freq above)
}
}
}
pcm.loki-speaker {
type plug
slave {
pcm "loki-t-table"
channels 2
rate "unchanged"
}
}
pcm.loki-t-table {
type route
slave.pcm "loki-complete"
ttable {
0.0 0.8175
1.1 1
}
}
pcm.loki-complete {
type copy
slave.pcm "lokiout"
}
# SEAS Loki - End crossover.
Removing pcm.loki-filter
from the ALSA chain removes the error but defies the point of the exercise.
Any help would be appreciated.
hello!
not sure to help but to my understanding…
your alsa does :
- join L and R for mono output
- send to left freq >2900Hz with an attenuation 0.8175
- send to right freq <2900Hz
Am I right?
Hi!
Yes, that is correct.
The tweeter is connected to the left channel and the mid woofer to the right channel on this driver.
Thanks
I understand, but do you know you can achieve this with FusionDsp?
Thank you, I think I got it working (for now, I had to address the hardware directly which is technically not allowed in Volumio plugins).
My implementation: https://github.com/dirkackerman/volumio-plugins-sources