Jump to content
IGNORED

CamillaDSP - How are you using it?


Recommended Posts

Posted (edited)

After a little looksee around StereoNET, it became obvious there wasn't much information about CamillaDSP or its fantastic DSP pipeline capability. 

 

So I thought, why not share how I'm currently using CamillaDSP in my setup, and maybe more users will share their experience, implementations, and tweaks. 

 

For those that don't know, CamillaDSP is a free audio processing pipeline tool programmed by Henrik Enquist. 

The software is hosted over on Github. https://github.com/HEnquist/camilladsp

The software bundle manly consists of its core server software and websocket accessible GUI. 

 

The software lives happily on Linux, Windows, and MacOS setups... so no issues there.   

 

In a nut shell, the software allows users to build audio equalisation pipelines (IIR / FIR), for applications including; Speaker Crossovers, Response Correction, etc. 

Pretty much any application which requires audio DSP. 

 

CamillaDSP is only really limited by CPU power (which can be scaled as needed) and interface channel I/O - count. 

 

For instance, CamiilaDSP will easily process 90+ channels of I/O using FIR filters, on modern x86 hardware.  

In fact, the GitHub guide, states 96 channels of FIR, with 262k Taps per channel has been tested and works on AMD hardware. 

 

In my particular case CamillaDSP allows me not only to host speaker crossover & correction filters, but also access my USB interface I/O, specifically SPDIF, Toslink and Analog inputs with EQ engaged.  

This is a bit of a game changer, as the solution effectively turns my USB interface into a volume and input switching interface (Which wasn't possible with Roon previously hosting convolution). 

 

Some great links: 

 

Related projects:

https://github.com/HEnquist/camilladsp#related-projects

 

The implementation I followed for a Pi4 based solution, can be found here: 

ASR Pi4 CamiilaDSP Tutorial....https://www.audiosciencereview.com/forum/index.php?threads/rpi4-camilladsp-tutorial.29656/page-66....

 

I'm personally running a Pi4 solution.

The Pi has Ubuntu 23.04 server installed (Kernel 6.2), which communicates driverless to my Motu UL MK5.  

 

No fancy video or audio hardware here, but I created a quick rough and ready overview about how I use CamillaDSP to execute/host crossovers and room correction for my JBL M2's. 

Obviously this capability can scale to considerable I/O #'s. 

 

 

 

Edited by Grizaudio
  • Like 10
  • Thanks 2
Link to comment
Share on other sites



CamillaDSP isn't exactly straightforward to install and get working. I worked on it up to a point before I got totally stuck. A friend had to come over to get it working. Too much downloading of libraries, software packages, manual editing of config files, command line interface using unfamiliar commands, etc. I take my hat off to anyone who can get it working. The inconvenience factor alone was enough to dissuade me. I have noticed that many people extolling the virtues of CamillaDSP neglect to mention that it is almost impossible to get it to work unless you are VERY GOOD with computers. 

 

If Henrik came out with an installer that would help a great deal. 

 

Until then, honest question: what can CamillaDSP do that a regular convolver can't do? Besides being free, I mean. But then, EqualizerAPO is also free. 

  • Like 2
Link to comment
Share on other sites

Posted (edited)
35 minutes ago, Keith_W said:

CamillaDSP isn't exactly straightforward to install and get working. I worked on it up to a point before I got totally stuck. A friend had to come over to get it working. Too much downloading of libraries, software packages, manual editing of config files, command line interface using unfamiliar commands, etc. I take my hat off to anyone who can get it working. The inconvenience factor alone was enough to dissuade me. I have noticed that many people extolling the virtues of CamillaDSP neglect to mention that it is almost impossible to get it to work unless you are VERY GOOD with computers. 

 

If Henrik came out with an installer that would help a great deal. 

 

Until then, honest question: what can CamillaDSP do that a regular convolver can't do? Besides being free, I mean. But then, EqualizerAPO is also free. 

 

Sounds like you may have had a different opinion if you managed to get it working. I would agree it’s not an easy task for a novice. 

For me personally Camilla provided a decent increase in input flexibility by moving the convolution engine outside of Roon. 
 

If you follow the Pi4 guide, verbatim you will have a working solution. 
 

I haven’t used EqualiserAPO, as I’m not a fan of Windows for music applications.
I would be more inclined to go Apple Mac mini m2, if I wasn’t using Linux. 
 

Edited by Grizaudio
Link to comment
Share on other sites

Posted (edited)
18 hours ago, sir sanders zingmore said:

I reckon @aris knows a thing or two about Camilla


Thanks SSZ, it would be great to hear from Aris….

I’ve seen Aris’ shared camillaDSP file. 

 

It  seems, Aris is taking things a little further using AVB routing for the m-32 RME interface. I’m personally a big fan of AES67 and Dante. 
 

I suspect an AVB virtual soundcard or similar (https://www.sonnettech.com/product/thunderbolt-avb-adapter/overview.html) is being used to process audio via CoreAudio? But would be curious if some other method is used. 

Edited by Grizaudio
Link to comment
Share on other sites



Posted (edited)

My use of CamillaDSP is just for convolution.  It was installed on a SnakeOil instance and I documented the steps here:

https://www.snakeoil-os.net/forums/thread-586-post-4634.html#pid4634

Yes, some effort required to learn how to do things, but it made sense in the end.

 

47 minutes ago, Keith_W said:

Until then, honest question: what can CamillaDSP do that a regular convolver can't do? Besides being free, I mean. But then, EqualizerAPO is also free. 

Equalizer APO runs only on Windows, not Linux.   And CamillaDSP is relatively well documented compared with other Linux options.

------

 

For anyone with a Pi and want to try CamillaDSP, suggest installing moOde which has CamillaDSP integrated.

**added

https://www.bitlab.nl/page_id=665

**

Edited by Snoopy8
Added **
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 minutes ago, Snoopy8 said:

My use of CamillaDSP is just for convolution.  It was installed on a SnakeOil instance and I documented the steps here:

https://www.snakeoil-os.net/forums/thread-586-post-4634.html#pid4634

Yes, some effort required to learn how to do things, but it made sense in the end.

 

Equalizer APO runs only on Windows, not Linux.   And CamillaDSP is relatively well documented compared with other Linux options.

------

 

For anyone with a Pi and want to try CamillaDSP, suggest installing moOde which has CamillaDSP integrated.


Thanks Snoopy. 
Moode is definitely an option, for a majority of users. A quick and easy entry into CamillaDSP…….but it does lock you into using Moode…
 

My understanding is Moodes implementation of CamillaDSP, is not multichannel capable. Not a problem for most I know. 

  • Like 1
Link to comment
Share on other sites

Posted (edited)
19 minutes ago, Snoopy8 said:

Perfect thanks Snoopy. Great to know. 
I believe the issue I had when I tried, was my Motu UL MK5 needs at least kernel 5.17 to function correctly under Linux. 
 

I guess for my application I like being able to control Kernel upgrades and OS versions. But this is great news for those looking for an easy solution. 
 

Edited by Grizaudio
  • Like 1
Link to comment
Share on other sites

1 hour ago, Grizaudio said:

 

Sounds like you may have had a different opinion if you managed to get it working. I would agree it’s not an easy task for a novice. 

For me personally Camilla provided a decent increase in input flexibility by moving the convolution engine outside of Roon. 
 

If you follow the Pi4 guide, verbatim you will have a working solution. 
 

I haven’t used EqualiserAPO, as I’m not a fan of Windows for music applications.
I would be more inclined to go Apple Mac mini m2, if I wasn’t using Linux. 
 

 

I didn't get it working. @aris got it working for me. But then, it looked like to execute it, first I would have to open the programming library, and then type in a command line to execute it. I suppose it could be automated, but I haven't the foggiest how to do it. For me, it should be double click icon to launch, and that's it. Camilla is not written for average computer users, if you have the ability to get it working, you are a God among computer users. 

 

I wanted to try Camilla because of its reputation of being lightweight and not resource intensive. And also because JRiver does not have filter banks that allows me to dynamically switch filters for rapid A-B testing. Given how often I make new filters, I need a way to switch between them quickly so that I can compare filters. After the rather prohibitive difficulty of Camilla, I ended up buying Acourate Convolver. 

 

So, right now AC ticks all the boxes for me. It has PEQ, delays, an ISO226 volume control, as well as other DSP effects such as crosstalk control, virtual center channel, and so on. And it has the most important feature for me, which is an AB comparator. If there is some functionality that Camilla offers beyond what I already have, I would dearly love to know because I would make more of an effort to get it working. 

  • Like 1
Link to comment
Share on other sites



Posted (edited)
13 hours ago, Keith_W said:

 

I didn't get it working. @aris got it working for me.

If you follow the tutorial I shared, it just works. No guessing required. 

General Linux knowledge, SSH, etc is assumed. 

 

13 hours ago, Keith_W said:

first I would have to open the programming library, and then type in a command line to execute it. I suppose it could be automated, but I haven't the foggiest how to do it. 

You need to create a service, which automatically starts. Its covered in the tutorial I shared. 

 

Extracted from ASR thread, as linked to in my first post:

image.png.cfae7333d3ef109d20e7db6b0b6611ef.png

 

13 hours ago, Keith_W said:

So, right now AC ticks all the boxes for me. It has PEQ, delays, an ISO226 volume control, as well as other DSP effects such as crosstalk control, virtual center channel, and so on. And it has the most important feature for me, which is an AB comparator. If there is some functionality that Camilla offers beyond what I already have, I would dearly love to know because I would make more of an effort to get it working. 

 

I can't answer this sorry. I haven't used APO/AC. Maybe stick with what you are happy with. 

 

 

 

Edited by Grizaudio
Link to comment
Share on other sites

On Linux and macOS CamillaDSP installs fairly well and the instructions available are generally pretty good. There are a few howto’s on the net in addition to the GitHub project. 
 

Installing and running on Windows is a bit more complicated. There’s no installer and some steps require a fair bit of sidetracking to meet dependencies. This is basically an artefact that CamillaDSP is written and supported primarily on Linux. 
 

There’s also the overlay of Windows audio, involving WASAPI and ASIO that makes getting it running just that bit more complicated. 
 

Once installed there’s the auto run and service setup etc to get it close to “appliance” mode which for me - as technical but not Windows savvy user - is a point at which I look over at how easy it is on Linux that I don’t think it’s worth further investment.

 

I suspect things will change once v2 CamillaDSP is released and some of the installer nice to have can be implemented by the project, or project contributors.

 

For now, I would say just run on Linux if you can!
 

Aris 

  • Like 2
Link to comment
Share on other sites

1 hour ago, aris said:

 

I suspect things will change once v2 CamillaDSP is released and some of the installer nice to have can be implemented by the project, or project contributors.

 

That would be lovely…

I was reading the next version will have a PEQ GUI?!
That would be super helpful. 
 

Aris can I ask, with your Mac mini M setup. How are you feeding the AVB between PC Camilla and DAC? Does coreaudio recognise AVB natively?, are you using AVB to thunderbolt? Virtual sound card? Thanks Steve 

Link to comment
Share on other sites

I used Moode essentially as an easy UI to access camilla for allowing the application of FIR to a live  vinyl  output (ie dsp'd vinyl) using an rme babyface.  It all worked pretty easily, the hardest part was getting moode to use the output from the TT but bitlab to the rescue (again) https://www.bitlab.nl/page_id=1103 .  Would there be any benefits to cutting moode out and running camilla on its own @Grizaudio

  • Like 2
Link to comment
Share on other sites

2 hours ago, Grizaudio said:

Aris can I ask, with your Mac mini M setup. How are you feeding the AVB between PC Camilla and DAC? Does coreaudio recognise AVB natively?, are you using AVB to thunderbolt? Virtual sound card? Thanks Steve 


RME provides USB drivers for Windows and macOS. 
 

On my development environment I have Roon (could be any other streamer) on Windows, presenting to a USB AVB device (2ch).

 

On the macOS device I run the AVB Controller which handles routing. Camilla on this host uses its own USB AVB device to access the incoming 2ch, and output 32 ch (which are routed to the 32ch DAC).

 

So Camilla simply uses CoreAudio devices which happen to be AVB. 

  • Like 1
Link to comment
Share on other sites



Volumio 3  (MPD Player) has a plug-in FusionDSP, which is a front end renderer for Camilla DSP. There is also the option of using the native Camilla DSP GUI if you so choose.


I’m only using FusionDSP’s parametric equaliser  for its preamp function to prevent clipping.  I was using AutoEq, also built in to FusionDSP with equalisation curves downloadable for thousands of headphones.  But it turned out I’m not a fan of the Harman curve.
I use a Schiit Lokius as I prefer analogue tone controls.

  • Like 2
Link to comment
Share on other sites

8 hours ago, frednork said:

Would there be any benefits to cutting moode out and running camilla on its own

 

I am not sure moOde is in the way and needing to be cut out in any sense here.   moOde is essentially a preconfigured installation of mpd, with a nice web frontend, and some other bits and pieces, of  course, including Camilla.  

Edited by aussievintage
  • Like 1
Link to comment
Share on other sites

On 10/7/2023 at 12:23 AM, Keith_W said:

 

So, right now AC ticks all the boxes for me. It has PEQ, delays, an ISO226 volume control, as well as other DSP effects such as crosstalk control, virtual center channel, and so on. And it has the most important feature for me, which is an AB comparator.
 

All audio dsp is “lightweight and not resource intensive” … but like you say it all just depends on what features you need.  I like AC.  
 

Camilla is very flexible and configurable, but….

 

I use it with a lynx aes16.

 

Link to comment
Share on other sites

Posted (edited)
7 hours ago, aris said:


RME provides USB drivers for Windows and macOS. 
 

On my development environment I have Roon (could be any other streamer) on Windows, presenting to a USB AVB device (2ch).

 

On the macOS device I run the AVB Controller which handles routing. Camilla on this host uses its own USB AVB device to access the incoming 2ch, and output 32 ch (which are routed to the 32ch DAC).

 

So Camilla simply uses CoreAudio devices which happen to be AVB. 

 

Nice I previously ran something similar @aris when I had my 3 way active.

I used Dante at the time. 

 

In this setup all DSP was performed by Dante DSP amplifiers, which certainly provided an elegant solution, removing an 'external' additional layer of software DSP. 

IMHO, Top Tier modern day Pro DSP amplifiers are a few years away yet from 'HiFi' SQ (Even though spec's may suggest otherwise).

Fan noise is also a major concern for HiFi based applications. 

 

I'm still keen to try a few of the latest ProDSP amplifiers released this year to gauge where sound quality is @ v's my Purifi/CamillaDSP setup. 

 

IMO, once ProDSP amp module SQ is on par with what I'm hearing in my system, I'll make the jump - for simplicity and elegance. 

Looking at your setup, running AES67/Dante DSP amplifiers would certainly simplify your setup, as you could easily run 4x8ch Pro DSP amplifiers, with signal routing via a AES67/Dante interface of your choice.  

 

During this period, my signal flow was... 

Windows Streamer (Dante Virtual Soundcard - negating a need for USB > AoIP dongles) (2ch) > Network switch > (4ch) Dante Power amplifier(s). 

I ran controller on a laptop to set static routes, all DSP was implemented in amplifier(s) using onboard powerful floating point DSP. 

 

Using my network switch on hand, I could happily push 96khz around, but I ended up fixing at 48khz - as my switch was not happy playing ball @ higher sampling rates with low latency with DVS. As you know first hand, Network audio configuration requires care and the right hardware, with special attention paid to optimising the switch for low latency/low processing, turning off all energy management, and configuring dedicated vLan and of course QoS. 

 

DVS can sometimes be a real pain in the arse, but later versions seem happier maintaining consistent low latency operation.    

Once setup and working it just works and sounds excellent.

 

But I digress. ;) 

Edited by Grizaudio
Link to comment
Share on other sites

Posted (edited)
1 hour ago, davewantsmoore said:

All audio dsp is “lightweight and not resource intensive” … but like you say it all just depends on what features you need.  I like AC.  
 

Camilla is very flexible and configurable, but….

 

I use it with a lynx aes16.

 

 

Its all relative to hardware/compute and DSP requirements.   

I've noticed Camilla seems to rely on single core CPU performance. I could be wrong? Does anyone have a deep knowledge of how CamillaDSP processes?  

 

In my application, as soon as a single Pi4 processing core hits 100% CamillaDSP engine would reset and catch-up. 

Reviewing htop, I can have one core processing at 80%-100% and the other(s) sitting idle with significant head room, but the limiting factor is the single core capability of the DSP processing core.  

 

In my setup (as per the video) I currently run two convolution filters per output (4 outputs), and I can hit processing limitations on the Pi4 @ 192khz. 

ATM, I'm finding I need to run 16384 buffers to keep CamillaDSP happy (which it is) @ 192khz (the processing single core sits around 70-80%, and ironically the other 3 cores have significant processing headroom).

 

This is with Roon processing resampling. 

 

Edited by Grizaudio
Link to comment
Share on other sites



1 hour ago, Grizaudio said:

 

Its all relative to hardware/compute and DSP requirements.   

I've noticed Camilla seems to rely on single core CPU performance. I could be wrong? Does anyone have a deep knowledge of how CamillaDSP processes?  

 

In my application, as soon as a single Pi4 processing core hits 100% CamillaDSP engine….

 

Each component of Camilla runs in its own thread (core)…. So you

can use more than an entire core if for example the resampling runs in one core and convolver runs on another core.  

Link to comment
Share on other sites

Posted (edited)
9 minutes ago, davewantsmoore said:

Each component of Camilla runs in its own thread (core)…. So you

can use more than an entire core if for example the resampling runs in one core and convolver runs on another core.  

 

Thanks, this makes sense based on the CPU utilisation I'm seeing. 

 

Edited by Grizaudio
Link to comment
Share on other sites

Posted (edited)
21 minutes ago, Niktech said:

In Volumio I use the Music Service Shield plug-in to assign 1 CPU  core to background services, all the rest to MPD.

 

I wonder if this could be modified for 'other' streaming software's.

Niktech, are you saying you noticed a difference in SQ? or more for CPU cycle loading.   

Edited by Grizaudio
Link to comment
Share on other sites



  • Recently Browsing   0 members

    • No registered users viewing this page.




×
×
  • Create New...
To Top