• 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

Does this seem like something wrong with the service that autostarts camilladsp, given that the service works as expected when starting camilladsp manually
I had the same issue with an Orange Pi device a while ago but can not recall what I did that fixed it. Can you share the .service file and journalctl output maybe?
 
I had the same issue with an Orange Pi device a while ago but can not recall what I did that fixed it. Can you share the .service file and journalctl output maybe?

It's ok actually I fixed it

For those who are able to start the service manually but the ExecStart doesn't automatically start the service, run:
Code:
systemctl get-default

Mine returned "multi-user.target" - therefore in camilladsp.service, I needed to change
Code:
WantedBy=graphical.target

to

Code:
WantedBy=multi-user.target

Some further advice for type C to 3.5mm Apple dongle users

The audio was extremely choppy without resampling to 48kHz. Other than that, it's fairly simple - capture device for me is "hw:Loopback,0" (ensuring that my shairport service was outputting to "hw:Loopback,1"), playback device is "hw:A", channels 2, I think I just deleted the mixer section in the sample config.yml file I downloaded here (I downloaded the Motu streamer one)
 
It's ok actually I fixed it

For those who are able to start the service manually but the ExecStart doesn't automatically start the service, run:
Code:
systemctl get-default

Mine returned "multi-user.target" - therefore in camilladsp.service, I needed to change
Code:
WantedBy=graphical.target

to

Code:
WantedBy=multi-user.target

Some further advice for type C to 3.5mm Apple dongle users

The audio was extremely choppy without resampling to 48kHz. Other than that, it's fairly simple - capture device for me is "hw:Loopback,0" (ensuring that my shairport service was outputting to "hw:Loopback,1"), playback device is "hw:A", channels 2, I think I just deleted the mixer section in the sample config.yml file I downloaded here (I downloaded the Motu streamer one)

Glad to hear you got it working.

Someone else had previously suggested making the changes you did to the service, it works fine on ubuntu server but other distros w/o a GUI may have issues. Although I don't plan to cover distros other than ubuntu server in the tutorial l will update it to use multi-user.target to make it more universal.

Thanks for the feedback.

Michael
 
03/25/2023: Changed recommended display mounting hardware for 10 mm faceplate from 5 mm to 3 mm long screws.
I just noticed this change. What was the reason for this? From what I recall form my build the 5mm screws worked perfectly.
 
Where I am: Raspberry Pi 2Gb acting as a 'NAS' & mpd server, which I can control with several devices or stream from if I choose. This connected, bitstream through HDMI, to an old AVR: Yamaha RX-V671. Speakers: ancient pair of Kef iq7 (bi amplified with two channels of the AVR) and a not great but adequate and discrete Kef T101c centre speaker. Also use Amazon Firestick and (rarely nowadays) a Pioneer BDP-LX55 multi format disk player.

The AVR had a purpose when I bought it but not needed now, haven't bothered with surround sound in a long time, I'd love rear speakers so I can actually listen properly to the surround sound audio I have but enduring the ensuing complaints far outweigh the enjoyment of listening.

I've got a spare 8Gb Pi I used as a desktop PC, and no longer required for its previous use, so I can experiment with Camilla DSP without wrecking the current set-up.

I suppose the logical approach is to find a suitable DAC, get that working using the analogue inputs of the AVR, even though it's likely the input to the amp will be immediately digitised; once satisfied that works, get suitable amp(s). After that consider new speakers, possibly smaller ones and a sub.

Does that sound like a good way to go about this?
Are there many suitable DACs out there?
 
Did anyone here ever try out the aggregate devices option? I am about to buy 2 okto dac8 and feed them from same source via aes (so should be in sync). Just scared to spend the money with high risk of failure...
 
Where I am: Raspberry Pi 2Gb acting as a 'NAS' & mpd server, which I can control with several devices or stream from if I choose. This connected, bitstream through HDMI, to an old AVR: Yamaha RX-V671. Speakers: ancient pair of Kef iq7 (bi amplified with two channels of the AVR) and a not great but adequate and discrete Kef T101c centre speaker. Also use Amazon Firestick and (rarely nowadays) a Pioneer BDP-LX55 multi format disk player.

The AVR had a purpose when I bought it but not needed now, haven't bothered with surround sound in a long time, I'd love rear speakers so I can actually listen properly to the surround sound audio I have but enduring the ensuing complaints far outweigh the enjoyment of listening.

I've got a spare 8Gb Pi I used as a desktop PC, and no longer required for its previous use, so I can experiment with Camilla DSP without wrecking the current set-up.

I suppose the logical approach is to find a suitable DAC, get that working using the analogue inputs of the AVR, even though it's likely the input to the amp will be immediately digitised; once satisfied that works, get suitable amp(s). After that consider new speakers, possibly smaller ones and a sub.

Does that sound like a good way to go about this?
Are there many suitable DACs out there?

Sounds reasonable to me. In terms of DACs the ones mentioned in this tutorial are all good options. How many output channels do you need?

Michael
 
Did anyone here ever try out the aggregate devices option? I am about to buy 2 okto dac8 and feed them from same source via aes (so should be in sync). Just scared to spend the money with high risk of failure...

I haven’t done it with CamillaDSP but am happy to experiment. I could use an Ultralite Mk5 to clock an Okto and combine them as an aggregate device.

For an aggregate device are you talking about a MacOS aggregate device or an alsa multidevice as Henrik describes here -> https://github.com/HEnquist/camilladsp-config?

Michael
 
Sounds reasonable to me. In terms of DACs the ones mentioned in this tutorial are all good options. How many output channels do you need?

Michael
I've just been trying to understand whether the "channels" on a DAC were stereo or one per speaker when I realised I had a reply to my post. Not being certain of the answer makes a seemingly easy response kind of difficult.
The best answer I can give, is right now I'd need two stereo inputs for my front speakers (bi-amp) plus one mono for my centre speaker.
I'd also like additional stereo output for two rear speakers for the (unlikely!) event I can persuade She Who Must Be Obeyed they'd be a Good Idea. I already own them from some time ago.
If the channels are single speaker, that equals 4+1(+2) = 7.
 
Last edited:
Hi Michael

alsa.....for Mac would be quite safe/easy ;-)

Atm checking also alternative solutions. Antelope Orion looks great. Class compliant, enough Channels and at least good hardware (no measurements of true performance can be found unfortunatrly)
 
First thank to @HenrikEnquist for excellent camillaDSP!
Second, thank to @mdsimon2 for his tutorial, without which I could not have used camilladsp... !

Now the reason for this post is to point out that this tutorial works well with "raspberrypi os lite 64bit".
only 3 things to know:
1) you must install git ( sudo apt install git )
2 ) alsa-utils is allready installed, so "sudo apt install alsa-utils" isn't necessary
3 ) sudo apt install linux-modules-extra-raspi give you the message "Unable to locate package linux-modules-extra-raspi"
but no problems , the loopback files are allready installed. just add "snd-aloop" to snd-aloop.conf file.

"raspberrypi os lite 64bit" is really lighter than ubuntu server, very quick to install and update .
used memory is 175 mb ( with squeezelite) . was more than 320mb with ubuntu server 22.04 ( this can make difference with raspberrypi 0 2 w )
rpi lite use recent kernel 6.1.21-v8+


Capture d’écran du 2023-07-24 11-24-09.png
 
Last edited:
Looks very similar to the FLIRC script, should be pretty easy to modify flirc.py to use the bluetooth remote. At first glance I think all you really need to do is change your input device (flirc=evdev.InputDevice('/dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd')) and maybe the key mapping.

Michael
work fine ! just pick up the correct name with " ls /dev/input/by-id/ " , with my remote was: usb-DHS_USB_DOGLE-event-kbd
key mapping was ok also, i have changed for my convenience to KEY_VOLUMEDOWN , KEY_VOLUMEUP , KEY_ESC , KEY_COMPOSE .
remote-control-1200-555x555.jpg
 
First thank to @HenrikEnquist for excellent camillaDSP!
Second, thank to @mdsimon2 for his tutorial, without which I could not have used camilladsp... !

Now the reason for this post is to point out that this tutorial works well with "raspberrypi os lite 64bit".
only 3 things to know:
1) you must install git ( sudo apt install git )
2 ) alsa-utils is allready installed, so "sudo apt install alsa-utils" isn't necessary
3 ) sudo apt install linux-modules-extra-raspi give you the message "Unable to locate package linux-modules-extra-raspi"
but no problems , the loopback files are allready installed. just add "snd-aloop" to snd-aloop.conf file.

"raspberrypi os lite 64bit" is really lighter than ubuntu server, very quick to install and update .
used memory is 175 mb ( with squeezelite) . was more than 320mb with ubuntu server 22.04 ( this can make difference with raspberrypi 0 2 w )
rpi lite use recent kernel 6.1.21-v8+


View attachment 301144

I'll need to give it a try again. Unfortunately, I've always had issues with Raspberry Pi OS and the Ultralite Mk5.

Michael
 
I've just been trying to understand whether the "channels" on a DAC were stereo or one per speaker when I realised I had a reply to my post. Not being certain of the answer makes a seemingly easy response kind of difficult.
The best answer I can give, is right now I'd need two stereo inputs for my front speakers (bi-amp) plus one mono for my centre speaker.
I'd also like additional stereo output for two rear speakers for the (unlikely!) event I can persuade She Who Must Be Obeyed they'd be a Good Idea. I already own them from some time ago.
If the channels are single speaker, that equals 4+1(+2) = 7.

How are you deriving the center and rear channels? Are you playing multichannel tracks?

For ~8 channels I think the Okto is the best given the display, IR volume control, input flexibility and trigger out. However, it is not designed to be used with amplifiers with unbalanced inputs so it may not be a good solution if you don't plan on upgrading amps.

I also really like the Ultralite Mk5 which is more flexibile from an I/O standpoint, reasonably priced and works with unbalanced input amplifiers. Main downside is no IR volume control but you can accomplish that in other ways as described in this tutorial.

Michael
 
I'll need to give it a try again. Unfortunately, I've always had issues with Raspberry Pi OS and the Ultralite Mk5.

Michael

Just tried it, unfortunately when the Ultralite Mk5 is connected it knocks out the network connection on the RPi. I understand that this is likely more of a MOTU issue than a Raspberry Pi OS issue and I am sure it could be worked around but for a headless setup this is a deal breaker

Michael
 
How are you deriving the center and rear channels? Are you playing multichannel tracks?

For ~8 channels I think the Okto is the best given the display, IR volume control, input flexibility and trigger out. However, it is not designed to be used with amplifiers with unbalanced inputs so it may not be a good solution if you don't plan on upgrading amps.

I also really like the Ultralite Mk5 which is more flexibile from an I/O standpoint, reasonably priced and works with unbalanced input amplifiers. Main downside is no IR volume control but you can accomplish that in other ways as described in this tutorial.

Michael
I do have quite a few multichannel files that don't get played currently. Purchased as high quality downloads that came with both 24-bit stereo and multichannel files. The latter don't get played because no rear speakers in place.
I do plan on getting rid of AV amp. Would need both amps and DAC so can get whatever works together. I've found it's quite hard to search for amps with balanced inputs without checking each amp individually. Was considering the Topping DM7 with two BRZHIFI 3255XLR, would still need to drive centre speaker. Or even a more DIY option. For example, was trying to decide whether the minidac8 would work with a usb i2s bridge, would be cheaper (a little), wouldn't have balanced outputs so could play with existing amp for a while. Will check the Ultralite, though don't think inputs will be a problem, Just the USB input would do.
 
Last edited:
Just tried it, unfortunately when the Ultralite Mk5 is connected it knocks out the network connection on the RPi. I understand that this is likely more of a MOTU issue than a Raspberry Pi OS issue and I am sure it could be worked around but for a headless setup this is a deal breaker

Michael
Is this a power issue? Rpi can lose power to WiFi if connected device drains power somehow. Also could possibly be just a physical issue of the DAC blocking the WiFi signal? I use a Rpi attached to the back of a monitor and sometimes has issues with WiFi connection if monitor is turned to wrong orientation. The WiFi antenna on the Rpi isn't the best.
 
Is this a power issue? Rpi can lose power to WiFi if connected device drains power somehow. Also could possibly be just a physical issue of the DAC blocking the WiFi signal? I use a Rpi attached to the back of a monitor and sometimes has issues with WiFi connection if monitor is turned to wrong orientation. The WiFi antenna on the Rpi isn't the best.

It’s not a power issue and is the same whether using the RPi Wi-Fi, a USB Wi-Fi adapter or Ethernet. The Ultralite Mk5 is a combined network/USB interface (although the network functionality is crippled compared to the AVB series) and for some reason it knocks out all network connectivity on the Pi when connected. Again, I could probably troubleshoot it locally by playing with network settings but given that Ubuntu works perfect headlessly I don’t have much motivation.

Michael
 
It’s not a power issue and is the same whether using the RPi Wi-Fi, a USB Wi-Fi adapter or Ethernet. The Ultralite Mk5 is a combined network/USB interface (although the network functionality is crippled compared to the AVB series) and for some reason it knocks out all network connectivity on the Pi when connected. Again, I could probably troubleshoot it locally by playing with network settings but given that Ubuntu works perfect headlessly I don’t have much motivation.

Michael
The problem is that rasperryos uses dhcpcd and the ubuntu network manager to handle networks.
ssh sudo raspi-config, change dhcpcd to network manager , wired network connected, because it is necessary to rewrite the wifi parameters, also through raspi-config. normally it will be fine...
 
Back
Top Bottom