Jump to content
IGNORED

CamillaDSP for DRC, XOs, FIR and IIR (BiQuad)


Recommended Posts

Just wanted to share a new opensource project that I recently discovered.  It runs on Windoze, Linux and Mac. 

 

I have been testing it as a plugin to ALSA in Linux and am quite impressed with it so far.  Kudos to the sharp author. 

 

PulseAudio can also be configured to use it as default so all of your Linux desktop apps get the filters transparently.  It creates stream and filter pipelines so it can be applied to a variety of situations.  There are also provisions for remote controls that I haven't explored yet.

 

It is in its last beta stage and soon to be a formal 1.0 release.  It is limited to a single sample rate (unless you use their resampler), but there is a auto-sample change rate plugin wrapper that allows automatic sample rate switching without resampling (if you like to go native). 

 

I have tested it with [44.1 to 384]kHz rates with no issues so far.  I have moved my JRMC convolution filters down into the CamillaDSP ALSA plugin which has eliminated the intermittent track startup pop/clicks in the Linux version of JRMC 26 and 27 that I have been experiencing.

 

Quick summary

  • For Linux, macOS and Windows
  • Written in Rust (next version of C++)
  • IIR filters (BiQuad)
  • FIR filters (Convolution via FFT)
  • Built-in sample rate converter
  • Filters can be chained freely
  • Flexible routing
  • Alsa, PulseAudio, Wasapi, CoreAudio, File and stdio input/output
  • Simple YAML configuration
  • All calculations done with 64-bit float

 

overview.png

 

 

pipeline.png

 

Main discussion thread:

camilladsp-cross-platform-iir-fir-engine-crossovers-correction

 

Github main directory:

Root Directory for CamillaDSP

 

Github auto data rate switcher main directory:

Automatic Sample Rate Switcher Plugin

Software: Realtime Debian 11-64, JRMC28-64, Custom VST3-64, CamillaDSP-64 (2x8 channel 64-bit FIR multi-pass convolution), RePhase, REW, Custom Driver Level DRC-FIR upgrades, JRMC CloudPlay, Pandora, Spotify, dBPowerAmp Reference,

2 Channel: A-Tech Fabrication i7-3770K/NVMe/Passive Cooling-No Moving Parts->OKTO DAC8 PRO->QuadAmping - MagTech/Mark Levinson #336/IcePower ASP1000->Magnepan 20.1's, NEO8's & OB/Dipole Subs

Home Theater: Anthem Statement D2V->W4S 7x1000->Magnepan 3.6's/CC3/MC2's+Martin Logan Descent I Subs

Office: Core-i7 3770S/SSD->Xonar Essence STX->W4S µDAC->W4S STI-1000->Magnepan Mini-Maggies

Garage: Dell Laptop->W4S uDAC->AdCom Amp->B&W Rock Solid

 

Link to comment

Hello Tim,

 

Thanks you for this overview. I had noticed the CamillaDSP thread on DIYAUDIO and my attention was peaked when I saw that it was being hooked into the next moOde audio release (v.7.1). I'm a happy moOde user. I have a very modest understanding of some ot the things a package like C_DSP can do but not a full understanding for the uderpinnings. I suspect a good document/naive users' guide could make it a tool I could use to my benefit, though never at a expert level. Are you aware of such a guide/tutorial.

 

On thing I would love to do is put together the string of processes/filters needed to implement Michael Gerzon's Trifield process to create a very good L-C-R output 3CH output from stereo input. There's a tantalizing recipe here:https://www.stereophile.com/content/upward-mobility-2-channels-surround-page-2. It may well beyond me, but I'm certainly up to learning a bit more.

 

Thanks,  Skip

Link to comment

Hey Skip,

 

I am not aware of the existence of a centralized document yet.  It appears to be spread out across multiple threads and URLs.  I would suggest that you start with the GitHub main directory link in the OP and read each sub links.   Start with camilladsp and camilliadsp-config for a good overview.

 

CamillaDSP can be run by hand (for debugging config scripts), as daemon automatically started at boot, or nested in the automatic rate switcher wrapper.  I would suggest the by-hand version first until you have your scripts correct.  I have not ventured into the Web Controls yet or the moOde specifics. 

 

Keep in mind that feature scalability is directly related to the iron it is running on so if it is running on a RasbPi, expectations have to be set accordingly compared to a i7 or i9 processor.

Software: Realtime Debian 11-64, JRMC28-64, Custom VST3-64, CamillaDSP-64 (2x8 channel 64-bit FIR multi-pass convolution), RePhase, REW, Custom Driver Level DRC-FIR upgrades, JRMC CloudPlay, Pandora, Spotify, dBPowerAmp Reference,

2 Channel: A-Tech Fabrication i7-3770K/NVMe/Passive Cooling-No Moving Parts->OKTO DAC8 PRO->QuadAmping - MagTech/Mark Levinson #336/IcePower ASP1000->Magnepan 20.1's, NEO8's & OB/Dipole Subs

Home Theater: Anthem Statement D2V->W4S 7x1000->Magnepan 3.6's/CC3/MC2's+Martin Logan Descent I Subs

Office: Core-i7 3770S/SSD->Xonar Essence STX->W4S µDAC->W4S STI-1000->Magnepan Mini-Maggies

Garage: Dell Laptop->W4S uDAC->AdCom Amp->B&W Rock Solid

 

Link to comment

Yes, thank you for bringing it here.  I began reading the thread on diyaudio, but it went over my head quickly.

 

And @Skip Pack, I am amazed!  I would love to do Trifield in SW as well.  Didn't think there was anyone else out there. :)

 

Bill

Labels assigned by CA members: "Cogley's ML sock-puppet," "weaponizer of psychology," "ethically-challenged," "professionally dubious," "machismo," "lover of old westerns," "shill," "expert on ducks and imposters," "Janitor in Chief," "expert in Karate," "ML fanboi or employee," "Alabama Trump supporter with an NRA decal on the windshield of his car," sycophant

Link to comment
11 minutes ago, Bill Brown said:

 

 

And @Skip Pack, I am amazed!  I would love to do Trifield in SW as well.  Didn't think there was anyone else out there. :)

 

Bill

At the risk of being at least partially off-topic, I recall attending a Burning Amp in around 2014 (I'm a regular attendee), and a group  had coded the DSP to do Trifield, and it worked very well. They were reluctant to share how they were doing it, unfortunately, but there are (or at least were) real IP issues. The only other Trifield I've heard was Meridian's which I think is still the only way to buy a product that does. I've never been able to compare Trifield and AVR Dolby Pro Logic on 3CH. I suspect that Trifield is better.  Just doing the processing to have 3ch PCM is the first step. Player software that could use an embedded process/plugin for Multichannel, and the DAC situation are significant problems as well. Somewhat parenthetically, there is a Foobar plugin that will process 2->3CH, and I have run it to create a wav output that seems to be 3ch, but I haven't figured out how to listen to it.

 

Skip

 

Link to comment

Yes, Trifield seems to be promising. @Kal Rubinsonwas impressed with it to at least some degree when reviewing Meridian gear.  I have fully researched their processors, but have never pulled the trigger (though I had a 602 and 606 way back).

 

Every so often I go down the rabbit hole of research on MCH.  Unlike Kal, I am primarily interested in upmixing my 2 channel music that may never be available as native MCH (though I would be happy to play native material as well).  There are lots of interesting pro plugins in this regard.

 

I read through Gerzon's patent at one point, and certainly don't have the mathematical chops to fully understand it.  The basic schematic in Stereophile, though, is fairly straightforward, and I suspect could be implemented as plugins.  I actually play around with them in Audirvana, using L/R to M/S, then some eq on each, then back to L/R for playback.  There are some interesting ideas on timbral shifts/other phenomena with a phantom center that informed me:

 

https://www.diyaudio.com/forums/multi-way/277519-fixing-stereo-phantom-center.html

 

I also have several diy speakers floating around in my head, and would plan to do digital XOs and an amp per driver, so yes, gets complex quickly.  In the end, I wouldn't want it to be too "fiddly."  Monitoring all the possibilities had me aware of Camilla dsp, so this thread intrigued.

 

Bill

 

I also hope we haven't strayed too far off-topic!

Labels assigned by CA members: "Cogley's ML sock-puppet," "weaponizer of psychology," "ethically-challenged," "professionally dubious," "machismo," "lover of old westerns," "shill," "expert on ducks and imposters," "Janitor in Chief," "expert in Karate," "ML fanboi or employee," "Alabama Trump supporter with an NRA decal on the windshield of his car," sycophant

Link to comment
  • 1 year later...

Been using CamillaDSP for @ a year now and wanted to post an update. 

 

Here is a latency response from streaming stereo 192kHz lossless content from JRMC's CloudPlay over the net, into JRMC and then out into 64-bit CamillaDSP where it is split into 8 channels applying 8 x 64bit/256K tap FIRs, driver gain balancing and then output to an 8 channel USB DAC @ 176.4kHz on a 10-year-old CPU running Linux Kernel 5.16 which has low latency USB music driver upgrades. 

 

Max interrupt latency is 13 micro seconds with average considerably lower.  I could never get anywhere near that in Windows.

 

This includes multiple copies of multi-tab Firefox and other apps over full screen XRDP remote desktop (2560 x 1600) with an average CPU use of 5%.

 

Pipewire and PulseAudio audio software stack is bypassed, writing straight to ALSA and the hw interface.

 

plot.png.81eeeb5558eadc7e0d7ea11927dc77cd.png

Software: Realtime Debian 11-64, JRMC28-64, Custom VST3-64, CamillaDSP-64 (2x8 channel 64-bit FIR multi-pass convolution), RePhase, REW, Custom Driver Level DRC-FIR upgrades, JRMC CloudPlay, Pandora, Spotify, dBPowerAmp Reference,

2 Channel: A-Tech Fabrication i7-3770K/NVMe/Passive Cooling-No Moving Parts->OKTO DAC8 PRO->QuadAmping - MagTech/Mark Levinson #336/IcePower ASP1000->Magnepan 20.1's, NEO8's & OB/Dipole Subs

Home Theater: Anthem Statement D2V->W4S 7x1000->Magnepan 3.6's/CC3/MC2's+Martin Logan Descent I Subs

Office: Core-i7 3770S/SSD->Xonar Essence STX->W4S µDAC->W4S STI-1000->Magnepan Mini-Maggies

Garage: Dell Laptop->W4S uDAC->AdCom Amp->B&W Rock Solid

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...