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

Hello, i have setup this week an nice Raspberry 5 with CamillaDSP and MOTU Ultralite mk5
And use Logitech Music Server on it with an squeezelite Player also on that RPI5 with UBUNTU 23.1.
For now runs only as an Stereo Streaming device with an 2x3Way Setup.

Also REW is on that RPI for measuring and works fine.

Before i run an Najda DSP and it was ok but now it sounds so much better ;)

But i ordered alreay an HDMI (1.4) to I2S Board to connect it also to that RPI5 Board.

I want to Setup an 5.1 or 7.1 Full aktiv System and ask me, how i could group all that IN and OUT-put Channels on CamillaDSP GUI for an better Workflow.

I made an Drawing how i think it would be good but im not sure how to deal with and is CamillDSP GUI capabel to doing it.

I read there is an Group possability but not sure how.

The Most Problem i see, is to add the roomcompensation Speaker wise instead of doing it for each Chassis one by one thats lot of Chassis (7.1)
And let say you need an PEQ between Woofer and Midwoofer you must place this PEQ to both Chassis right?

Any ideas? Sugestions?
 

Attachments

  • CamillaDSP Strukture.pdf
    38.2 KB · Views: 49
Hej!
My system stopped working after a windows update. My RME digiface usb device configuration was lost after the update.
Now when I have reinstalled the DIgiface I'm getting the following error message from camilla.
I'm using an old configuration file that was working before.
Any suggestions on what might cause this?

C:\Users\46702\camilladsp>camilladsp 2basara.yml
2024-02-28 19:16:23.697972 INFO [src/bin.rs:711] CamillaDSP version 1.0.3
2024-02-28 19:16:23.698114 INFO [src/bin.rs:712] Running on windows, x86_64
2024-02-28 19:16:23.731595 ERROR [src/bin.rs:344] Playback error: Playback error: Playback device doesn't support format:
WaveFormat {
nAvgBytesPerSec: 1411200,
cbSize: 22,
nBlockAlign: 32,
wBitsPerSample: 32,
nSamplesPerSec: 44100,
wFormatTag: 65534,
wValidBitsPerSample: 32,
SubFormat: 00000003-0000-0010-8000-00AA00389B71,
nChannel: 8,
dwChannelMask: 255,
}
Closest match is:
WaveFormat {
nAvgBytesPerSec: 1411200,
cbSize: 22,
nBlockAlign: 32,
wBitsPerSample: 32,
nSamplesPerSec: 44100,
wFormatTag: 65534,
wValidBitsPerSample: 32,
SubFormat: 00000003-0000-0010-8000-00AA00389B71,
nChannel: 8,
dwChannelMask: 1599,
}
 
The channel mask looks strange. 255 means that the eight first channels are used. 1599 means the first six are used, then the next three are not, and then the following two are used.
Unfortunately Wasapi doesn't provide any way to query for supported channel maps, so most applications try with a bunch of common ones to try to find something usable. Sometimes trying to use a format that isn't supported gives a usable suggestion for an alternative format.
In this case it worked and Wasapi provided a nearest match that only differs in the channel mask. Using this suggestion might work, that's something I could try implementing.
 
Hej!
My system stopped working after a windows update. My RME digiface usb device configuration was lost after the update.
Now when I have reinstalled the DIgiface I'm getting the following error message from camilla.
I'm using an old configuration file that was working before.
Any suggestions on what might cause this?

C:\Users\46702\camilladsp>camilladsp 2basara.yml
2024-02-28 19:16:23.697972 INFO [src/bin.rs:711] CamillaDSP version 1.0.3
2024-02-28 19:16:23.698114 INFO [src/bin.rs:712] Running on windows, x86_64
2024-02-28 19:16:23.731595 ERROR [src/bin.rs:344] Playback error: Playback error: Playback device doesn't support format:
WaveFormat {
nAvgBytesPerSec: 1411200,
cbSize: 22,
nBlockAlign: 32,
wBitsPerSample: 32,
nSamplesPerSec: 44100,
wFormatTag: 65534,
wValidBitsPerSample: 32,
SubFormat: 00000003-0000-0010-8000-00AA00389B71,
nChannel: 8,
dwChannelMask: 255,
}
Closest match is:
WaveFormat {
nAvgBytesPerSec: 1411200,
cbSize: 22,
nBlockAlign: 32,
wBitsPerSample: 32,
nSamplesPerSec: 44100,
wFormatTag: 65534,
wValidBitsPerSample: 32,
SubFormat: 00000003-0000-0010-8000-00AA00389B71,
nChannel: 8,
dwChannelMask: 1599,
}

The difference is in dwChannelMask, 255 vs 1599. See this thread -> https://www.audiosciencereview.com/forum/index.php?threads/camilladsp-and-rme-interfaces.35838/.

Michael
 
  • Like
Reactions: 1 users
Henrik, actually for 8ch the chmask 1599 (as implemented in Portaudio) is much more common than the first 8 bits in wasapi-rs. I had to make Portaudio formats preferred in the wasapi java connector for REW https://github.com/pavhofman/csjsound-wasapi/blob/main/src/formats.rs#L120

Compulsory channel mask in the windows audio format is a major PITA. This is actually the first time I see a device making a suggestion for the correct channel mask.
 
  • Like
Reactions: 1 users
Henrik, actually for 8ch the chmask 1599 (as implemented in Portaudio) is much more common than the first 8 bits in wasapi-rs. I had to make Portaudio formats preferred in the wasapi java connector for REW https://github.com/pavhofman/csjsound-wasapi/blob/main/src/formats.rs#L120
Ok thanks, I will add 1599!
Compulsory channel mask in the windows audio format is a major PITA. This is actually the first time I see a device making a suggestion for the correct channel mask.
I also haven't seen it before. Wasapi really lacks a way to ask for "don't know and don't care" as channel mask.
 
Last edited:
Maybe a chmask config parameter would be useful too.
Maybe, but I try to keep the number of config parameters down. Let's try with the approach of trying all the common ones first.
The testing loops make take precious time at startup which may affect overall latency of the chain. Some Win7 have the isFormatSupported checks broken
This should not cause any issue here. Sample rate, number of channels and sample format are all fixed, so the testing loop will only need to go through a handful of channel masks.