CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc.

REW doesn't seem to let one choose subdevice which (based on what might appear to be feedback recorded) suggests it is recording itself.
I am not sure I understand. If you are just trying to analyze REW output via aloop, REW runs fine with a single aloop.
1684821547438.png
 
Yes I use single device aloop at other times so I am using 2 aloop pairs exactly as @Henckel suggests, rew doesn't appear to allow selection of specific subdevices so I am not sure exactly what it is doing but my guess is some feedback loop. Hence thought of asking here to see if anyone has such a thing working before I post on avnirvana
 
rew doesn't appear to allow selection of specific subdevices
Do you really need subdevices selection? See my example - loopback works fine, just select the corresponding card->device (not subdevice). I have a few loopback devices and all are available in REW:
1684824414861.png


Also, newer REW supports alsa PCM devices, allowing you to define any device in your .asoundrc and use it in REW. Those devices are prefixed with PCM:

1684824506429.png
 
  • Like
Reactions: 1 user
for context, someone asked me to implement https://github.com/3ll3d00d/ezbeq/issues/66 which I've done so now just doing some quick tests to check
in case anyone is interested, there's an initial release of this linked from https://github.com/3ll3d00d/ezbeq/issues/66#issuecomment-1558108317 . I don't use camilladsp myself so I implemented it using some assumptions about pipeline layout that perhaps don't hold in real life. If anyone wants to comment or suggest changes then feel free to add to that issue or create new ones.
 
  • Like
Reactions: 1 user
Hi from southern Norway, @HenrikEnquist! Actually the furthest south you can get, when I'm out fishing I could go to Hirtshals if I wanted to! ;) I registered to this forum for one reason, your CamillaDSP. I have a kind of a special user case, and I just wanted to make sure that it's actually possible to do this with your software. I hope you don't mind the question.

In my boat Mad Max I have a Pioneer headunit with two good power amps. The speakers are underneath the roof, one pair of 6x9 JBL Marine MS9200 in enclosures in front of the windscreen and one pair of the same type in the back of the wheelhouse, in front of the struts that holds the roof up. Then I have two active JBL 10" subs on each side of the box that's used for equipment and to take care of the crawfish, lobster and crab pots on. You can see one of them on the picture. The weird looking board on the starboard side is where I put my crawfish traps standing up, 12 in a series with 15 meters in between them, and then I just drive them out. Very easy way of setting them!

The signal sources are a Pi 4 with a 2 TB SSD library controlled and played by J. River Media Center, plus a DAB radio. What I need is a way to control subwoofer volume and maybe have a better lowpass filter than the Pioneer has. I like to have the subs close to max for the volume of the rest of the system (I listen to prog and other types of metal and love a lot of bass), but I need a way to keep them below distortion, and the different albums mix drive me nuts. I have to adjust all the time if I'm doing a playlist with tracks from different albums, and for now that means that I have to bend down under the dashboard, where the Pioneer headunit is, and go in to the menu to adjust it.

The boat looks like this, it has a front steering wheel and controls as well, where I am much of the time. That means that getting to the Pioneer under the dashboard, inside it's waterproof mounting box, is a pain in the you know what.

Mad Max in summer weather.jpg


I have one extra Pi that isn't used for much (mainly some special, old stuff that won't work on Bullseye, so I have that one running Stretch). What I thought I'd do was to use that extra Pi with your software and a Behringer USB sound card with line inputs and outputs, like this:

Subwoofer out from headunit --> Behringer UCA222 USB sound card line input --> CamillaDSP --> Behringer UCA222 USB sound card line output --> Subwoofer line in

This will then be controlled by a switch connected to an ESP32, sending MQTT messages of subwoofer volume up and down to Node-RED, which in it's turn will connect to the websocket of CamillaDSP and send up and down commands.

Will this work as I intend? And could you help me out with a config file for that? I have installed CamillaDSP and I have tried running it, but I do struggle with the config file and the options.
 
Last edited:
Let's see if I understand correctly. You basically want to add a separate level control for the subwoofer channels, that can be controlled remotely? And possibly a lowpass filter too? Do you want any automatic level control using the compressor, of just manual?
Running just the subwoofer channels through adc + camilladsp + dac will delay them significantly compared to the rest. Integration will suffer from that. It would be better to let all signals follow the same path. That would mean using an interface with at least 4 channels in and out. Apart from this I don't see any reason it wouldn't work.
Have you considered simpler solutions? For example an Arduino controlling a volume control chip such as pga2311?
 
Thank you for answering! Yes, you understand it perfectly! Just manual control. I first tried to find something that could be controlled directly by an ESPHome or the Pi, but didn't manage to do so. I'm afraid IR control will be more hit and miss, and I need something that reacts quite immediately. Is something like that possible to use with an ESPHome or directly on a Pi? I have experience with those, but no experience with Arduino. Also since I know my limits I don't solder anything advanced, the furthest I go is to solder keys on my Mattias Ergo Pro keyboard (usually one or two every month, with my usage 9-10 hours a day) and the pins on an I2c volt- and amperemeter for the ESP. But if there is a finished board that could be used, I could of course try that, good suggestion!

I must admit I didn't think about the delay, how much do you think that would be? I would have to get something with six channels, for the subs, and one pair each for the front and rears, so maybe three of those Behringer USB sound cards. I'm not sure how that would affect midrange and high frequencies, if the A/D --> D/A would degrade the signal. What's your opinion on that? This is of course no high-end system, but it does sound pretty good. And doing it this way instead of the pure volume control would let me save DSP-presets for different types of music, and presets for the DAB radio that can be called by websocket, if I have understood the project readme correctly. Is that right?
 
I found this, with six inputs and 8 outputs. Maybe that would work?

https://shop.audioinjector.net/detail/Sound_Cards/Octo+RCA+sound+card

It may even be more tidy than having three USB cards, if the ESP/Pi volume control card doesn't work. I must admit I'm really out of my area here. I have built many whole house systems with a combination of amps, PC's and Pi's, with special drivers like the kX to make a Sound Blaster Audigy 2 into a three zone sound card, but this stuff is very new to me!
 
so maybe three of those Behringer USB sound cards
I can't recommend using multiple cards. A single 6+ channel device is much easier to set up and works better.

I found this, with six inputs and 8 outputs. Maybe that would work?
I'm not sure how stable that one is. It crams all those channels into the stereo signals the pi i2s interface supports. Then uses a combination of hardware and software to make it work. Does someone have experience with it?

I would just go with a usb audio interface. They should be transparent even if the extra ad-da step seems unnecessary.
 
Thank you for the suggestion! Unfortunately that's going to to be almost impossible to find a space for underneath the dashboard and equally difficult to weatherproof. Anything that isn't in a adequately sealed enclosure, IP67 or IP68 with enough silica gel bags, will corrode very fast in an open boat, and I don't know of air- and watertight enclosures that would fit that one. Also the "12V" in a boat is closer to 15 when the engine is running (up to 14,7, to be exact) and varies a lot, so it's not as "clean" as power from a wall wart that probably comes with that device, so I would need a power conversion too. And that's another source to noise.

That leaves me either with the pga2311, which I will look more into to see if I can connect it to a Pi and if I can control it directly ("goto -3 dB"), or the Behringer UCA222 USB sound card. I believe three of these would be the best, since that would give me DSP control as well, so perhaps three Pi 3B's with one USB sound card each? I have one of those laying around, and they fit into much smaller, weatherproof boxes, which I have access to, I can mount all three with Pi's in one mid sized box. I have one of them laying around here, so I can begin testing with that to see if it adds noise. Can I find a sample config file somewhere, where I can simply put in the name/ID of the inputs and outputs?
 
There aren't that many options with 6 channels bit in and out, most have more or fewer.
I have not tested it myself but I believe this should work well: https://www.thomann.de/de/behringer_umc1820.htm
It has more channels than you need, but is very reasonably priced, and runs off 12V.
It works like a charm. :)
I use it with the plughw software interface and with an overclocked RPi 4 I am able to reach a really low chunksize (64 frames with the next20 version) with 2 in and 6 out audio channels.
 

Attachments

  • IMG_2609.jpeg
    IMG_2609.jpeg
    488.5 KB · Views: 76