The calculations in ACDf are already done in double precision. That is about as good as its gets. So nothing to worry about there.
It sounds like you are doing some kind of second guessing about your system. Maybe you should revisit the system design, etc. Changing filters and listening is not a good way to get the "best" sound. Rather, it's a recipe for un-ending frustration...
Thanks for the quick reply! Its nice to learn we're already at double precision!

Fortunately, I don't frustrate easily! 😀 You're right about the guessing! It is due to the new ESS chips, which offer a number of processing configurations that are adjustable via I2C. Tweaking them has occupied my limited attention since upgrading the 3 stereo DACs. I think I now have them running very near to their optimal configurations for my rig. [Via I2C I can adjust in real time some functions that are also available in ACDf...] So it's now time to crank up REW and see where things stand...
All the best and thanks again for sharing ACDf,
Frank
Hi there,
I am just working on my first audio project. Building a little wifi enabled speaker.
For the speaker I am using a small 2 driver case, a raspberry and a hifiberry amp2.
As this is a single speaker, I am pretty much on mono. Hence I thought I can use the two channels of the amp2 to connect each driver and have a software crossover running.
So since having this idea, I am now struggling with the asound.conf.
I got it so far, to have it reduce the stereo signal to mono and put that to each driver. Now I wanted to add a crossover, however I always get an error message, that the "Slave PCM not usable".
Started with Richard Taylors plugin and read a few threads in the forum here and figured, that this seems to be the most active and expert filled one. So sorry for a bit of hijacking.
I am happy to use Charlies plugins, however I am not sure if the plugin is the issue here.
Any help is appreciated.
Kind regards
Chris
My asound.conf
I am just working on my first audio project. Building a little wifi enabled speaker.
For the speaker I am using a small 2 driver case, a raspberry and a hifiberry amp2.
As this is a single speaker, I am pretty much on mono. Hence I thought I can use the two channels of the amp2 to connect each driver and have a software crossover running.
So since having this idea, I am now struggling with the asound.conf.
I got it so far, to have it reduce the stereo signal to mono and put that to each driver. Now I wanted to add a crossover, however I always get an error message, that the "Slave PCM not usable".
Started with Richard Taylors plugin and read a few threads in the forum here and figured, that this seems to be the most active and expert filled one. So sorry for a bit of hijacking.
I am happy to use Charlies plugins, however I am not sure if the plugin is the issue here.
Any help is appreciated.
Kind regards
Chris
My asound.conf
Code:
pcm.!default {
type plug
slave.pcm "monocard"
}
ctl.!default {
type hw
card 0
}
pcm.monocard {
type route
slave.pcm "crossover"
slave.channels 2
ttable {
# Copy both input channels to output channel 0 (Left).
0.0 0.5
1.0 0.5
# Copy both input channels to output channel 1 (Right).
0.1 0.5
1.1 0.5
}
}
pcm.crossover {
type ladspa
slave.pcm "amp2"
path "/usr/local/lib/ladspa"
channels 2
plugins
{
0 {
label RTlr4lowpass
policy none
input.bindings.0 "Input"
output.bindings.1 "Output"
input { controls [ 500 ] }
}
1 {
label RTlr4hipass
policy none
input.bindings.0 "Input"
output.bindings.0 "Output"
input { controls [ 500 ] }
}
}
pcm.amp2 {
type plug
slave {
pcm "hw:0,0"
channels 2
}
}
So with just more trying and testing another config I found, I think I made it work. I get different mono sound on each driver
Apparently that was the easy part. How do I now get a good setup? I read about the frequency band for each speaker. However this seems to be completely no name stuff, hence no manual or stickers on it.
Is there a way to measure where the crossover frequency should be?
Probably the experts already fell off their chairs, but I am really new to this and not looking for best speaker ever, just a good result.
@Charlie: I looked at your plugin as well (as that should be easy to exchange now), however got a bit intimidated with the configuration. Pretty much everything other than filter_type and Fop is new to me.
Working config now:
Apparently that was the easy part. How do I now get a good setup? I read about the frequency band for each speaker. However this seems to be completely no name stuff, hence no manual or stickers on it.
Is there a way to measure where the crossover frequency should be?
Probably the experts already fell off their chairs, but I am really new to this and not looking for best speaker ever, just a good result.
@Charlie: I looked at your plugin as well (as that should be easy to exchange now), however got a bit intimidated with the configuration. Pretty much everything other than filter_type and Fop is new to me.
Working config now:
Code:
pcm.!default {
type plug
slave.pcm "crossover"
}
ctl.!default {
type hw
card 0
}
pcm.crossover {
type ladspa
slave.pcm "amp2"
path "/usr/local/lib/ladspa"
channels 6
plugins
{
0 {
label RTlr4lowpass # Left Woofer output to channel 2
policy none
input.bindings.0 "Input"
output.bindings.2 "Output"
input { controls [ 3000 ] }
}
1 {
label RTlr4lowpass # Right Woofer output to channel 3
policy none
input.bindings.1 "Input"
output.bindings.3 "Output"
input { controls [ 3000 ] }
}
2 {
label RTlr4hipass # Left Tweeter output to channel 4
policy none
input.bindings.0 "Input"
output.bindings.4 "Output"
input { controls [ 3000 ] }
}
3 {
label RTlr4hipass # Right Tweeter output to channel 5
policy none
input.bindings.0 "Input"
output.bindings.5 "Output"
input { controls [ 3000 ] }
}
}
}
pcm.amp2 {
type plug
slave {
pcm "t-table"
channels 6
rate "unchanged"
}
}
pcm.t-table {
type route
slave {
pcm "hw:0,0"
channels 2
}
ttable {
2.0 0.5 # Mix both woofers to mono
3.0 0.5
4.1 0.5 # Mix both tweeters to mono
5.1 0.5
}
}
pcm.plughw.slave.rate = "unchanged";
Chris,
I've been using Charlies plugins with success. Check out Jrubins Instructable "Raspberry Pi Music Server With Built-in Crossover and DSP" he has a good sample asound.conf file.
I've got Klipsch 3-way tower speakers having 2x8" drivers an a 1" horn tweeter. I cross over at 200hz on the 8" woofer, 200-3khz on the 8" midrange, and 3khz on the tweeter. I think the original passive crossovers were 400hz and 1500hz.
I've been using Charlies plugins with success. Check out Jrubins Instructable "Raspberry Pi Music Server With Built-in Crossover and DSP" he has a good sample asound.conf file.
I've got Klipsch 3-way tower speakers having 2x8" drivers an a 1" horn tweeter. I cross over at 200hz on the 8" woofer, 200-3khz on the 8" midrange, and 3khz on the tweeter. I think the original passive crossovers were 400hz and 1500hz.
Thanks for the shout out!
The latest version (ver 3) of the ACDf (IIR filtering) plugin was recently released. I encourage everyone to upgrade to that. I am using it in all my speaker projects. Download link:
From the command line, use wget as shown. From a GUI interface just click on the http link that is highlighted.
To extract the archive, type at the command line:
The latest version (ver 3) of the ACDf (IIR filtering) plugin was recently released. I encourage everyone to upgrade to that. I am using it in all my speaker projects. Download link:
Code:
wget [url]http://audio.claub.net/software/LADSPA/ACDF_v3.tar[/url]
To extract the archive, type at the command line:
Code:
tar -xvf ACDF_v3.tar
Last edited: