• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

RPi + CamillaDSP Tutorial

The Flex filters the same as the 4X10HD filters dated 04/26/2016. I just posted something on your OPLUG thread which may be useful.

Michael
Thank you so much. I just checked it. Everything is the same except that I invert the phase of tweeter&UM in camilladsp’s “Mixers” as instructed in the plan. The weird thing is that there’s a dip at 7500hz if I invert the tweeter&UM driver. The dip disappears if I only invert UM. I have a table in the middle of the room but I though high frequency won’t be affected that much.

Edit: I wired tweeters in series and for the rear tweeter the positive is connected to the negative of the amp.
 
Last edited:
Thank you so much. I just checked it. Everything is the same except that I invert the phase kf tweeter&UM in camilladsp’s “Mixers” as instructed in the plan. The weird thing is that there’s a dip at 7500hz if I invert the tweeter&UM driver. The dip disappears if I only invert UM. I have a table in the middle of the room but I though high frequency won’t be affected that much.

Edit: I wired tweeters in series and for the rear tweeter the positive is connected to the negative of the amp.

Yes, good call. I did not invert any polarity in that configuration, I'll add a note on OPLUG as warning.

Michael
 
'Make sure you fellas understand the inverting requirement.
The LM/UM crossover is 2nd-order. Inverting is required.
The UM/T crossover is 4th-order. Inverting is also required because it's adjacent to the UM.
I've answered this query a number of times on the OPLUG.......you can find it if you search.

If you're seeing a dip at 7500Hz, then you have a wiring polarity incorrect, or some other relative polarity issue.
If the rear tweeter and woofer are reversely wired and the front tweeter and woofer are normally wired, should I only invert the polarity of UM? I’m confused here why the EQ setting in the plan have tweeter and UM both inverted.
 
digital vs. analog volume control

my current setup uses minidsp SHD with dirac room eq / Motu UL Mk5 and camilladsp on a rpi4 for streaming qobuz and roon. For now i set the volume around -20dB on the SHD and also -20dB on the UL Mk5. I wonder if it would be beneficial to run the whole digital route with 0dB and insert an analog multichannel volume control like the SPL 2618.
 
digital vs. analog volume control

my current setup uses minidsp SHD with dirac room eq / Motu UL Mk5 and camilladsp on a rpi4 for streaming qobuz and roon. For now i set the volume around -20dB on the SHD and also -20dB on the UL Mk5. I wonder if it would be beneficial to run the whole digital route with 0dB and insert an analog multichannel volume control like the SPL 2618.

Amir measured the SPL Volume8 here -> https://www.audiosciencereview.com/forum/index.php?threads/spl-volume8-review.34870/. I can't really tell if there is any difference between the 2608 and 2618 model, the user manual for the 2618 shows a drawing with 2608 on the front panel -> https://spl.audio/wp-content/uploads/Volume8_2618_BA_E.pdf. As far as I can tell the specs aren't different.

An advantage of using an analog volume control is that it will attenuate noise at lower volumes, however, as the SPL Volume8 has a higher noise floor than the MOTU Ultralite Mk5 adding it will actually result in a higher noise at all volume positions. You will also pay a penalty in terms of channel imbalance.

I assume in your current setup you use the SHD for volume control? If so, I think your current setup makes sense. If you are using Dirac on the SHD you really don't want the SHD volume fixed at 0 dB due to the potential for digital clipping.

Michael
 
thank you Michael!

Yes, i use the SHD for volume control but i also reduced the Ultralite Mk5 to -20 dB otherwise i have to go to -40dB on the SHD wich i wanted to avoid. I'm still not sure if that's the best way to do it ...
 
Here are the latest scripts for V2.0. I think they work pretty well. Putting a "_" in front of a configuration name will flag it for use with flirc.py, if it does not start with "_" flirc.py will NOT switch to it. If you are running CamillaDSP with "-w" and attempt to load an invalid configuration via flirc.py CamillaDSP will error out, however it will switch to the next configuration in the list if you hit KEY_RIGHT and CamillaDSP will restart when given a valid configuration.

Michael
All work fine but if you have convolver filter it crash when hit right key:
$ python3 flirc.py Traceback (most recent call last): File "/home/pi/flirc.py", line 103, in <module> main() File "/home/pi/flirc.py", line 67, in main cdsp.config.validate(cdsp.config.read_and_parse_file(newconfig)) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 500, in validate validated_string = self.client.query("ValidateConfig", arg=config_string) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 78, in query return self._handle_reply(command, rawrepl) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 89, in _handle_reply raise CamillaError(value) camilladsp.camilladsp.CamillaError: Invalid filter 'sennheiser'. Reason: No such file or directory (os error 2) Exception ignored in: <function InputDevice.__del__ at 0x7fb5698dc0> Traceback (most recent call last): File "/usr/lib/python3/dist-packages/evdev/device.py", line 160, in __del__ File "/usr/lib/python3/dist-packages/evdev/device.py", line 305, in close File "/usr/lib/python3/dist-packages/evdev/eventio_async.py", line 55, in close File "/usr/lib/python3.9/asyncio/events.py", line 725, in get_event_loop_policy File "/usr/lib/python3.9/asyncio/events.py", line 718, in _init_event_loop_policy ImportError: sys.meta_path is None, Python is likely shutting down
 
Last edited:
All work fine but if you have convolver filter it crash when hit right key:
$ python3 flirc.py Traceback (most recent call last): File "/home/pi/flirc.py", line 103, in <module> main() File "/home/pi/flirc.py", line 67, in main cdsp.config.validate(cdsp.config.read_and_parse_file(newconfig)) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 500, in validate validated_string = self.client.query("ValidateConfig", arg=config_string) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 78, in query return self._handle_reply(command, rawrepl) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 89, in _handle_reply raise CamillaError(value) camilladsp.camilladsp.CamillaError: Invalid filter 'sennheiser'. Reason: No such file or directory (os error 2) Exception ignored in: <function InputDevice.__del__ at 0x7fb5698dc0> Traceback (most recent call last): File "/usr/lib/python3/dist-packages/evdev/device.py", line 160, in __del__ File "/usr/lib/python3/dist-packages/evdev/device.py", line 305, in close File "/usr/lib/python3/dist-packages/evdev/eventio_async.py", line 55, in close File "/usr/lib/python3.9/asyncio/events.py", line 725, in get_event_loop_policy File "/usr/lib/python3.9/asyncio/events.py", line 718, in _init_event_loop_policy ImportError: sys.meta_path is None, Python is likely shutting down

Also tried v2 update version, near same problem:
python3 testflirc.py Traceback (most recent call last): File "/home/pi/testflirc.py", line 86, in <module> main() File "/home/pi/testflirc.py", line 63, in main cdsp.config.set_file_path(newconfig) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 403, in set_file_path self.client.query("SetConfigFilePath", arg=value) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 78, in query return self._handle_reply(command, rawrepl) File "/home/pi/.local/lib/python3.9/site-packages/camilladsp/camilladsp.py", line 91, in _handle_reply raise CamillaError("Command returned an error") camilladsp.camilladsp.CamillaError: Command returned an error Exception ignored in: <function InputDevice.__del__ at 0x7fafbc5ee0> Traceback (most recent call last): File "/usr/lib/python3/dist-packages/evdev/device.py", line 160, in __del__ File "/usr/lib/python3/dist-packages/evdev/device.py", line 305, in close File "/usr/lib/python3/dist-packages/evdev/eventio_async.py", line 55, in close File "/usr/lib/python3.9/asyncio/events.py", line 725, in get_event_loop_policy File "/usr/lib/python3.9/asyncio/events.py", line 718, in _init_event_loop_policy ImportError: sys.meta_path is None, Python is likely shutting down

Can you show your list of configurations from the GUI? My guess is that you do not have any that start with _. I can add some error handling to ignore the request to change configurations if you do not have any configurations starting with _.

Michael
 
@mdsimon2 , i have différents configs starts with _

the script work fine ( change volume, mute and configs starting with "_" )
BUT
if the config have convolver filter
script crash with the error i have posted.
 
Last edited:
If you comment out the line cdsp.config.validate(cdsp.config.read_and_parse_file(newconfig)) it should work fine. I had put that in there when I started playing around with error handling but it is not needed.

Michael
Work! thank you!!!
 
also i have notice than sometime, at startup flirc.py crash because statefile.yml not have config writed.
So i have make this change:

# active = cdsp.config.file_path()
# configdir = active.split('camilladsp')[0] + 'camilladsp/' + 'configs/'
configdir = os.path.expanduser( '~' ) + '/camilladsp/' + 'configs/'
 
How to use camilla dsp for topping e30, what settings to make, I don't know anything :(
Can you setup as explained in the first post of mdsimon2?
 
I have tried to internalize the majority of this thread, but there is a lot of "working session" content that might have buried some relevant comments.

I guess I am mostly directing this question to @mdsimon2 :

For folks experimenting with speaker designs, there is a lot of support for using digital crossovers (and maybe leaving it at that like the LxMini).

Once you get past the most basic setup like a pair of bookshelf speakers in a 2-way configuration (no sub) using a miniDSP 2x4HD or similar, things seem to get a bit out of control.

Mostly, I think "this is a pretty niche group and you have to spend money in this hobby" but I have seen you make comments like "camillaDSP + Octo is much cheaper than a miniDSP solution" and I think I have gotten lost in the details and missed the big picture.

Let's say you want to attempt a 2.1 configuration with DSP or digital crossover, or let's say you want to build and test your first 3-way design...

Let's say you scrounge up a few budget stereo amps (Fosi V3 or whatever people are excited about)..

Let's say you have one or more active subs if you are doing the 2.1 thing...

You now need to jump from something like the miniDSP 2x4HD to something with 8 output channels (2 channels each tweeter, mid, woofer in the 3-way) (2 channels each for tweeter and midwoofer, and 5th channel for sub in a 2.1 setup).

The miniDSP Flex 8 would let you go from your source (streamer, etc.) via optical into the miniDSP which would act as the DSP/crossover/DAC out to however many amps/subs, right?

So your cost would be ~$600 USD + Amps (other than the speakers/sub/sources) right?

If you wanted to get cheaper via camillaDSP/RaspberryPi and some kind of USB Audio Interface.... aren't you looking at: RaspberryPi 4 plus a few specific connections and maybe a case, then add the Motu (~ $650 USD) or the Octo (> $1300 USD) and then probably a good amount of cabling/adapters depending on balanced or not and TSR vs. XLR vs. RCA...

Basically, I love the DIY aspect of this whole thing, but am struggling to understand when it is about saving money vs. getting more flexibility and all that.

I know the intro to this topic mentioned "Another good application is passive stereo speakers with 3+ subwoofers. CamillaDSP makes the most sense for applications over 4 channels as the newly introduced miniDSP Flex offers 4 channel DSP with good analog performance at a very reasonable price. You can do a 4 channel RPi4 + CamillaDSP setup for less cost than the Flex and such a setup has a few advantages such as more processing power and volume control with dynamic loudness."

What am I missing?
 
I have tried to internalize the majority of this thread, but there is a lot of "working session" content that might have buried some relevant comments.

I guess I am mostly directing this question to @mdsimon2 :

For folks experimenting with speaker designs, there is a lot of support for using digital crossovers (and maybe leaving it at that like the LxMini).

Once you get past the most basic setup like a pair of bookshelf speakers in a 2-way configuration (no sub) using a miniDSP 2x4HD or similar, things seem to get a bit out of control.

Mostly, I think "this is a pretty niche group and you have to spend money in this hobby" but I have seen you make comments like "camillaDSP + Octo is much cheaper than a miniDSP solution" and I think I have gotten lost in the details and missed the big picture.

Let's say you want to attempt a 2.1 configuration with DSP or digital crossover, or let's say you want to build and test your first 3-way design...

Let's say you scrounge up a few budget stereo amps (Fosi V3 or whatever people are excited about)..

Let's say you have one or more active subs if you are doing the 2.1 thing...

You now need to jump from something like the miniDSP 2x4HD to something with 8 output channels (2 channels each tweeter, mid, woofer in the 3-way) (2 channels each for tweeter and midwoofer, and 5th channel for sub in a 2.1 setup).

The miniDSP Flex 8 would let you go from your source (streamer, etc.) via optical into the miniDSP which would act as the DSP/crossover/DAC out to however many amps/subs, right?

So your cost would be ~$600 USD + Amps (other than the speakers/sub/sources) right?

If you wanted to get cheaper via camillaDSP/RaspberryPi and some kind of USB Audio Interface.... aren't you looking at: RaspberryPi 4 plus a few specific connections and maybe a case, then add the Motu (~ $650 USD) or the Octo (> $1300 USD) and then probably a good amount of cabling/adapters depending on balanced or not and TSR vs. XLR vs. RCA...

Basically, I love the DIY aspect of this whole thing, but am struggling to understand when it is about saving money vs. getting more flexibility and all that.

I know the intro to this topic mentioned "Another good application is passive stereo speakers with 3+ subwoofers. CamillaDSP makes the most sense for applications over 4 channels as the newly introduced miniDSP Flex offers 4 channel DSP with good analog performance at a very reasonable price. You can do a 4 channel RPi4 + CamillaDSP setup for less cost than the Flex and such a setup has a few advantages such as more processing power and volume control with dynamic loudness."

What am I missing?
CDSP allows you to potentially expand as much as you want. Remember, motu mk5 is potential for 18 inputs and 20 outputs. With flex8, you get 8 outputs and no analog inputs anymore. With motu mk5, you get pretty much everything. That’s how I understand it.
 
  • Like
Reactions: MCH
CDSP allows you to potentially expand as much as you want. Remember, motu mk5 is potential for 18 inputs and 20 outputs. With flex8, you get 8 outputs and no analog inputs anymore. With motu mk5, you get pretty much everything. That’s how I understand it.

So you mostly mean that if you are going to stay with 8 Channels and no analog inputs, a miniDSP Flex8 might be the best all-around option (cost, etc) and that CDSP solutions really shine with flexibility and expandability once you get past that point? I could see an argument for CDSP even if costs are all the same just for the fun/tweakability of it, but once you start comparing a $500 solution to a $2000 solution or whatever - it is probably time to start thinking pros/cons..
 
So you mostly mean that if you are going to stay with 8 Channels and no analog inputs, a miniDSP Flex8 might be the best all-around option (cost, etc) and that CDSP solutions really shine with flexibility and expandability once you get past that point? I could see an argument for CDSP even if costs are all the same just for the fun/tweakability of it, but once you start comparing a $500 solution to a $2000 solution or whatever - it is probably time to start thinking pros/cons..
If you just want to keep cost down, cdsp can run on windows or mac. You don’t need a pi.
 
Keep in mind the Flex 8 hadn't been announced when the thread started. It's a good mid price option now. If you're on a low budget there are cheaper multichannel interfaces, especially on the used market. I think my FastTrack Ultra 8R was £75. Add a used thin client for <£20 instead of the Pi to save a bit more. If you don't already have amps you can look at things like the Hypex FusionAmps instead - about as cheap as you can get nCore if you aren't a manufacturer, with decent DSP hardware included. Or at the lower end amp boards like the Sure/Wondom JAB series where you can use SigmaStudio to set up the DSP. Pick whatever suits your needs.
 
Mostly, I think "this is a pretty niche group and you have to spend money in this hobby" but I have seen you make comments like "camillaDSP + Octo is much cheaper than a miniDSP solution" and I think I have gotten lost in the details and missed the big picture.

When I've made statements like this, I was referring to using an Okto with a miniDSP digital I/O product like the DDRC-88D. Clearly a RPi4 ($55) running CamillaDSP is much cheaper than a DDRC-88D ($1000). Prior to using a RPi4 + CamilllaDSP with my Okto I was using a DIY'd miniSHARC that gave me 4x AES outputs -> https://www.minidsp.com/forum/hardware-support/18550-minisharc-8-channel-digital-output. That still cost ~$800.

The miniDSP Flex 8 would let you go from your source (streamer, etc.) via optical into the miniDSP which would act as the DSP/crossover/DAC out to however many amps/subs, right?

Important to note that when I wrote the tutorial the Flex Eight didn't exist. If you wanted something with 8 channels of output, decent analog performance and a display you couldn't get it from miniDSP. Even with the Flex Eight if you want balanced analog outputs or want to implement low frequency FIR filters you are out of luck. I have no interest in unbalanced outputs so the Flex Eight is a no-go for me. Don't get me wrong, if the Flex Eight works for you it is a great one box, simple solution.

Basically, I love the DIY aspect of this whole thing, but am struggling to understand when it is about saving money vs. getting more flexibility and all that.

To me it is more about flexibility but should say that means flexibility on components and price. You can build an 8+ channel CamillaDSP system for less than $300, the easiest way is miniDSP USBstreamer -> ADAT -> used pro audio interface. With new components you could do it for under $400 with a Behringer UMC1820 (no need for USBstreamer). You can also build a CamillaDSP system that is $1000+ and has SOTA analog performance.

Michael
 
Back
Top Bottom