• 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

this is curious. Today i tested my subs separately. This is what i have all together:
Mk5 > TRS to XLR > Boxem NC252MP
Mk5 > TRS to RCA "ring floating" > 2 Aiyima A07 max > 2 passive subs

Switching off the Mk5 pressing the on/off button > no noise
Switching off the raspberry pi while all other devices stay on > no noise
Switching off the Mk5 by pulling DC > both MC252MP and subs quite loud "pop" independently of actual audio signal present or not
Switching off the Mk5 by pulling wallwart from the wall > both MC252MP and subs quite loud "pop" independently of actual audio signal present or not

i wonder why you don't have off noise, could it be firmware related?

My firmware shows as 2.0.1+2555:24 in CueMix.

I know the Mk5 has gone through a few different hardware revisions, mine was one of the earlier ones (purchased July 2021) before they were out of stock for a long time and eventually re-designed. My guess is the difference is due to hardware revision.

Also wonder if US (120 V) vs EU (230 V) mains voltage has anything to do with it?

Michael
 
My firmware shows as 2.0.1+2555:24 in CueMix.

I know the Mk5 has gone through a few different hardware revisions, mine was one of the earlier ones (purchased July 2021) before they were out of stock for a long time and eventually re-designed. My guess is the difference is due to hardware revision.

Also wonder if US (120 V) vs EU (230 V) mains voltage has anything to do with it?

Michael
thanks for the additional info. Opened a ticket with Motu, will report back.
To all the others, sorry for the off topic discussion! :)
 
So I got around to making a convolution filter using the method described in this 4 part youtube tutorial:

What is the general consensus on these kind of convoluted (pun intended) filters? I'm kinda skeptical seeing the result I ended up with. Is it normal to look this way? Does the attached screenshots look plausible or like I did something completely wrong?

Tonality-wise, it's not much difference from the PEQ filters I ran before. I'd like to imagine the change is more to the spacial quality of the sound. Which would make sense if I somehow managed to align the group delay on each speaker (left speaker is closer to a wall than the right)?

Sorry if this is the wrong thread (as this is not Pi related). I did a forum search and couldn't find a better place to ask here. If there is a better place to discuss this subject, either here on this forum or elsewhere, I would appreciate a link.
 

Attachments

  • Screenshot 2024-06-27 at 00.47.17.jpg
    Screenshot 2024-06-27 at 00.47.17.jpg
    138.4 KB · Views: 57
  • Screenshot 2024-06-27 at 00.47.03.jpg
    Screenshot 2024-06-27 at 00.47.03.jpg
    180 KB · Views: 52
Last edited:
thanks for the additional info. Opened a ticket with Motu, will report back.
To all the others, sorry for the off topic discussion! :)
short update:
Motu answered that there should not be any difference between firmware and revisions, and that it must be something related to my system. They suggested me to test with the subs not only off but unplugged, and so i did.... and the noise is gone! well, there is still a tiny bit but nothing worth mention.
So yes, it seems that the issue comes to the fact of having non balanced amps connected to the Mk5. I hope it helps to the other guys reporting noises. Now i have one excuse more to finish my DIY amp project haha.
 
I got a first gen Pi lying around and was thinking about getting this to play around a bit with, is it possible or do CamillaDSP require a beefier Pi?
 
I got a first gen Pi lying around and was thinking about getting this to play around a bit with, is it possible or do CamillaDSP require a beefier Pi?
It probably depends on exactly what you're trying to do with it. CPU load will vary with channel count, sample rate, and the number and type of filters. If you try convolution then the convolution length will make a big difference too. My guess is it'll work fine for stereo at lowish sample rates with several PEQs or a shortish convolution, but run out of steam on some conceivable setups. It would be interesting to see just how far you could push it.
https://www.audiosciencereview.com/...lladsp-set-up-instructions-for-newbies.30830/
 
Good question. Let us know when you have tried it ;)
Haha yeah I will!
It probably depends on exactly what you're trying to do with it. CPU load will vary with channel count, sample rate, and the number and type of filters. If you try convolution then the convolution length will make a big difference too. My guess is it'll work fine for stereo at lowish sample rates with several PEQs or a shortish convolution, but run out of steam on some conceivable setups. It would be interesting to see just how far you could push it.
https://www.audiosciencereview.com/...lladsp-set-up-instructions-for-newbies.30830/
At first I just want to see how easy it is to get it running and what I can do with it that my current MiniDSP 2x4HD can't. But long term plan is two main speakers, one or two subs and a pair of back ambiance/sidehannel/haas speakers. 48kHz should do fine, and will probably just use PEQ and delays, no convolution.
But if I'm gonna go for something more permanent I might go for something better hardware wise, so maybe a RPI5 and HifiBerry DAC8X (and maybe a way to get multichannel PCM into it).
 
Finally got around to adding a subwoofer to my setup. CamillaDPS makes this incredibly easy. 6th order Linkwitz-Riley filter at 50Hz on each channel, apply my room mode correction, and match the volume (of course, it took me 2 hours to figure out how easy it is). Chose such a low cutover frequency not to mess too much with the convolution filter I already made.

I'm very happy with this setup and that I don't have to spend €400 on a Wiim Ultra. Thanks again to everyone that helped me get this far with the Pi.

If I wanted to redo the convolution filter, how do you go about making a convolution filter for each speaker, while integrating the sub? Would you just let the sub play along with each speaker while doing the measurements? Or is it indeed the right way to do the speaker seperately and just cut them off?
 
Does it work on linux too, or does it require their custom app? As the manufacturer says that main knob is an encoder. IMO very likely it's just sending HID keys over USB.

You can get any USB volume knob from Aliexpress and adjust softvol volume with a simple script, e.g. https://github.com/neildavis/alsa_volume_from_usb_hid
Follow up on the Audient ID14 Mk2 (if the main volume knob can be set to control all 4 outputs)

I asked the follow up question:
Q: I have one more question, would the main encoder work on linux too, or does it require your custom app?
A: The volume knob should still work in Linux in this case!

The long delay between the last reply is not because of Audient, but because I didn't ask again until a message popped up that they would close my ticket unless I had more questions. The response time from Audient is excellent (sent message yesterday evening, reply by noon next day).

I might order one to test at this point. But the return window on the Scarlett is closing in and I have to go on vacation too, so I still didn't decide yet if I'll just keep the Scarlett anyway (Edit: I ordered one). But I thought I would share this information for anyone interested.
 
Last edited:
Got the Audient iD14 MkII.

Unfortunately only two outputs are recognized by Alsa mixer. It's strange because aplay list it as having 6 ouputs and even CamillaDPS sees 6 outputs too. Unfortunately there is no sound on the on the other two outputs (didn't check the headphone output as I assumed it would be the same).

There is also only sound from the right speaker if the gains are maxed out in alsa mixer, which is less of an issue. But it would appear it's not really class compliant.

Since I couldn't hear anything on output 3 and 4, I was obviously unable to verify if the volume control indeed works for all outputs.

No complaints about the sound, and for a 2 channel system the iD4 might be a good option (though any normal DAC is probably a better option I suppose).

I tried dapping into pulse-audio to see if it gave more options to get the other outputs working, but it doesn't seem friendly to headless systems and I kinda gave up. Not sure if I'm willing to install a full Raspberian to keep digging into it. I'm starting to appreciate my Scarlett for apparantly having good community support (I guess that's an advantage of it being an "influencer" product).

I will be sending it back unless someone has suggestions?
 

Attachments

  • 11.jpg
    11.jpg
    247.9 KB · Views: 68
  • 22.jpg
    22.jpg
    169.6 KB · Views: 59
  • 33.jpg
    33.jpg
    257.5 KB · Views: 55
Unfortunately only two outputs are recognized by Alsa mixer.
IIUC 4 channels are listed (front and rear).

Please post output of 'amixer -C your_card contents', to see all the controls. Please copy the whole text here, not a screenshot.
 
IIUC 4 channels are listed (front and rear).

Please post output of 'amixer -C your_card contents', to see all the controls. Please copy the whole text here, not a screenshot.
Thanks for taking a look!

IIUC 4 channels are listed (front and rear).
They act like left and right. Front outputs on output 1 and rear on output 2. If rear/output 2 gain is not maxed, there is no sound from the right speaker.


Code:
numid=12,iface=CARD,name='Audient Internal Clock Validity'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=13,iface=CARD,name='Audient Optical1 Clock Validity'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=5,iface=MIXER,name='ADAT-8 Volume'
  ; type=INTEGER,access=rw------,values=6,min=0,max=127,step=0
  : values=127,127,127,127,127,127
numid=6,iface=MIXER,name='ADAT-8 Volume',index=1
  ; type=INTEGER,access=rw------,values=6,min=0,max=127,step=0
  : values=127,127,127,127,127,127
numid=7,iface=MIXER,name='ADAT-8 Volume',index=2
  ; type=INTEGER,access=rw------,values=6,min=0,max=127,step=0
  : values=127,127,127,127,127,127
numid=8,iface=MIXER,name='ADAT-8 Volume',index=3
  ; type=INTEGER,access=rw------,values=6,min=0,max=127,step=0
  : values=127,127,127,127,127,127
numid=9,iface=MIXER,name='ADAT-8 Volume',index=4
  ; type=INTEGER,access=rw------,values=6,min=0,max=127,step=0
  : values=127,127,127,127,127,127
numid=10,iface=MIXER,name='ADAT-8 Volume',index=5
  ; type=INTEGER,access=rw------,values=6,min=0,max=127,step=0
  : values=127,127,127,127,127,127
numid=14,iface=MIXER,name='Audient Clock Selector Clock Source'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Audient Internal Clock'
  ; Item #1 'Audient Optical1 Clock'
  : values=1
numid=3,iface=MIXER,name='Input Gain Control'
  ; type=INTEGER,access=rw------,values=10,min=0,max=1,step=0
  : values=1,1,1,1,1,1,1,1,0,0
numid=4,iface=MIXER,name='Phase Inverter Control'
  ; type=BOOLEAN,access=rw------,values=10
  : values=off,off,off,off,off,off,off,off,off,off
numid=11,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=4,min=0,max=127,step=0
  : values=127,127,127,127
  | dBminmax-min=-127.00dB,max=0.00dB
numid=2,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=12,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0,0,0,0,0
  | container
    | chmap-fixed=FL,FR,FC,LFE,RL,RR,FLC,FRC,RC,SL,SR,TC
numid=1,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=6,min=0,max=36,step=0
  : values=0,0,0,0,0,0
  | container
    | chmap-fixed=FL,FR,FC,LFE,RL,RR
 
Last edited:
4 values to control volume:

numid=11,iface=MIXER,name='Speaker Playback Volume'
; type=INTEGER,access=rw---R--,values=4,min=0,max=127,step=0
: values=127,127,127,127
| dBminmax-min=-127.00dB,max=0.00dB

Alsamixer splits the four values into two stereo sliders. Maybe the channel grouping in alsamixer stereo sliders does not correspond to channel grouping in the stereo connectors - you can check controlling individual channels, e.g. https://wiki.ubuntu.com/Audio/Alsamixer
 
4 values to control volume:

numid=11,iface=MIXER,name='Speaker Playback Volume'
; type=INTEGER,access=rw---R--,values=4,min=0,max=127,step=0
: values=127,127,127,127
| dBminmax-min=-127.00dB,max=0.00dB

Alsamixer splits the four values into two stereo sliders. Maybe the channel grouping in alsamixer stereo sliders does not correspond to channel grouping in the stereo connectors - you can check controlling individual channels, e.g. https://wiki.ubuntu.com/Audio/Alsamixer
Yes, there is a front and rear in alsamixer (screenshot in the post from a few days ago), but unfortunately they don't influence the output of port 3 and 4. They act like left and right for port 1 and 2, with the added strangeness that output 2 only plays at 100% volume.

I had already packed it up to be shipped back. But your post made me think the volume controls might actually act as balance sliders. Unfortunately that was not the case either. I can't find a way getting output 3 and 4 to play using alsamixer (I tried turning every single input up and down).

Seeing from your quoted part, that the values are already at max 127 for the outputs and should be playing. It just appears like it's not being routed anywhere.

It seems to me there is lacking some options in alsamixer to control the routing. Something like the attached screenshot from the Scarlett. I'm packing it up again and will be sending it back.

Thanks for your help again.


tags for seach engines: Audient iD14 mkII lunux pi problems support
 

Attachments

  • Screenshot 2024-07-06 at 15.38.20.jpg
    Screenshot 2024-07-06 at 15.38.20.jpg
    100.2 KB · Views: 32
I am using rpi 5, and set it as usb gadget, and It work fine in 48000, but when run in 192000(source and sample both 192000, no resample), I got these error and the camilladsp stop, why? And I remove all filters, also same error. The dac work fine even in 768000.
2024-07-06 14:41:42.294199 INFO [src/alsadevice.rs:799] Capture device is stalled, processing is stalled
2024-07-06 14:41:45.336349 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 44059.67911531078 Hz
2024-07-06 14:41:45.336397 ERROR [src/bin.rs:347] Capture stopped due to external format change


PS, great post, Thanks
 
I am using rpi 5, and set it as usb gadget, and It work fine in 48000, but when run in 192000(source and sample both 192000, no resample), I got these error and the camilladsp stop, why? And I remove all filters, also same error. The dac work fine even in 768000.
2024-07-06 14:41:42.294199 INFO [src/alsadevice.rs:799] Capture device is stalled, processing is stalled
2024-07-06 14:41:45.336349 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 44059.67911531078 Hz
2024-07-06 14:41:45.336397 ERROR [src/bin.rs:347] Capture stopped due to external format change


PS, great post, Thanks
Restarting Cdsp should solve this. Cdsp does not tolerate rate change on the fly.
 
@bcXxx : Changing playback rate on the host side requires the device side to monitor the status of the capturing alsa device. You can either use an external gadget-rate monitor, e.g. the cdsp-specialized https://github.com/marcoevang/camilladsp-setrate, or you can wait for CDSP v. 3 which will do this out of the box. Or you can build the next30 branch https://github.com/HEnquist/camilladsp/tree/next30 and try for yourself - but it may not be working properly as Henrik still does changes to that branch.
 
@bcXxx : Changing playback rate on the host side requires the device side to monitor the status of the capturing alsa device. You can either use an external gadget-rate monitor, e.g. the cdsp-specialized https://github.com/marcoevang/camilladsp-setrate, or you can wait for CDSP v. 3 which will do this out of the box. Or you can build the next30 branch https://github.com/HEnquist/camilladsp/tree/next30 and try for yourself - but it may not be working properly as Henrik still does changes to that branch.
thank for you advice, I am using camilladsp-setrate now. I describe my issue not clear. I have set the sample rate to 192000, and the dsp will play the sound for about 1-2 second, and then it stopped. the log shows the last rate was 44059.67911531078 Hz , and this rate is weird, and the rate show in log will change every time
 
Back
Top Bottom