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

Thanks... that fixed the error for plughw:2,0. Though there is still no sound and the only output is 'dummy output' and only intput is 'monitor dummy output'
I think my o/s is trying to tell me something.. :)
Another day spent trying to run/configure camilladsp.... installed clean O/S and ran as per advice here with exactly the same (non)-results.
Giving up...howto's, hints and examples are so spread out and incomplete...(like where does that file go ??) that it is a mystery other than to the 6 regular posters here.
I look forward to a fully formed release for x86-amd64 that would allow a working .yml (tested on RPi ) to drop-in.
From all the comments I am certain that this is a fantastic software and look forward to it maturing and being available to mere mortals....will keep checking back. :)
 
  • Like
Reactions: 1 user
I followed the tutorial here amended for x86-64.. as it seemed the most comprehensive..
https://www.audiosciencereview.com/forum/index.php?threads/rpi4-camilladsp-tutorial.29656/
when that failed repeatedly despite the help from forum members on this thread I tried..
https://github.com/HEnquist/camilladsp-config
and gave up at step 4
Step 4: Create the CamillaDSP configuration

Use Alsa for both playback and capture, see alsaconfig.yml for an example.
Use "hw:Loopback,1" for capture device.
Set the capture sample format and rate to the same as for the plug device
Set the playback device to your dac, and the best sample format it supports.
as there was no indication as to where the .yml file was to be placed.

Using Ubuntu 20.04 which uses pulse.
(previously tried with xubuntu)

All I wish to do is add a filter to compensate for the AKG headphones I use to monitor the eq applied to LP rips.
 
Another day spent trying to run/configure camilladsp.... installed clean O/S and ran as per advice here with exactly the same (non)-results.
Giving up...howto's, hints and examples are so spread out and incomplete...(like where does that file go ??) that it is a mystery other than to the 6 regular posters here.
I look forward to a fully formed release for x86-amd64 that would allow a working .yml (tested on RPi ) to drop-in.
From all the comments I am certain that this is a fantastic software and look forward to it maturing and being available to mere mortals....will keep checking back. :)
I am lost as well... I have set up and used several DSP/Eq/crossover/room correction software and hardware systems including DBX PA 2 (amazing value for money), the DEQX (expensive but good sound) several Mini DSP, Dirac and Smaart from Rational Acoustics. So I am am not a newbie and not dumb, but the Camilla is a long way short of being user friendly and consumer ready.... When it is it will be great!
 
Hey Alex and Drone7. I agree with you in that setting up camilladsp is far from beeing user friendly, however I would like to share my experience, maybe it is of some help for someone thinking of trying it.

I have zero knowledge of Linux or any other computer related stuff, bought my first raspberry pi less than one year ago. Started using camilladsp with moode and liked its amazing possibilities. When mdsimon2 published his tutorial in ASR (God bless you man) decided to give it a try. Followed the tutorial with one USB card/dac, and it was an easy success at first try.
Tried to do the same with a different USB card/dac, there is no f**** way to make it work...

If I had started with this second card, I would be like you now. My short experience has been a hardware dependent matter of hit or miss, but still think it is very much worth it if you are in a budget. My 2cents.

PS: my recommendation to the team here would be to build a newbie friendly step by step tutorial like that of mdsimon2 but open to a more general use case.
 
Last edited:
  • Like
Reactions: 1 user
...
and gave up at step 4

as there was no indication as to where the .yml file was to be placed.
...
Drone7,

I run CamillaDSP on a couple of PCs.

I haven't run it on a RaspPi before (don't have one) or read the ASR tutorial so gave the ASR doc a quick look see.

On Post #3 of the tutorial, it has a code snippet in Step "7) Create CamillaDSP Service".

If you note in the ASR instructions that you referenced, the path and file name of the YML file is specified here where he writes about the volume control "-g 40" argument .

Did you update the 2 paths in the "ExecStart=" line to match your own setup ( NOTE: his example includes the paths of his specific michael3 home directory, not your chosen location(s) ) ???

Note there are 2 paths that need to be updated.

1) The first path is the path to the camilladsp binary executable program (what needs to be launched). Not only does the path have to match but the filename has to match including the UPPERlowerCASE because Linux is case sensitive.

2) The second path is to the YML configuration file (what needs to be read by camilladsp once it has been launched). Same applies as #1 with filename and case sensitivity.


Hope this helps. CamillaDSP is a great program, not to be missed because of a unset path name.

That is a pretty cool case he made for his CamillaDSP/RasbPi project.

Code:
ExecStart=/home/michael3/camilladsp/camilladsp -g-40 -p 1234 /home/michael3/camilladsp/configs/camilladsp.yml

Code:
[Unit]
After=syslog.target
StartLimitIntervalSec=10
StartLimitBurst=10

[Service]
Type=simple

vvvvvvvvvvvvvvvvvvvvvvvvvvv CHANGE PATHS HERE vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ExecStart=/home/michael3/camilladsp/camilladsp -g-40 -p 1234 /home/michael3/camilladsp/configs/camilladsp.yml
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CHANGE PATHS HERE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Restart=always
RestartSec=1
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=camilladsp
User=root
Group=root
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10

[Install]
WantedBy=graphical.target

IMG_7444.jpeg
 
Last edited:
..as there was no indication as to where the .yml file was to be placed.
As phofman mentioned, you can put the .yml anywhere. You just have to give the path to camilladsp when starting. If you use the systemd service, you do that by editing the service file: https://github.com/HEnquist/camilladsp-config/blob/master/camilladsp.service#L9
Using Ubuntu 20.04 which uses pulse.
(previously tried with xubuntu)
Then everything you need should be in camilladsp-config, and the main camilladsp readme.

I would suggest starting without the gui, and without systemd. Once you have some sound (without doing any filtering), then you can continue with setting up the rest.

Did you edit the Pulseaudio config as described? Did you manage to get the Alsa loopback driver loaded on boot?
 
Tried to do the same with a different USB card/dac, there is no f**** way to make it work...
What card was that? Is it supported in Linux, and could you get it to work with aplay? I can' help with problems or fix bugs I don't know exist.
PS: my recommendation to the team here would be to build a newbie friendly step by step tutorial like that of mdsimon2 but open to a more general use case.
That's basically what I indended for camilladsp-config. The problem is that it's very time consuming to write tutorials that really describe every step. And then there is the issue of keeping them up to date.

I have high hopes for PaXoverNG. That should make it very simple to get everything up and running.
See this thread (towards the end): https://www.diyaudio.com/community/...over-design-implementation-with-linux.330273/
 
As an alternative for that usage you could try AutoEq with Pulse effects, that should be more plug and play.
https://github.com/jaakkopasanen/AutoEq#linux
Thanks ! I've now tried that on another machine and it was simple to implement. That should do what I want for the task I have.

As phofman mentioned, you can put the .yml anywhere. You just have to give the path to camilladsp when starting. If you use the systemd service, you do that by editing the service file: https://github.com/HEnquist/camilladsp-config/blob/master/camilladsp.service#L9

Then everything you need should be in camilladsp-config, and the main camilladsp readme.

I would suggest starting without the gui, and without systemd. Once you have some sound (without doing any filtering), then you can continue with setting up the rest.

Did you edit the Pulseaudio config as described? Did you manage to get the Alsa loopback driver loaded on boot?
Thank you Henrik, I am encouraged and from yours and others comments I will continue installing camilladsp. :)
Will try again tonight and report.
 
What card was that? Is it supported in Linux, and could you get it to work with aplay? I can' help with problems or fix bugs I don't know exist.
No problem Henrik, was just an example of what a non experienced user can face when trying to set up camilladsp.
But now that you ask, the card is a sound blasterx G6. I wanted it to be taking a toslink signal to a pi running camilladsp and outputting the processed signal. I can do this successfullywith a different card, but with the G6 couldn't manage. And when i use a second card as toslink input, the G6 works as just a pass through (camilladsp shows the signal in and out but the processing doesn't occur).
 
the G6 has three functioning modes that you can switch via the windows app or physical buttons (direct, spdif direct or "normal"). These modes change the number of controls that are active in alsamixer, but the outcome of aplay -l and arecord -l is the same for all three modes:

marcosch@raspcamilla:~$ aplay -l
** List of PLAYBACK Hardware Devices **
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: G6 [Sound BlasterX G6], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

marcosch@raspcamilla:~$ arecord -l
** List of CAPTURE Hardware Devices **
card 1: G6 [Sound BlasterX G6], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
 
the physical switch to turn on the "direct mode" is one of the lateral buttons as indicated below:
1646071684131.png

the spdif as capture can be selected in the software (and the setting is stored in the card)
there might be a mode to mix the usb and spdif input, no idea, but i think the normal setting is just spdif without mixing
 
I doubled the timeout for the Alsa I/O now, and released rc3.
@ChrisPatlach and @Tfive can you see if this works better for you with the standard kernel?
Hi Henrik, I'm currently building from source and I'm on the next100 branch. Pulled all changes there (can see you commit about also timeouts in my history) and rebuilt, no changes in the generic (non lowlatency) kernel. xruns every 1-2min and the occasional alsa snd_pcm_iwrite error, which might even exit the program. Sorry, I cleared my logs after restarting to the lowlatency kernel, if you need the logs, drop me a notice and I will restart with the generic kernel once more.