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

Not sure what was going on with the setup which gave me issues, I think I might have forgot to restart my camillagui service after installing the GUI. I updated another install to V3 without issue.

I needed to work out was the new pycamilladsp volume / mute nomenclature for my OLED / FLIRC scripts, but that was pretty simple.

The only odd thing I've noticed is channel assignment of filters in pipeline has some issues. I've been playing around with simple bass / treble filters on my input channels and noticed that if I switch tabs or refresh my browser the assignment appears to go away in the GUI. This doesn't seem to happen in reality as the assignment is still in my configuration file and will re-appear if I use the Fetch from DSP button. However, if the assignment disappears in the GUI (say I am making a change in another tab for example) and then I apply and save that configuration, the assignment is lost.

Michael
 
I have my configuration loaded in to GUI and marked as active.

1727896274285.png


Moving to Pipeline, I apply Bass and Treble filters on channels 12 and 13, I click Apply and save. I can use the Bass / Treble controls and they clearly work.

1727896224676.png


Now if I navigate to say the Filters and then back to Pipeline, channels 12 and 13 are no longer selected. If I click Apply and save, the configuration saves like it shows in the GUI and the Bass / Treble filters no longer work.

1727896309229.png


I've attached my configuration both when it is correct and when the assignment has been removed. I've observed the same behavior on Safari and Chrome on a 2015 Mac book pro running Monterey.

Michael
 

Attachments

Hello,

Started with CamillaDSP few weeks ago, I would like to make a feedback of my short experience of installation.
I have now running on an old lap top a Debian 12 with pipewire, CamillaDSP with its GUI, the plugin alsacdsp for the sample rate management and the vu meter from T5.

At this step, my understanding of the possible "eco-system" (eco-system = management of the sample rate of the different sources, configuration change because ot the DAC, the tests on going, link with the laptop interfaces...) around CamillaDSP is too low to know if it is the right configuration... At least it works like I expected for now.

Following the indications provided on each related pages it was not really difficult to install those components. The different scripts or make file are just perfect... just some packages missing in my configuration, easy to find.

My first difficulty was to figure out before starting how those components are interconnected including with the system. A drawing I found coming from a page about Moode helped me. I am from those guys for who everything starts with a drawing!

Second difficulty is Alsa to come to a first understanding of what it is behind the different plugins names (hw, plug...) and here I am not even sure to have a correct picture! Just enough to make the system working.

Third difficulty was coupling that to the system. It was done thanks to a post here in this thread to configure pipewire... and this I haven't seen it in other pages.

I haven't played for now with the filters themselves. It will be the next main step (I have more knoledge in filtering than in Linux system, at least, I think).

Testing the GUI today, I just saw 2 useful tags in the yaml file : title and description. It is maybe of second importance but up to now as I copied configurations found on different pages, I had no title or description in my files... up to add a comment (starting by #) on top of my files. Why so many files without them?

The reason why I added a comment at the top of the file is I wrote a simple bash script to import in the conf_in.yaml required by alsacdsp the conf I want to use. This to emphasize my difficulty in understanding the full possible "eco-system".

A second remark also of second importance is while importing the conf_in.yaml of alsacdsp with its $...$ value, an error is raised (I think it is on the format and simplerate fields). Maybe a warning to remind it is not fully in the expected format would be better.

One question : when updating camillaDSP with the script, is the "camilladsp/configs" conf folder reseted?

Well that's all for now. I am very happy to have this configuration running. Thank you all here for providing such tools, for the help.

If this post can help to improve some documentation or information, or gives ideas that fine. If not, forget it! No problem.

Christian
 
Last edited:
I had no title or description in my files... up to add a comment (starting by #) on top of my files. Why so many files without them?
Those fields are quite new, they were added in v2.0. Many examples are older than that, so they don't have them (but the fields are optional so the files are still valid).

A second remark also of second importance is while importing the conf_in.yaml of alsacdsp with its $...$ value, an error is raised (I think it is on the format and simplerate fields). Maybe a warning to remind it is not fully in the expected format would be better.
Imported where and how?
One question : when updating camillaDSP with the script, is the "camilladsp/configs" conf folder reseted?
Do you mean my setup script? It doesn't remove anything from there.
Second difficulty is Alsa to come to a first understanding of what it is behind the different plugins names (hw, plug...) and here I am not even sure to have a correct picture!
This is a quite nice intro to Alsa: https://www.volkerschatz.com/noise/alsa.html
 
Thank you for your feedback Henrick
Title and comments : Those fields are quite new, they were added in v2.0. Many examples are older than that, so they don't have them (but the fields are optional so the files are still valid).
Understood. Excellent improvement. I use them to select the files. Very useful also in the GUI.

Imported where and how?

Do you mean my setup script? It doesn't remove anything from there.
The plugin alsacdsp has among its options to use a config_in.yaml file which the template where the fields samplerate, format, channel are filled with tags ($samplerate$, $format$...). When some sound is played, the conf_out.yaml is updated as a copy of the config_in, the tags being replaced by the current values. CamillaDSP is launched with this conf_out.yaml. With the CamillaGUI we can open those files. The one of interest is the conf_in.yaml as it is the template. It is with it the GUI report errors finding the tags (ie strings instead of expected integers).

Do you mean my setup script? It doesn't remove anything from there.
Yes the setup script. I used it to install the version 2.0. The version 3.0 is coming. I think to use it again to upgrade to the new version. If I remember from an other post, it is the way to upgrade CamillaDSP and the GUI. As I understand your answer, if nothing exists, it creates the needed folders, if something already exists, it is replaced or keept (ie the configs folder and its content).

Christian
 
It is for sure an excellent starting point.
Some extracts :
It is no great exaggeration to say that ALSA consists almost entirely of plugins.
...my first understanding of plugin is "addon", "extension" but seems better to see them as "elementary interface component".
The most important plugin is no doubt the "hw" plugin. It does noprocessing of its own, but merely accesses the hardware driver.
...and report errors if the incoming stream doens't fit the card possibilitie. I didn't in fact figure out it was also in the plugin family...
Therefore the next most important pluginis the "plug" plugin which performs channel duplication, sample valueconversion and resampling when necessary.
...from here I will make further tests to improve my configuration and probably I will come back here for questions or just to share being in the idea it could may help people like me.

Christian
 
The plugin alsacdsp has among its options to use a config_in.yaml file which the template where the fields samplerate, format, channel are filled with tags ($samplerate$, $format$...).
. It is with it the GUI report errors finding the tags (ie strings instead of expected integers).
Ok got it. Those placeholder tags make the config invalid so the gui can't read it as is. IMO the proper solution would be to work on improving the alsacdsp plugin so that it's able to update those fields without relying on these placeholders. It's not parsing the yaml, just treats is as a text blob and searches for those strings to replace.
 
Hello Henrik,

I have just heard good things about CamillaDSP, but did not read through all the 256 pages and a search did not yield an answer, so please allow a potentially naive, maybe "outrageous" question:

How can I export Camilla DSP filters in compatible format for use on other DSP platforms?

Background: I cannot put a PC or similar computing platform into my digital audio chain, I can just use a Win10 PC to do measurements and calculate filters. My digital chain is built with three miniDSP miniSHARCs, two acting as digital x-overs with DACs in each speaker and one acting as room adaptation pre-processor. Each of the miniSHARCs accomodates for upü to 6144 FIR Taps (which I plan to use above ~300Hz to maintain lip synchronity with my TV) and and many additional IIR Filters.

Based on this information: Can CamillaDSP be of use in my configuration?

Thanks and Regards,
Winfried
 
@TNT

Well, I may completely misunderstand CamillaDSP, so I'm sorry if that's the case!
My case is not (yet) import into CamillaDSP, but if or how to use it with external convolver. Or ist Camilla DSP ONLY a convolver in the end? Then I just won't need it...

Convolving is in my case done on the miniSHARC DSP platform! I'm looking for an alternative IIR/FIR Filter generation software (i.e. easier to use than Acourate) and transfer the generated filter parameters to the miniSHARC which convolves the digital audio stream.

Regards,
Winfried
 
Camilla is a DSP platform that takes in a digital stream and outputs a changed version on its output. The path between the input and output is called a Pipeline. Camilla also has functions to configure a Pipieline with mixers and filters. This can be done via a GUI or a command line interface.

Why/how did you use the word "export"... I don't get this 🙂

//
 
@TNT

Well, I may completely misunderstand CamillaDSP, so I'm sorry if that's the case!
My case is not (yet) import into CamillaDSP, but if or how to use it with external convolver. Or ist Camilla DSP ONLY a convolver in the end? Then I just won't need it...

Convolving is in my case done on the miniSHARC DSP platform! I'm looking for an alternative IIR/FIR Filter generation software (i.e. easier to use than Acourate) and transfer the generated filter parameters to the miniSHARC which convolves the digital audio stream.

Regards,
Winfried

Camilla DSP is a software digital signal processing program. It does not create filters (e.g. FIR kernels, etc) but rather it implements them or applies them to the audio stream, among other capabilities like mixing, resampling, etc.

What I believe you are looking for is a program like rePhase or other sorts of FIR filter design programs. You tell the program what you want the filter to do, the sample rate, etc. and the program designs or helps you design the filter. CamillaDSP does not do that.
 
Trying out the next30, working well so far and very nice to to have the new custom short cuts !

I am not much of a programmer so it took me a couple of tries to figure out the custom shortcut path for a source channel mute in a mixer. I initially tried the source number instead of the index in quotation. I guess the order the source channels are listed in the config is important then.

I did notice that the gui does not accept the "mm" option for delay filters.