• 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

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,640
Likes
3,556
Location
Detroit, MI
As of May 22, 2024, this tutorial has been migrated to GitHub to allow for better revision management and a more universal location, please see link below.


In general the GitHub tutorial is the same as previous ASR tutorial but now covers the RPi5, Hifiberry DAC 8x, USB gadget capture device, remote management of the Ultralite Mk5 via nginx and use of Raspberry Pi OS Lite in lieu of Ubuntu Server. OLED display GPIO pin layout was slightly modified to support the RPi5 / DAC8x.

In addition, steps were consolidated as much as practicable to minimize key strokes / setup time. For those unfamiliar with GitHub, an entire code snippet can be copied by clicking the boxes in the upper right. These commands can then be pasted in to terminal by a single paste operation.

1716401841745.png

Michael
 
Last edited:
Last edited:
GUI


FLIRC USB IR Receiver


OLED Display


Modushop Case

 
Last edited:
My UMIK-1 arrives tomorrow so logged in to see if I can find an Idiots Guide To REW when this literally popped up before my eyes.

Very much appreciated. Will be diving head first into this as soon as I've mastered REW.

Is the version of Camila baked into Moode the same as the one above?
 
My UMIK-1 arrives tomorrow so logged in to see if I can find an Idiots Guide To REW when this literally popped up before my eyes.

Very much appreciated. Will be diving head first into this as soon as I've mastered REW.

Is the version of Camila baked into Moode the same as the one above?

I don't know exactly what version is used in Moode but it will be some version of the same. Obviously a lot of the configuration stuff will be different but the GUI stuff should be the same. Biggest issue with Moode is the older kernel which doesn't support DACs like the MOTU Ultralite Mk5 but I imagine most 2 channel DACs are fine.

Michael
 
Very cool for doing this. Having some hand holding through this is what is motivating my purchase tomorrow. Any recs re processor, box display?
 
Very cool for doing this. Having some hand holding through this is what is motivating my purchase tomorrow. Any recs re processor, box display?

For processor any of the RPi4s are fine (2 gb, 4 gb or 8 gb). Availability is a bit tough right now but they seem to pop up from time to time.

If you can find an Okto DAC8 pro that solves a lot of the fussing around but the MOTU Ultralite Mk5 option gets you pretty much the same functionality for less money.

For display it's buried in the thread but I used this one -> buydisplay.com 3.2” diagonal SSD1322 OLED display which is designed to work with the drawings in Part 4 and a Modushop GX247 case.

Michael
 
Intent of this thread is to provide a tutorial for setting up CamillaDSP on a RPi4. There is a lot of really good information scattered through ASR, DIYAudio and the CamillaDSP GitHub but there also appears to be a lot of apprehension. My goal is to describe in detail the how and why of implementing CamillaDSP with a variety of hardware and ease some of that apprehension.

I realize this tutorial is quite long and I am sure it looks pretty daunting to the uninitiated. I felt the same way when trying to figure this stuff out a few months ago. My advice is to take it step by step, go slowly and ask questions. Some DIY projects are not worth the effort but this one definitely is. At the end of this project you will have a DSP with almost unparalleled processing power in a very small form factor, easily configured via web interface all at a very low cost compared to other commercial options.

Before we get started I would like to especially @HenrikEnquist for developing CamillaDSP. I’ve long been skeptical of computer based DSP but CamillaDSP to me is a game changer. It easily runs on minimal hardware and overall just seems exceptionally well designed. I’ve replaced all of my miniDSP systems with RPi4s running CamillaDSP and could not be happier.

The tutorial will be divided in to 4 parts, Part 1 will talk through background on CamillaDSP, Part 2 will cover how to get a working CamillaDSP setup, Part 3 will document specific CamillaDSP configuration files for various multichannel DACs and Part 4 will talk through more advance stuff such as the GUI, displays, IR receivers, trigger output options and cases.

A lot of the motivation behind this thread started from the ASR Open Source Streamer thread and I would like to thank everyone that participated in that thread as it really pushed me to explore computer based DSP more. As this thread is really more based on how to use CamillaDSP rather than how to build a streamer (although that will also be covered!) I figured it was better to start a new separate thread.

As a disclaimer I am not a programmer or DSP expert, my primary motivation is finding better ways to implement DIY active speakers. If you see a better way to do something or want more explanation please speak up! These instructions have been developed over the last 6 months or so as I learned how to implement CamillaDSP and found better / quicker ways to set it up but I am always learning.
Bless you for doing this! I've gone the Moode route for my renderer, and have been trying to figure out how to extract the filters ARC Genesis applies in my Martin Logan Unison, so that I can rebuild them in Camilla, eliminate the Unison from my pipeline, and use a better DAC. I'm pretty sure I'm going to find this tutorial useful!
 
As I imagine a lot folks will want to try this with DACs other than the specific ones I recommended here are a few tips that might help.

Running aplay -l from the terminal will give you a list of all the audio devices you have installed that are recognized by ALSA. It should look something like this.

Screen Shot 2022-01-05 at 9.26.38 PM.png


As you can see the "ALSA name" is DAC8PRO. With this info you can run the command cat /proc/asound/YOURDACNAME/stream0 and it will list the supported bit depths and sample rates. Here you can see that I want to use S32LE in my CamillaDSP configuration and can use sample rates of 44100, 48000, 88200, 96000, 176400 or 196000. It is also important that this DAC has 8 output channels which will need to be exactly specified in the configuration file.

Screen Shot 2022-01-05 at 9.29.30 PM.png


Michael
 
Thank you soooo much for doing this, will be my weekend reading + experimenting.
Question: would it be possible to use different USB of the pi to output 2 channel signals to different standard two channel usb dacs? I understand latency could be an issue but still...
 
I don't know exactly what version is used in Moode but it will be some version of the same. Obviously a lot of the configuration stuff will be different but the GUI stuff should be the same. Biggest issue with Moode is the older kernel which doesn't support DACs like the MOTU Ultralite Mk5 but I imagine most 2 channel DACs are fine.

Michael
Thanks Michael.

Just to confirm: Pi+Moode into Topping D90. Will the older kernel affect audio quality in any way? Or is it just a wider compatibility concern?
 
Thank you soooo much for doing this, will be my weekend reading + experimenting.
Question: would it be possible to use different USB of the pi to output 2 channel signals to different standard two channel usb dacs? I understand latency could be an issue but still...

In general this is not a good idea unless you have some way to ensure the clocks are synced. IMO the best thing to do is to get a miniDSP U-DIO8 and two identical SPDIF or AES input DACs.

Michael
 
  • Like
Reactions: MCH
In general this is not a good idea unless you have some way to ensure the clocks are synced. IMO the best thing to do is to get a miniDSP U-DIO8 and two identical SPDIF or AES input DACs.

Michael
Thanks a lot, i understand. The u-dio8 is a bit of an overkill for me as i only aim for 4 channels (main and 2 subs max). Wonder if there is something similar for 4 channels. In any case the price of the dio8 is not prohibitive...
 
Have you tried decoding a DD+ 5.1 signal over Toslink from a TV? I have been considering transitioning from stereo to 5.1 audio but the moment you want any form of pre-outs from an AVR the price rises considerably.
 
Thanks a lot, i understand. The u-dio8 is a bit of an overkill for me as i only aim for 4 channels (main and 2 subs max). Wonder if there is something similar for 4 channels. In any case the price of the dio8 is not prohibitive...

For a CamillaDSP setup a MOTU M4 is great for 4 channels. Although like I mentioned in the tutorial I would be inclined to go to for a miniDSP Flex as the price is similar once you add case + screen + IR receiver.

Michael
 
  • Like
Reactions: MCH
Have you tried decoding a DD+ 5.1 signal over Toslink from a TV? I have been considering transitioning from stereo to 5.1 audio but the moment you want any form of pre-outs from an AVR the price rises considerably.

I have not. The only thing I have seen discussed is using a Meridan HD621 to split PCM HDMI in to 4 stereo AES or SPDIF outputs and routing those to either an Okto DAC8 pro or an U-DIO8. But I also must admit I am not very knowledgeable on home theater setups.

Michael
 
Nice writeup, thanks. Since you're using it for the FLIRC I guess you've not tried using the USB-C port as a USB input. A recent (5.14?) kernel update should make gadget audio compatible with Windows 10 but I've not got round to testing it yet.
 
Back
Top Bottom