• 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

Hello Michael, (mdsimon2),

I am going to take you route for setting up camilladsp with squeezelite player running on it, but a few questions to
make some decisions?

Is the combination possible (stable) on the raspberry pi zero W?

There can be a lot to read about the sample rate and that camilladsp can hick-up when the source changes to another sample rate. Is this
also an issue when using the squeezelite player?

Is there a good book (or source) to setting up and working with the alsa driver on the raspberry pi os lite?

greetings,
Marcel
 
Last edited:
Pi 2 Zero W can work, although it does not have as much processing power as the RPi4. I tested it a few years ago and made some notes here -> https://www.audiosciencereview.com/...pberry-pi-as-a-music-server.9130/post-1003790.

Another downside is that it cannot be used as a USB gadget like the RPi4 or RPi5.

My approach of resampling in squeezelite handles sample rate changes well. Are you only using squeezelite as a source or do you have other sources? You could also use any of the various means of dynamically switching configurations to match your sample rate like camilladsp-controller (USB gadget or ALSA loopback), scripples' alsa_cdsp plugin (ALSA loopback only), camilladsp-setrate (USB gadget only) or gaudio_ctl (USB gadget only).

My tutorial gives you everything you need to get a working setup. Is there something you specifically have a question? What DAC will you be using?

Michael
 
@MDG might be asking about the original zero w, that I used long time ago. At the time I was using moodeaudio and there were some limitations, or could even be that camilladsp could not be used altogether?... something related to 32 bits Vs 64? Can't remember. In any case, when the zero 2w came out, it was a huge jump in performance and a tiny difference in price. I would not consider attempting to use the zero w if you can get a zero 2w
 
Last edited:
Another downside is that it cannot be used as a USB gadget like the RPi4 or RPi5.
To clarify, the Zero and Zero 2 only have one USB port which can be used in either host mode or gadget mode, not both at the same time.. If you want to use it in gadget mode then you need a non-USB output like a hat or HDMI. If you want to use it with a USB DAC you can't use it as a gadget.
 
To clarify, the Zero and Zero 2 only have one USB port which can be used in either host mode or gadget mode, not both at the same time.. If you want to use it in gadget mode then you need a non-USB output like a hat or HDMI. If you want to use it with a USB DAC you can't use it as a gadget.

Good points, I was thinking only in terms of USB DACs.

Michael
 
Yes and nothing else changed. It also doesn't happen every time (I'd say at least 50% of the time though) and it never happened with v2.


Interesting. I'm using a FireTV 4k Max. I only use a few apps on it (and so far I've only used a couple of those with v3) but so far I've had the issue with Kodi and Netflix.
Setting silence_timeout to 0 is the only way I have been able to prevent this.
 
Just a post that may be helpful to others upgrading to CamillaDSP version 3.0. The format of the configuration file has changed, as noted by mdimon2. Importing the old configuration files only worked for me if there were no filters specified. Once I then specified filters, it gave me errors. So, I created a new configruation file from scratch using the GUI, and that worked well.

The main difference that I see is the in how the "Pipeline" is configured in the new version. Once I had the Devices tab and Mixer tab configured in the new configuration, I setup my first filter and saved that. Then I copied the rest of the filters from my old configuration document into my new configuration document. I then went back into the GUI and setup the Pipeline. That worked well for me. Of course, you can create your filters anew if you so choose.

Also, previously I had Buffers --> chunksize set to 8192. That threw an error. I changed the chunksize to 4196, and that resolved the issue.


Nevermind. I just again tried importing an old configuration file using mdsimon2's instructions and this time it worked.
 
Last edited:
How did you import your V2 configurations? I didn't have issues importing configurations with filters as long as I followed the steps detail in my tutorial -> https://github.com/mdsimon2/RPi-CamillaDSP#converting-configurations-from-v2-to-v3.

Michael
Hi Micheal,

I followed the tutorial. It worked fine for a configuration file I had without any filters, but not for the configuration files that have a lot of filters. I tried it a couple of times, but no luck.

When the "Select what to import" screen comes up, there are white exclamation icons next to all of my filters and my mixer. There also is a red exclamation icon next to every filter that has a name ending in two digits (e.g., Right_10, Left_10, etc.) and my mixer.

But, creating a new configuration file the way I did was simple and fairly quick. Also, I did not need to change any of the filters when I copied them into the new configuration file.


Nevermind. I just tried it again and it worked. I'm not sure what I did wrong yesterday.
 
Last edited:
The main thing I've seen cause weird results is not starting from a blank configuration in the GUI prior import.

Still interested in learning more about when it doesn't work as it seems like a few people have run in to issues but when they try again, and it works fine.

Michael
 
The main thing I've seen cause weird results is not starting from a blank configuration in the GUI prior import.

Still interested in learning more about when it doesn't work as it seems like a few people have run in to issues but when they try again, and it works fine.

Michael
I am not sure what changed between yesterday and today, other than I installed camilladsp-setrate and rebooted my Pi. camilladsp-setrate would not have affected it. Perhaps rebooting it did, though. But, I thought I had rebooted it at the appropriate step in the installation.
 
Pi 2 Zero W can work, although it does not have as much processing power as the RPi4. I tested it a few years ago and made some notes here -> https://www.audiosciencereview.com/...pberry-pi-as-a-music-server.9130/post-1003790.

Another downside is that it cannot be used as a USB gadget like the RPi4 or RPi5.

My approach of resampling in squeezelite handles sample rate changes well. Are you only using squeezelite as a source or do you have other sources? You could also use any of the various means of dynamically switching configurations to match your sample rate like camilladsp-controller (USB gadget or ALSA loopback), scripples' alsa_cdsp plugin (ALSA loopback only), camilladsp-setrate (USB gadget only) or gaudio_ctl (USB gadget only).

My tutorial gives you everything you need to get a working setup. Is there something you specifically have a question? What DAC will you be using?

Michael
Hi mdsimon2/mch,

I would like to use it with the Raspberry pi Zero 2W, inclusive a interface card from mini dsp. This card is called the MCH streamer.

The MCH streamer has the abilllity to connect an ADAT in signal (only use the left/rigt full range signal) and an ADAT out signal. The ADAT out signal can carry
to 8 channels. Than connect this ADAT out to my Fireface 802 converter. It has to be a stable proces for live shows (with the acceptance of some additional delay, occurs with processing).

I have used camilladsp in the past, with version 0.xxx. Things have changed a little bit. Besides that i am not too familiar with LINUX code and the raspberry family.
So it will be a somewhat slower proces for my to settings this up and fiddling things out.

I have a few principle questions;

- I have seen the configurations files are different from V2 to V3. Besides the steps in GUI to transform it to V3, are the real difference written out somehwere?
- I have seen that there is the option to quick switch between config files in the GUI. Does this go immediatly, with one click and without noticeble hickups?
The use of the this is to make quick switch between different filter (not switch between different device parameters; samplerate, capture device etc...)

greetings
Marcel
 
The MCHstreamer has some clocking issues with CamillaDSP (or at least it did the last time I tried it). See this post -> https://www.audiosciencereview.com/...ds/rpi-camilladsp-tutorial.29656/post-1913966, my comments are about SPIDF but they should hold true for ADAT. Should probably be OK as long as you have CamillaDSP running but it personally feels a bit fiddly for live shows.

Probably best to talk with Henrik about changes between V2 and V3 as I there was a good amount of stuff changing behind the scenes.

The quick config switch is seamless without any noticeable issues.

Michael
 
I've updated the tutorial for GUI V3.0.1.

Good news is that there is now no need to mess with anything python related to install and use the GUI.

Bad news is that it requires a change to camilla.service to use the new GUI. In addition, flirc.py and oled.py still require a python environment so I have moved the installation steps to those sections of the tutorial.

Michael
 
The MCHstreamer has some clocking issues with CamillaDSP (or at least it did the last time I tried it). See this post -> https://www.audiosciencereview.com/...ds/rpi-camilladsp-tutorial.29656/post-1913966, my comments are about SPIDF but they should hold true for ADAT. Should probably be OK as long as you have CamillaDSP running but it personally feels a bit fiddly for live shows.

Reading the manual of the MCH streamer about the clock signal is/can indeed be tricky. The default selection is that its being fed by his internal masterclock. For MAC and Windows there is software driver where you can choose to use the default selection OR the clock of the incoming ADAT/SPDIF signal. Do you know it the MCH streamer is remember its selection after shutting down the the interface?

I haven`t done much with clock signals, but suppose to check the option so that the MCH streamer take`s the clock signal of the incomming signal. Does it automatically also transmit this clock signal with the outcomming signal? (Other words the MCH Streamer and the following interface are being driven with the same/synced clock signal from
with the output of first interface?)

The unit has a driver for MAC and Windows, but there is no manual or driver for Linux. The information on the website says it can be fully connected to a linux based system.

Marcel
 
The unit has a driver for MAC and Windows, but there is no manual or driver for Linux. The information on the website says it can be fully connected to a linux based system.

I use the MCHStreamer Kit with Linux (Raspberry Pi OS Lite). I use it for 2-channel playback and it works well.

I used Windows to upload the firmware I needed into my MCHStreamer, and then just plugged it into my Raspberry Pi. My Pi recognizes it automatically.

I have been using SPDIF Out, without any issues, for about a year. I also tried TosLink out and had no issues with that.

Initially I had no issues with SPDIF In. At some point I started getting some clicks, so I switched to using USB from my WiiM Ultra straight into my Pi. Since then I have re-installed my OS, CamillaDSP and camilladsp-setrate (when I moved to the new version of CamillaDSP). Also, my WiiM firmware has been updated. I again tried SPDIF In and did not experience any more glitches. But, I only used it for a short while to see if the software re-install cured the issue. It seems to have, but I would want to do more listening to confirm that the problem is completely gone.
 
I again tried SPDIF In and did not experience any more glitches. But, I only used it for a short while to see if the software re-install cured the issue. It seems to have, but I would want to do more listening to confirm that the problem is completely gone.

In the manual of teh MCH streamer there is written out there is, besides loading firmware, a control panel (UAC2) where some settings can be done. Can this be done with the MCH streamer running with Linux from the raspberry?
 
Reading the manual of the MCH streamer about the clock signal is/can indeed be tricky. The default selection is that its being fed by his internal masterclock. For MAC and Windows there is software driver where you can choose to use the default selection OR the clock of the incoming ADAT/SPDIF signal. Do you know it the MCH streamer is remember its selection after shutting down the the interface?

I haven`t done much with clock signals, but suppose to check the option so that the MCH streamer take`s the clock signal of the incomming signal. Does it automatically also transmit this clock signal with the outcomming signal? (Other words the MCH Streamer and the following interface are being driven with the same/synced clock signal from
with the output of first interface?)

The unit has a driver for MAC and Windows, but there is no manual or driver for Linux. The information on the website says it can be fully connected to a linux based system.

Marcel

Here is the behavior I am seeing with the TOSLINK firmware and CamillaDSP, I assume ADAT is similar.

CamillaDSP will only start with clock source set to internal. It will NOT start if TOSLINK is set as clock source. You can change the clock source to TOSLINK in alsamixer after CamillaDSP has started and it will run correctly.

Upon RPi restart it remembers the previous clock setting which is a problem if you had previously set it to TOSLINK as CamillaDSP will not start.

If clock source is set to TOSLINK, the output clocking will be sync'd to the TOSLINK input. If clock source is set to internal the output clocking will use the MCHstreamer internal clock, and the input and output will NOT be clock sync'd.

Michael
 
Back
Top Bottom