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

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
  • 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...