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

TNT

Member
Joined 2003
Paid Member
"..i a list of" - what do you mean?

There are no compatibility issues between Camilla and DACs. The compatibility lies in the HW platform re USB drivers etc. As long as the OS present the device as available, CamillaDSP will work - if it isnt presented, its not Camillas fault.

E.g. from you link: "No drivers installation required for Linux with UAC2 compliant kernel" - this mean Camilla will work.

//
 
The DM7 works for me as a 7.1 DAC in the current version of Linux Mint, with no extra drivers needed. My plan too is to use it as a crossover, though I haven't reached that stage as yet. There is a brief note over on AudioScienceReview that says this has been done via camilla and raspbian.

Though if you weren't already aware, the outputs of the DM7 are balanced, or at least differential. Previous Topping products have had a topography which doesn't work optimally with cheap adapter leads (or equivalent) to convert to single-ended, and it seems from posts such as this that the DM7 is similar. So to take advantage of its potential then either an amplifier with a true differential input is needed or else the use of a decent electronic receiver/conversion circuit.
 
Tandem CamillaDSP anyone? A brief case report.

I am currently experimenting with two RPi 3A/B+ along with a total of three instances of CamillaDSP.
  • A first RPi 3A+ is configured as an UAC2 USB Gadget which picks up the audio from any USB port and performs a sampling rate conversion from 44.1k to 96k (camilladsp) and then sending the audio stream over WiFi (bufhrt).
  • A second RPi 3B+ acts as the receiver for the audio stream (bufhrt), and then performs all the other DSP stuff (camilladsp), finally outputting to SPDIF.
When heavily loading CamillaDSP on the DSP RPi 3B+, the load may cause the CPU usage for a single kernel to attain up to 89%. And this causes the overall transmission over WiFi from RPi to RPi fragile. Therefore I tried out some "job sharing" between two CamillaDSP instances on two different assigned kernels of the receiver/renderer RPi 3B+. Piping from one CamillaDSP instance to the other uses /dev/stdout and /dev/stdin with the FLOAT64LE audio format. You have to assign different ports for the webservers, then.
This tandem team works, and things get much more stable (not rock-solid yet, will need some further tweaking), giving room for an even greater DSP load. A snippet of a bash script for the Receiver/Renderer RPI 3B+ looks like
... echo "script: info - playback starting ..." sudo nice -n -6 chrt -f 90 taskset -c 1 bufhrt --bytes-per-second=768000 --host-to-read=192.168.1.102 --loops-per-second=1500 --port-to-read=5888 | \ sudo nice -n -8 chrt -f 95 taskset -c 3 camilladsp $_config_A -p $1234 -l warn | \ sudo nice -n -10 chrt -f 99 taskset -c 2 camilladsp $config_B -p $1235 -l warn ...
 
The DM7 works for me as a 7.1 DAC in the current version of Linux Mint, with no extra drivers needed. My plan too is to use it as a crossover, though I haven't reached that stage as yet. There is a brief note over on AudioScienceReview that says this has been done via camilla and raspbian.

Though if you weren't already aware, the outputs of the DM7 are balanced, or at least differential. Previous Topping products have had a topography which doesn't work optimally with cheap adapter leads (or equivalent) to convert to single-ended, and it seems from posts such as this that the DM7 is similar. So to take advantage of its potential then either an amplifier with a true differential input is needed or else the use of a decent electronic receiver/conversion circuit.
Hi.

i was looking for something with balanced outputs. I'm planning to use powersoft modules which works very well with balanced inputs.
 
  • Like
Reactions: 3 users
Hello,

not really CamillaDSP related but DSP related in general ... if i buy a active subwoofer that can handle crossover between subwoofer and main speakers, would it be possible to DSP correct a 2.1 system with just a stereo dac? unfortunaly there is a real lack of good multichannel dacs and im kinda wondering if i get away with a stereo dac as long i just have a 2.1 system with active subwoofer that can handle the crossover itself, which probably wont change in the near/mid future anyway

im specially talking about active studio speakers where the main monitors have in most cases a HPF setting and/or subwoofer that can handle crossover for both subwoofer and mainspeaker where you can go with XLR into the sub, he handles the crossover for itself and the mainspeaker and go with XLR out to the mainspeakers, i guess another possibilty would be if mainspeakers have HPF and subwoofer LPF and i connect both with a 1 XLR to 2 XLR Y-adapter

i can imagine that it gets problematic if there is roommode right at the crossover since main speakers and subwoofer wont sit at the same position but there is a bit room to wiggle the crossover to a not so dramatic frequency for example or?

what you guys think about DSP correcting a 2.1 system with just a 2.0 dac ? possible? no problem?

this would make things alot easier, specially with raspberry pi hats that can only support stereo
 
Last edited:

TNT

Member
Joined 2003
Paid Member
undo.png


Undo...

  • a manipulation of a filter
  • Apply to DSP
  • Apply and Save
  • Other...?
//
 
Hi all,

I may be over my head with CamillaDSP as I know little about coding, but I'm willing to try.

Before I start investing time learning to do this, I wonder if you could tell me whether what I hope to achieve is possible using CamillaDSP.

My current setup is:

Turntable > Audio interface > Mac mini > DAC > Active speakers

For room correction I use Rogue Amoeba Audio Hijack to apply FIR room correction filters generated in Focus Fidelity - though I find Audio Hijack quite clunky for this.

I would like CamillaDSP to do the following:

  • Take audio coming in from my turntable/audio interface, apply digital RIAA correction and a Focus Fidelity room correction FIR filter and send it to the DAC.
  • Take audio coming from VLC, Safari and Tidal, apply a Focus Fidelity room correction FIR filter and send it to the DAC.
  • Correct any clock drift between the audio interface and DAC.

Is this feasible?

Many thanks in advance.

James
 
Hi...​
I will try to contribute a bit to this.​
I assume that the Focus Fidelity filter's are compatible with the one's Camilladsp accepts ? (Wav's, bin's etc...)​
So when running Linux (Raspberry pi, laptop etc.) there are at least two way's of handling this, i use both of them in my setup.​
Either i used piped or loopback solution's.​
The piped version could be like this :​
/usr/bin/squeezelite -n "OledStreamer" -o - -a 160:4::0: -b 20000:10000 -r 48000 -R vX::4:28:70:110:50 | /usr/bin/camilladsp -l off -p1234 -w /home/pi/camilladsp/configs/stdin_NoFilter.yml >/dev/null​
Like this you "pipe" the sound directly into camilladsp via stdin. -Camilladsp then output's the audio to e.g. the DAC.​
The player used here are squeezelite.​
You can also use the Linux loopback interface to send audio into camilladsp. -And like the other solution camilladsp then output audio to e.g. the DAC.​
Here camilladsp will grab the audio from the output of the loopback interface.​
What you need to do, is to have the player (Squeezelite, VLC, Safari and Tidal etc... RIAA... otherplayer...) send the output into either a "pipe" or into the loopback interface.
Piped:​
Player ----> camilladsp [stdin] ----> DAC​
Loopback:​
Player ----> (loopback_in > loopback_out) ----> [loopback_out] Camilladsp ----> DAC​
Regarding Tidal, if you use Logitech media server via squeezelite there are a Tidal plugin which work's fine.​
(There are also somewhere some binary availible to have Tidal connect working. - I tried it and it can actually work with camilladsp via loopback.)​
Good luck :giggle:
Jesper.​
 
  • Take audio coming in from my turntable/audio interface, apply digital RIAA correction and a Focus Fidelity room correction FIR filter and send it to the DAC.
This is quite straightforward, as long as the filter from Focus Fidelity is in a usable format (or can be converted to one).

  • Take audio coming from VLC, Safari and Tidal, apply a Focus Fidelity room correction FIR filter and send it to the DAC.
Yes, the easiest way is to use virtual sound card such as Blackhole and set that as the default playback device.
You will need to switch the camilladsp configuration to switch between the turntable and other apps modes. But it might be possible to use an aggregate device to get around that. Worth trying!
  • Correct any clock drift between the audio interface and DAC.
Yes this is a standard feature.
 
  • Like
Reactions: 1 users