• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

RPi + CamillaDSP Tutorial

Default port is 5005, is 5000 a typo in your post?
Yeah thanks. I figured that out with some help. V1 was 5000.
I'm now having issues with Camilla playing back audio via Alsa loopback to my Motu Mk5 ultralite.
With V1 I didn't have any issues.... bummer
 
CamillaDSP is running but won't find loopback:
1724672619926.png


Just sits there, saying starting:
1724672640338.png
 
Aplay -l doesn't find any devices, yet I can play to device in Roon via Bridge on the Pi4.
Does your ubuntu user belong to group audio? IOW does it have write access to audio device files in /dev/snd/*?
Changing this makes no difference, to operation.
Yes, it has no effect on your current issue, but it will make a difference once your get your setup working.
 
Roon is resampling everything to 192khz, on both Loopbacks. CamillaDSP wont kick in and start.
I also updated motu firmware. No difference.
 
Does your ubuntu user belong to group audio? IOW does it have write access to audio device files in /dev/snd/*?
I'm not sure how to check for that.... Aplay -l lists no devices, yet I can play to the interface. I've never needed to do any config for previous ubuntu versions.
Any ideas?
 
I'm not sure how to check for that....

run command id under that user:
Code:
pavel@precision:~$ id
uid=1000(pavel) gid=1000(pavel) skupiny=1000(pavel),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),30(dip),46(plugdev),108(netdev),112(lpadmin),120(scanner),128(sambashare),130(wireshark),143(docker)

Aplay -l lists no devices, yet I can play to the interface.
Which audio interface specifically? What user does your playback process run under (ps axwwu)?
I've never needed to do any config for previous ubuntu versions.
Well, often new software/OS versions behave a bit differently.
 
no luck
run command id under that user:
Code:
pavel@precision:~$ id
uid=1000(pavel) gid=1000(pavel) skupiny=1000(pavel),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),30(dip),46(plugdev),108(netdev),112(lpadmin),120(scanner),128(sambashare),130(wireshark),143(docker)


Which audio interface specifically? What user does your playback process run under (ps axwwu)?

Well, often new software/OS versions behave a bit differently.
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),101(lxd)
 
Try changing your output device to hw:Loopback,1

I don't know if you followed this guide, but setting loopback to use device 0 caused me a lot of headache.

The output has to be the reverse of input.

For example I set up Kodi on my Pi as well, and it's not possible to specify if it should output on 0 or 1 (as far as I could find). It just defaults to device 0. Hence, the output needs to be device 1 in CamillaDSP for Kodi to operate (otherwise it will just do like you describe, sitting there doing nothing).

The guide assumes input on Loopback,1 and output on Loopback,0. Personally, I would find the opposite to be more logical, and I changed everything accordingly.

What is your input to the loopback, and does it use device 0 or 1? if it's not specified it defaults to 0 as far as I can tell, which would conflict with output also being 0.

I don't know if this will solve anything for you, since it seems like you have other problems with aplay, but it might be worth a try.

CamillaDSP is running but won't find loopback:
View attachment 388594

Just sits there, saying starting: View attachment 388595
 
Last edited:
CamillaDSP is running but won't find loopback:
For me, setting the capture device to "hw:loopback,0" did not work. What worked for me was selecting the following capture device from the device list (select the magnifying glass icon to pull up the list):

plughw:CARD=Loopback,DEV=1
 
Last edited:
Form me, setting the capture device to "hw:loopback,0" did not work. What worked for me was selecting the following capture device from the device list (select the magnifying glass icon to pull up the list):

plughw:CARD=Loopback,DEV=1
There are two changes here -
1) correct DEV 1 (the duplex loopback device goes DEV 0 -> DEV 1 and DEV 1 -> DEV 0)
2) use of the universal adapter plug plugin which ensures that CDSP will open the capture loopback device at any samplerate/format/channels it requests, no matter what samplerate/format/channels combination was used by the other (playback) side of the loopback device. That oftem makes a major difference in this type of chain.
 
@mdsimon2
I'm confused about when to use rate adjust, the resampler, or both. I have a DM7 but used the MOTU M4 configs as a template. My inputs are streaming/loopback and two hifime S2s so I was looking at the m4 s2 digi section on the github page where it says:
Due to clock difference between S2 digi and M4, rate adjust and asynchronous resampling are enabled.
Both of the sa9227 configs have rate adjust enabled but only one (the 44c_192p one) has the resampler enabled.

On the CDSP github page it says:
When using the rate adjust feature to match capture and playback devices,one of the "Async" types must be used.
so shouldn't the resampler be enabled for both S2 digi configs (and the streamer configs for that matter)?

Also, I tried updating my configs to the new chunksize/target level ratio but with of my S2 digi inputs the DSP load started pegging 90%+ and then stopped. What is the max DSP load % we should be shooting for?
 
Last edited:
@mdsimon2
I'm confused about when to use rate adjust, the resampler, or both. I have a DM7 but used the MOTU M4 configs as a template. My inputs are streaming/loopback and two hifime S2s so I was looking at the m4 s2 digi section on the github page where it says:

Both of the sa9227 configs have rate adjust enabled but only one (the 44c_192p one) has the resampler enabled.

On the CDSP github page it says:

so shouldn't the resampler be enabled for both S2 digi configs (and the streamer configs for that matter)?

Also, I tried updating my configs to the new chunksize/target level ratio but with of my S2 digi inputs the DSP load started pegging 90%+ and then stopped. What is the max DSP load % we should be shooting for?

My bad, the uploaded config is incorrect, that should have asynchronous resampling and rate adjust enabled.

You need to use rate adjust and asynchronous resampling if your capture device and playback device have different clocks and the capture device does not have the ability to dynamically adjust its clock. The only capture devices in my tutorial that have this clock adjustment capability are the ALSA Loopback and USB gadget, these still need rate adjust but do not need asynchronous resampling.

Assuming you aren’t running anything crazy and are just running a standard configuration the DSP should be quite low, 90% is way too high.

I am out of town for the next week but will upload a new corrected configuration and look at the DSP load when I get back.

Michael
 
For me, setting the capture device to "hw:loopback,0" did not work. What worked for me was selecting the following capture device from the device list (select the magnifying glass icon to pull up the list):

plughw:CARD=Loopback,DEV=1
Thanks. All working on hardware loopback,0. My issue was the audio device wasn't assigned to the user group.
I had to do.... sudo usermod -aG audio <username>

Then the user could see the audio interface and loopback.

I installed a fresh Ubuntu LTS 24.04.... This issue wasn't present on my previous server version.
 
Back
Top Bottom