• Welcome to ASR. 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

Unfortunately no changes:
* set the rates to 44.1 kH everywhere (Wiim out, Camilla capture and samplerate)
* target level at 1536
* bypassed the filters
* playback at normal volume: buffer around 1500 no issues
* lower volume in Wiim app to 0/100, not pausing playback - lots of constant and quite loud noise , buffer goes down, but stays around 1400. No warnings in the log. After 1-2 minutes of this noise, capture device is stalled (so silence at last...) and CamillaDSP restarts just fine if I turn the volume up
* turn volume up to 1 - random noises, turn volume up in Wiim app to 2/100 - all good - silence... Like if S2 could not handle 0s stream
* and I know I am repeating myself, but this is the greatest mystery to me. 2 out of 3 toslink cables I have - behavior like above. 3rd cable - it is much better, there are random cracks at 0 volume, but with the other 2 it is non-stop crackling noise. Otherwise there is no difference in those 3 cables when playing music (not to my ears at least, and I would not expect much difference between toslink cables). So why they behave so differently in relation to silence and S2....

Maybe I just purchase one of the Rpi digihats with coaxial input (b

Interesting, do you still have issues with pausing? Or only when you reduce volume to 0/100 or 1/100?

I usually attenuate in CamillaDSP or a downstream DAC rather than upstream. But I can try sending an attenuated signal to the S2 and see if I have issues. I also just tried the S2 with the RPi5 as most of my testing has been with the RPi4 and it seems fine.

It is rare but I've run across SPDIF sources that do not play nicely with all receivers. It is certainly possible that the Wiim and the S2 do not work together but the Wiim and Marantz could still be fine.

Michael
 
* lower volume in Wiim app to 0/100, not pausing playback - lots of constant and quite loud noise , buffer goes down, but stays around 1400. No warnings in the log. After 1-2 minutes of this noise, capture device is stalled (so silence at last...) and CamillaDSP restarts just fine if I turn the volume up
IMO because your silence_threshold is too high and considers the attenuated signal as silence -> pausing after silence_timeout.
 
Interesting, do you still have issues with pausing? Or only when you reduce volume to 0/100 or 1/100?

I usually attenuate in CamillaDSP or a downstream DAC rather than upstream. But I can try sending an attenuated signal to the S2 and see if I have issues. I also just tried the S2 with the RPi5 as most of my testing has been with the RPi4 and it seems fine.

It is rare but I've run across SPDIF sources that do not play nicely with all receivers. It is certainly possible that the Wiim and the S2 do not work together but the Wiim and Marantz could still be fine.

Michael
Pausing is the same as reducing volume in Wiim - issues are also there. I usually just use amplifier for volume control (analog), this was more to experiment if 0 volume behaves the same as pausing, and it does. And I am totally puzzled by differences in the cables.... Wiim and Marantz are working fine, but the whole point was to have the singal through CamillaDSP to play with DSP. So possibly looking for alternatives to S2 - any recommendations? I think in your tutorial you mentioned that hifiberry digi hat did not exactly handle signal interruptions well. I probably could swap wiim pro for wiim ultra, but afaik, ultra does not support fixed rate on usb out (so I would run into complexities of handling rate changes in CamillaDSP), also I prefer no display form factor of pro, and I think there should be a better (and cheaper) way of getting rid of those noises when paused then replacing the streamer which is perfectly fine otherwise.
 
IMO because your silence_threshold is too high and considers the attenuated signal as silence -> pausing after silence_timeout.
Yes, because of the noise I never reach 5s, but I cannot really set it to -20, as it would pause during playback as well (yes, clicks are that loud)
 
But I can try sending an attenuated signal to the S2 and see if I have issues. I also just tried the S2 with the RPi5 as most of my testing has been with the RPi4 and it seems fine.

I tried sending an attenuated signal SPDIF signal from my Mac to the S2 digi and it doesn't do anything weird. If I have the silence timeout set to -50 dB it goes in to pause at low volume levels like expected.

IMO, I think the Wiim is doing something weird when the signal is muted or at low volume that the S2 digi doesn't like. Or maybe your S2 digi is defective? Have you got it to work with any SPDIF source? Would also be interesting to just try recording with it and see if you see the clicks in the recording, I think you will.

Michael
 
I tried sending an attenuated signal SPDIF signal from my Mac to the S2 digi and it doesn't do anything weird. If I have the silence timeout set to -50 dB it goes in to pause at low volume levels like expected.

IMO, I think the Wiim is doing something weird when the signal is muted or at low volume that the S2 digi doesn't like. Or maybe your S2 digi is defective? Have you got it to work with any SPDIF source? Would also be interesting to just try recording with it and see if you see the clicks in the recording, I think you will.

Michael
I have tried connecting my TV directly to S2 and it was even worse, but then I am not sure if I did all the configs right in CamillaDSP. I will give it a try connecting Marantz as a source (it has toslink out) and connecting usb to my PC to bypass CamillaDSP puzzle. Actually it would be great if the unit was defective, as I really would like this setup to work... Will report back on my findings in some time.
 
Do you know if the spdif signal stops when you stop the music? What capture rate does CamillaDSP report in the logs after you stop? And what happens if you unplug the toslink while music is playing, same as when stopping?
 
Do you know if the spdif signal stops when you stop the music? What capture rate does CamillaDSP report in the logs after you stop? And what happens if you unplug the toslink while music is playing, same as when stopping?
When I stop (pause) the music CamillaDSP is running with 96K (or whatever the rate was during playback). No warnings. Unplugging the cabble causes Stalled state (Capture device is stalled, processing is stalled), and of course silence. After reconnecting the cable (and not restarting playback) CamillaDSP is back to running with 96K sample rate (and audible cracks).
 
Ok, then what happens if you use just arecord to record from the S2 to a file, instead of running CamillaDSP? Does the file contain the same noises?
 
Ok, then what happens if you use just arecord to record from the S2 to a file, instead of running CamillaDSP? Does the file contain the same noises?
Yes, indeed, so it does not seem to be CamillaDSP issue. Recorded wav - first with some music, and then volume to zero - same noises. Now I will try to see if S2 does the same with Windows PC.
 
And now after some tests on PC I understand even less. It is definitely not an issue with CamillaDSP, so maybe it is not the right thread, but perhaps someone might have some ideas... So:
* Wiim Pro -> Toslink to S2 Digi -> USB to PC --- behaves exactly as RPI before - noises after pausing signal or making it silent
* Marantz NA7004 -> Toslink to S2 Digi -> USB to PC -> no issues at all
* Samsung TV -> Toslink to S2 Digi -> USB to PC - cracks all the way, I cannot get this to work at all, 48kHz is definitely correct rate, here cracks are all the time, louder then actual sound (there is actual sound, not distored in the background, so rate seems to be correct, anyway tried all the combinations). Now - I use toslink out of TV daily, but via Wiim (to benefit from auto on), and there it works like any other source (cracks only during silence)

Totally confused. Maybe I should use Marantz as kind of interface... (Wiim toslink out -> Marantz toslink in -> Marantz toslink out -> S2 and so on), but this seems to be crazily overcomplicated (plus I'd need to purchase a DAC), but just checked it actually works (connected S2 to PC at the end, and as long as Marantz is feeding S2 and everything else is before it works just perfectly...). Any thoughts? Or maybe I contact Hifime (maker of S2) - it is hard to tell if device is for sure defective as it kind of works with Marantz, but most of the time does not work as expected.
 
Last edited:
And now after some tests on PC I understand even less. It is definitely not an issue with CamillaDSP, so maybe it is not the right thread, but perhaps someone might have some ideas... So:
* Wiim Pro -> Toslink to S2 Digi -> USB to PC --- behaves exactly as RPI before - noises after pausing signal or making it silent
* Marantz NA7004 -> Toslink to S2 Digi -> USB to PC -> no issues at all
* Samsung TV -> Toslink to S2 Digi -> USB to PC - cracks all the way, I cannot get this to work at all, 48kHz is definitely correct rate, here cracks are all the time, louder then actual sound (there is actual sound, not distored in the background, so rate seems to be correct, anyway tried all the combinations). Now - I use toslink out of TV daily, but via Wiim (to benefit from auto on), and there it works like any other source (cracks only during silence)

Totally confused. Maybe I should use Marantz as kind of interface... (Wiim toslink out -> Marantz toslink in -> Marantz toslink out -> S2 and so on), but this seems to be crazily overcomplicated (plus I'd need to purchase a DAC), but just checked it actually works (connected S2 to PC at the end, and as long as Marantz is feeding S2 and everything else is before it works just perfectly...). Any thoughts? Or maybe I contact Hifime (maker of S2) - it is hard to tell if device is for sure defective as it kind of works with Marantz, but most of the time does not work as expected.
Hello, quick update in case it is useful to anyone considering similiar setup. Hifime was kind enough to send me a replacement S2 Digi and also UR23 to try if it works better .
Repacement S2 Digi works exactly as the original one - totally unable to get it to work with TV (noisy), cracks when Wiim signal is silent (works fine when there is a signal). As mentioned before it works if I use Marantz NA7004 Toslink in and toslink out as "digital interface", so I suppose it requires pretty clean optical signal
UR23 works without any issues even if directly connected to TV. @mdsimon2 - fyi, as I think your tutorial mentions UR23 does not work with RPI5 - in my case it does without any issues
Thank you for all your help
 
Hello, quick update in case it is useful to anyone considering similiar setup. Hifime was kind enough to send me a replacement S2 Digi and also UR23 to try if it works better .
Repacement S2 Digi works exactly as the original one - totally unable to get it to work with TV (noisy), cracks when Wiim signal is silent (works fine when there is a signal). As mentioned before it works if I use Marantz NA7004 Toslink in and toslink out as "digital interface", so I suppose it requires pretty clean optical signal
UR23 works without any issues even if directly connected to TV. @mdsimon2 - fyi, as I think your tutorial mentions UR23 does not work with RPI5 - in my case it does without any issues
Thank you for all your help

Good info, thanks for sharing!

I can confirm that the UR23 currently works with the RPi5, but I should warn that it has been an on/off issue. It has worked in the past and future kernel updates have broken that functionality.

Michael
 
Hi, long-time lurker, first-time poster here. I've built my own set-up with a Raspberry Pi 5 and CamillaDSP for digital room correction and am very happy with it. Let me start by thanking Michael for his excellent guide and Henrik for making CamillaDSP! I'm also liking the atmosphere of collaboration in this thread.

I have something cool to share. I got the display from the guide working with an SPI interface and it's very smooth. It's fast enough to show animations like a live spectrum analyzer and screensavers. Skimming through this thread I saw that @mdsimon2, @MCH and @LandscapeJohn have all been playing with options to speed up the display.

I put my code and details on my website:
In short I came across the Luma library for Python that supports the display chip, TrueType fonts and SPI interface out of the box. I built my code on top of that to mimic what oled.py from the guide on GitHub can display (3 status lines and the volume). I made a separate Python class to drive the display that focuses on just that. It has no control code. That makes it more reusable. I also made a top-level script that does the same as oled.py from the guide, but uses my driver. So that is a version that is functionally the same, but can drive the display over SPI. (It also supports 6800 parallel, but that is much slower. What I don't know yet is whether 6800 is better/worse than with the original oled.py.) I've added a mute icon and the option to show 2 instead of 3 status lines (which I can read better from the couch >3m away).

My OLED driver can show these screens:
  • 3 status lines + volume/mute icon
  • 2 status line + volume/mute icon
  • Big text in middle of screen
  • Icon from a font or image file
  • Spectrum analyzer
  • Starfield screensaver
  • More can be added if anyone has a request or nice idea!
 
Hi, long-time lurker, first-time poster here. I've built my own set-up with a Raspberry Pi 5 and CamillaDSP for digital room correction and am very happy with it. Let me start by thanking Michael for his excellent guide and Henrik for making CamillaDSP! I'm also liking the atmosphere of collaboration in this thread.

I have something cool to share. I got the display from the guide working with an SPI interface and it's very smooth. It's fast enough to show animations like a live spectrum analyzer and screensavers. Skimming through this thread I saw that @mdsimon2, @MCH and @LandscapeJohn have all been playing with options to speed up the display.

I put my code and details on my website:
In short I came across the Luma library for Python that supports the display chip, TrueType fonts and SPI interface out of the box. I built my code on top of that to mimic what oled.py from the guide on GitHub can display (3 status lines and the volume). I made a separate Python class to drive the display that focuses on just that. It has no control code. That makes it more reusable. I also made a top-level script that does the same as oled.py from the guide, but uses my driver. So that is a version that is functionally the same, but can drive the display over SPI. (It also supports 6800 parallel, but that is much slower. What I don't know yet is whether 6800 is better/worse than with the original oled.py.) I've added a mute icon and the option to show 2 instead of 3 status lines (which I can read better from the couch >3m away).

My OLED driver can show these screens:
  • 3 status lines + volume/mute icon
  • 2 status line + volume/mute icon
  • Big text in middle of screen
  • Icon from a font or image file
  • Spectrum analyzer
  • Starfield screensaver
  • More can be added if anyone has a request or nice idea!

Very cool, thanks for sharing. I will definitely try this out!

Michael
 
Nice. Please does it have some provision for optionally feeding MCLK signal from one of/selected RPi5 GPCLKs, to allow avoiding the internal BCLK -> MCLK PLLs in the codecs?
 
I'm just releasing the first 8xinput + 8xoutputs all in one board for raspberry PI5! I thought that it could be interesting for CamillaDSP user.
Ah, nice! It's good to have more options in the market. The only other option for 8 channels in and 8 channels out (the max for the Pi 5) that I know of is the HiFiBerry DAC8x + ADC8x HAT stacked on top. Your offering is about half the price of that combination.
 
Back
Top Bottom