• 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!

MOTU UltraLite-mk5 Review (Audio Interface)

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451

temps

Active Member
Joined
Mar 9, 2020
Messages
199
Likes
346
@Daverz was clearly answering a question related to the M4.
Whoops. I scanned over the post he was replying to way too quickly...
For the Ultralite Mk5 you can select which outputs you want the volume knob to control (analog only) in Cuemix and that setting stays even when disconnected from the computer.

Michael
But this is good to hear...
 

jonljacobi

Member
Joined
Apr 20, 2021
Messages
31
Likes
22
Steinberg UR22C and UR242 definitely do (I personally know people with these), but functionality is limited compared to the proper drivers of course. There are other devices from other manufacturers which also work on some level in Windows without the proper drivers.

Without MOTU's driver, the MOTU M4 gets recognized as an USB audio device by Windows, and it seems to attempt to use usbaudio2.sys with it, but it doesn't really work, and if you go to device manager, it shows a yellow warning sign on the device and reports "Code 10". I guess M2 is similar, maybe UltraLites too.

It seems there are other manufacturers besides MOTU who officially support driverless operation on MacOS and iOS but don't on Windows. Difficult for me to say whether the hardware vendors fail at creating UAC2 compliant devices or MS fails at providing a good UAC2 driver, but perhaps someone else has done the research and knows the truth.

Btw. Windows has only had out-of-the-box support for UAC2 devices since a few years ago (Win10 v1703), while Apple has had support since 2010.

I think I've seen similar, but I literally can't remember. OS X/macOS has been more robust in terms of its support for audio than Windows. Glad to see the Mk5 retains those hardware/control settings. As it seems aimed at least partially towards live/sound reinforcement use that makes sense. My Clarett 4Pre is similar in that regard.

I'm not really comparing the Mk5 with my previous driver-jilted MIDI experience. Times have changed, and I'm actually using a UA Twin X on my main PC which is completely dependent on proprietary drivers. That it was free has something to do with my using it. But I've been thinking about more line inputs so... I may forgive MOTU in the end and buy one. It's a tough call. I was really PO'd at them for orphaning a perfectly usable device.
 

137tmxth

Member
Joined
Jul 1, 2021
Messages
26
Likes
18
I'm not really comparing the Mk5 with my previous driver-jilted MIDI experience. Times have changed, and I'm actually using a UA Twin X on my main PC which is completely dependent on proprietary drivers. That it was free has something to do with my using it. But I've been thinking about more line inputs so... I may forgive MOTU in the end and buy one. It's a tough call. I was really PO'd at them for orphaning a perfectly usable device.

Hah, well yeah, a long time ago I was using a MX510 mouse from Logitech and was a bit pissed they refused to release Win7 compatible drivers for it (probably even just Vista compatible would have been good enough to function in Win7). Forcibly installing the WinXP version of MX510 MouseWare made Win7 unstable, very frequent blue screens with the Logitech .sys listed as culprit. Without the driver, the mouse could not be used in the 800 cpi (or "dpi") mode since it always defaulted to 400 when powered on and there were no buttons to switch sensor resolution like on later models such as the MX518, it had to be done in software.

...and here I am now, using a mouse from Logitech. Though it has to be said I went for many years with mice from other vendors, and I got this one (it's the MX518 "remake") very cheap on sale (and it has buttons for switching cpi/dpi so no special driver required).
 

jonljacobi

Member
Joined
Apr 20, 2021
Messages
31
Likes
22
LOL. I want the UltraLite Mk5. I just don't want it from Motu. But maybe the person that made that decision back in the day has retired. ;-)
 

Taswegian

Member
Joined
Jul 20, 2021
Messages
12
Likes
2
I want the UltraLite Mk5
So do I. I think I had better make my mind up on it quickly. They appear to be all selling out here in OZ, hard to get now with unknown stock ETA. All part of covid normal unfortunately. My other choice would be to fork out the extra bills for an open box UCX or even more for UCXII. I noticed RME has only recently updated firmware for the UCX which must be 10 year old technology by now. Bonus points for RME on product longevity and support.
 

voloff

Member
Joined
Aug 13, 2021
Messages
8
Likes
1
This is way overkill for how it is currently being used (2 channel stereo with no Dirac LOL) but here is a SHD Studio + Ultralite Mk5 + RPi4 w/ CamillaDSP. Using SHD Studio as volume control and a Bobwire DAT1 to provide a 12V trigger out. Pretty awesome setup with Dirac, tons of input flexibility (streamer, USB, AES, TOSLINK and SPDIF), volume indication w/ remote, 10 channels of output w/ FIR on each output and 12V trigger. Very much an end game setup for DIY active speaker processing.

View attachment 143122

Michael
Hi!
I am rookie for audio interface and I do dig any diy project, I am involve in a few regarding antennas. I am going to get the mk5 for the versatily in drivers to use with several systems.
I am going to use my audio system for gaming, HIFI, instruments and a bit or recording as well. All the devices that you use connect to the mk5 what are they for or what extra funtionality can bring you?? . And I don't need to clarify what is a raspberry… just checking what extra equipment I might need for my system. Thank You, and btw congrats as well for the review to the person who open the post.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,477
Likes
3,315
Location
Detroit, MI
Hi!
I am rookie for audio interface and I do dig any diy project, I am involve in a few regarding antennas. I am going to get the mk5 for the versatily in drivers to use with several systems.
I am going to use my audio system for gaming, HIFI, instruments and a bit or recording as well. All the devices that you use connect to the mk5 what are they for or what extra funtionality can bring you?? . And I don't need to clarify what is a raspberry… just checking what extra equipment I might need for my system. Thank You, and btw congrats as well for the review to the person who open the post.

Might be based to layout my system design goals and then talk through how I solved them. I imagine you do not require any of the extra devices as you will not need the functionality.

Goals
-DIY active 3 way + sub, stereo
-Volume control via knob and remote
-Volume indication (display)
-Multiple inputs, at a minimum SPDIF, TOSLINK and streaming
-Trigger to turn power amps on / off

For a system like this although you only need 2 channels of input you need 8 channels of DAC output (sub, woofer, mid, tweeter x 2) which feed in to 8 channels of power amplifiers. The Mk5 has enough output functionality (10 analog outputs) but you also need some way to implement crossover / EQ as it is an entirely active system with no passive crossover components to split the signal between drivers. This is where the Raspberry Pi 4 running Ubuntu Server and CamillaDSP come in to play. With CamillaDSP the Mk5 is able to take a 2 channel input signal via TOSLINK or SPDIF, split it in to 8 output channels and apply the necessary crossover / EQ. The Mk5 then outputs 8 channels of processed analog output to the power amps.

As I wanted more input functionality than the Mk5 can provide and volume control via remote I added a miniDSP SHD Studio upstream of the Mk5. This is a digital input / output (no analog output) DSP with USB, streaming, SPDIF, TOSLINK and AES inputs. Although it can do a bunch of DSP in my use case I am basically using it as a very expensive volume control and input selector, I then use the SPDIF output of the SHD Studio to send the volume controlled signal to the Mk5 SPDIF input (which then gets processed in CamillaDSP as mentioned above).

The only thing missing at this point is the trigger output. As I do not want to run 8 channels of power amplifiers when they are not needed I wanted an automated way to turn the amplifiers on / off. The Bobwire DAT1 takes the TOSLINK output from the Mk5 and outputs a 12V trigger. When a signal is present the 12V trigger will be on and when it is not present it will be off. I actually then split that trigger using an Emotiva ET-3 which then feeds 2 trigger activated power strips which I plug the power amplifiers in to. The end result is that I can put the SHD Studio in to standby and this will turn off the power amplifiers, similarly when I bring the SHD Studio out of stand by the power amplifiers turn on.

Michael
 

voloff

Member
Joined
Aug 13, 2021
Messages
8
Likes
1
All that funtionality is convenient for me, I think you should do a post or a video plugging all in, I love DIY projects. Thank you for sharing this!
 

mocenigo

Major Contributor
Joined
Dec 8, 2018
Messages
1,274
Likes
1,034
I just set up a CamillaDSP configuration with TOSLINK input -> CamillaDSP -> 10 channel output, it was super easy once I realized I needed to enable resampling in CamillaDSP for this to work. So far latency seems really good with no noticeable lip sync issues but haven't set anything up in the configuration that would cause a delay (like FIR filters). Also have not listened long enough to make sure there are no weird clock sync issues over time but I really do no think there should be.

Man, if the mk5 had remote volume control this RPi 4 + mk5 setup would be an absolute miniDSP killer. Way more flexible processing power and way better analog performance than something like a 4X10HD.

Michael

So one could actually use this interface to create a digital domain crossover? Just connect as many mono amps you need to the MOTU and you are done? Can this be done directly with the MOTU (2 channel in - 2 x n channels out) using its internal routing/eq/mixing features?
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,477
Likes
3,315
Location
Detroit, MI
So one could actually use this interface to create a digital domain crossover? Just connect as many mono amps you need to the MOTU and you are done? Can this be done directly with the MOTU (2 channel in - 2 x n channels out) using its internal routing/eq/mixing features?

Yes and no. The MOTU does not have enough eq functionality itself to create crossovers. However you can easily add a RPi running CamillaDSP which can easily implement pretty much any filtering and routing scheme you want.

Michael
 

johnanon

Member
Joined
Aug 17, 2021
Messages
7
Likes
4
Might be based to layout my system design goals and then talk through how I solved them. I imagine you do not require any of the extra devices as you will not need the functionality.

Goals
-DIY active 3 way + sub, stereo
-Volume control via knob and remote
-Volume indication (display)
-Multiple inputs, at a minimum SPDIF, TOSLINK and streaming
-Trigger to turn power amps on / off

For a system like this although you only need 2 channels of input you need 8 channels of DAC output (sub, woofer, mid, tweeter x 2) which feed in to 8 channels of power amplifiers. The Mk5 has enough output functionality (10 analog outputs) but you also need some way to implement crossover / EQ as it is an entirely active system with no passive crossover components to split the signal between drivers. This is where the Raspberry Pi 4 running Ubuntu Server and CamillaDSP come in to play. With CamillaDSP the Mk5 is able to take a 2 channel input signal via TOSLINK or SPDIF, split it in to 8 output channels and apply the necessary crossover / EQ. The Mk5 then outputs 8 channels of processed analog output to the power amps.

As I wanted more input functionality than the Mk5 can provide and volume control via remote I added a miniDSP SHD Studio upstream of the Mk5. This is a digital input / output (no analog output) DSP with USB, streaming, SPDIF, TOSLINK and AES inputs. Although it can do a bunch of DSP in my use case I am basically using it as a very expensive volume control and input selector, I then use the SPDIF output of the SHD Studio to send the volume controlled signal to the Mk5 SPDIF input (which then gets processed in CamillaDSP as mentioned above).

The only thing missing at this point is the trigger output. As I do not want to run 8 channels of power amplifiers when they are not needed I wanted an automated way to turn the amplifiers on / off. The Bobwire DAT1 takes the TOSLINK output from the Mk5 and outputs a 12V trigger. When a signal is present the 12V trigger will be on and when it is not present it will be off. I actually then split that trigger using an Emotiva ET-3 which then feeds 2 trigger activated power strips which I plug the power amplifiers in to. The end result is that I can put the SHD Studio in to standby and this will turn off the power amplifiers, similarly when I bring the SHD Studio out of stand by the power amplifiers turn on.

Michael

Hi Michael, thanks for your help over on diyAudio. I'm now running the UltraLite mk5 from an RPi 4 under Ubuntu 21.04 with kernel 5.11, and really enjoying how it sounds already. I'm also using CamillaDSP and an ALSA loopback, which might sound a bit more scary that it is once you get your head around it! Before arriving at this point I've ruled out various things by trying them and finding I couldn't get them to work, so I thought I'd mention them here:
- RoPieee's latest version uses kernel 5.10 but the UltraLite seems to need 5.11
- The Allo USBridge Signature I also tried is based on the CM3+ version of the RPi and didn't work for me
- I can stream to the UltraLite directly connected through RoonBridge on the RPi, but any unused USB channels get filled with static noise at a fairly high level. Since there are 10 channels, that means 8 channels of noise when I'm streaming stereo, or "just" 2 channels of noise if I tell Roon the device is 7.1 and to send stereo as 7.1.

So now the basic connectivity is sorted, I'm getting to work on the reasons I got this setup, and CamillaDSP particularly in the first place:
- bass management for the current one and planned second sub. I could do this in Roon, but I want to do it in CamillaDSP to support the second objective
- convolution for sources other than Roon. Currently my Audiolense two channel filter runs on Roon Server, but the end goal is "4.2" convolution on CamillaDSP. (The 4 part is dual stereo for two zones. And the .2 part will be a mono bass signal driving two subs. There will be individual correction for each of the six channels).

I think I know how to do all of the above - I just need to work it through over the weeks ahead. I'm a little less confident about volume control in CamillaDSP remotely controlled by Harmony, although I have a plan. But there is one thing that would be nice to have if anyone has any pointers.

The UltraLite has an API which I'd like to be able to use to change the sample rate, but I have no idea where to even begin with that! I run openHAB which is already doing some cool http stuff (at least I think it's cool), but I'm not a programmer and my Linux knowledge is at most a week old. Is anyone already doing something like this?
 

John57

Member
Joined
Jan 3, 2019
Messages
27
Likes
12
I have one set of my UltraLite outputs going to my Crown XLS which in turn is daisy-chained to another Crown XLS amp. If I need more analog outs I could use ADAT convertor as well.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,477
Likes
3,315
Location
Detroit, MI
Hi Michael, thanks for your help over on diyAudio. I'm now running the UltraLite mk5 from an RPi 4 under Ubuntu 21.04 with kernel 5.11, and really enjoying how it sounds already. I'm also using CamillaDSP and an ALSA loopback, which might sound a bit more scary that it is once you get your head around it! Before arriving at this point I've ruled out various things by trying them and finding I couldn't get them to work, so I thought I'd mention them here:
- RoPieee's latest version uses kernel 5.10 but the UltraLite seems to need 5.11
- The Allo USBridge Signature I also tried is based on the CM3+ version of the RPi and didn't work for me
- I can stream to the UltraLite directly connected through RoonBridge on the RPi, but any unused USB channels get filled with static noise at a fairly high level. Since there are 10 channels, that means 8 channels of noise when I'm streaming stereo, or "just" 2 channels of noise if I tell Roon the device is 7.1 and to send stereo as 7.1.

So now the basic connectivity is sorted, I'm getting to work on the reasons I got this setup, and CamillaDSP particularly in the first place:
- bass management for the current one and planned second sub. I could do this in Roon, but I want to do it in CamillaDSP to support the second objective
- convolution for sources other than Roon. Currently my Audiolense two channel filter runs on Roon Server, but the end goal is "4.2" convolution on CamillaDSP. (The 4 part is dual stereo for two zones. And the .2 part will be a mono bass signal driving two subs. There will be individual correction for each of the six channels).

I think I know how to do all of the above - I just need to work it through over the weeks ahead. I'm a little less confident about volume control in CamillaDSP remotely controlled by Harmony, although I have a plan. But there is one thing that would be nice to have if anyone has any pointers.

The UltraLite has an API which I'd like to be able to use to change the sample rate, but I have no idea where to even begin with that! I run openHAB which is already doing some cool http stuff (at least I think it's cool), but I'm not a programmer and my Linux knowledge is at most a week old. Is anyone already doing something like this?

Hi John, good to see you over here.

I've implemented volume control in CamillaDSP and at the suggestion of @Daverz have used a FLIRC USB IR receiver to allow for remote control. I've pasted my python code below which is based on this link -> http://moodeaudio.org/forum/printthread.php?tid=1529. The only thing weird with it is that on Ubuntu Server /dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd is owned by root so it does not work without using chown to change ownership. I do this by adding the following line to sudo crontab -e so it gets changed on boot, @reboot chown username /dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd.

Code:
import evdev
from camilladsp import CamillaConnection
import sys

try:
    port = int(sys.argv[1])
except:
    print("Usage: Start CamillaDSP with the websocket server enabled:")
    print("> camilladsp -p4321 yourconfig.yml")
    print("Then run this script to print some parameters from the active config.")
    print("> python get_config.py 4321")
    sys.exit()

cdsp = CamillaConnection("127.0.0.1", port)
cdsp.connect()
 
def main():

  flirc=evdev.InputDevice('/dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd')
  flirc.grab()
 
  cdspvolume = cdsp.get_volume()
      
  for event in flirc.read_loop():
       if event.type == evdev.ecodes.EV_KEY:
            attrib = evdev.categorize(event)
            if attrib.keystate == 1:
                if attrib.keycode == 'KEY_DOWN':
                    if cdspvolume -1 >= -100:
                        cdsp.set_volume(cdspvolume - 1)
                        cdspvolume = cdsp.get_volume()
                    elif cdspvolume -1 <= -100:
                        cdsp.set_volume(-100)
                        cdspvolume = cdsp.get_volume()
            
                elif attrib.keycode == 'KEY_UP':
                    if cdspvolume + 1 < 0:
                        cdsp.set_volume(cdspvolume + 1)
                        cdspvolume = cdsp.get_volume()
        
                    elif cdspvolume + 1 >= 0:
                        cdsp.set_volume(0)
                        cdspvolume = cdsp.get_volume()
                        
            elif attrib.keystate == 2:
                if attrib.keycode == 'KEY_DOWN':
                    if cdspvolume -1 >= -100:
                        cdsp.set_volume(cdspvolume - 1)
                        cdspvolume = cdsp.get_volume()
                    elif cdspvolume -1 <= -100:
                        cdsp.set_volume(-100)
                        cdspvolume = cdsp.get_volume()
            
                elif attrib.keycode == 'KEY_UP':
                    if cdspvolume + 1 < 0:
                        cdsp.set_volume(cdspvolume + 1)
                        cdspvolume = cdsp.get_volume()
        
                    elif cdspvolume + 1 >= 0:
                        cdsp.set_volume(0)
                        cdspvolume = cdsp.get_volume()
            
 
if __name__ == '__main__':
 
  try:
    main()
  except KeyboardInterrupt:
    pass

For the sample rate switching I would look at https://github.com/scripple/alsa_cdsp. This should allow you to change the CamillaDSP sample based on the file you are playing, when CamillaDSP opens the loopback it will automatically set the sample rate on the Ultralite so no need to mess with the MOTU API. I also think it is possible to use this to setup different configurations for different channel formats (i.e. 2 channel vs 7.1).

Michael
 

temps

Active Member
Joined
Mar 9, 2020
Messages
199
Likes
346
Hi John, good to see you over here.

I've implemented volume control in CamillaDSP and at the suggestion of @Daverz have used a FLIRC USB IR receiver to allow for remote control. I've pasted my python code below which is based on this link -> http://moodeaudio.org/forum/printthread.php?tid=1529. The only thing weird with it is that on Ubuntu Server /dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd is owned by root so it does not work without using chown to change ownership. I do this by adding the following line to sudo crontab -e so it gets changed on boot, @reboot chown username /dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd.

Code:
import evdev
from camilladsp import CamillaConnection
import sys

try:
    port = int(sys.argv[1])
except:
    print("Usage: Start CamillaDSP with the websocket server enabled:")
    print("> camilladsp -p4321 yourconfig.yml")
    print("Then run this script to print some parameters from the active config.")
    print("> python get_config.py 4321")
    sys.exit()

cdsp = CamillaConnection("127.0.0.1", port)
cdsp.connect()

def main():

  flirc=evdev.InputDevice('/dev/input/by-id/usb-flirc.tv_flirc-if01-event-kbd')
  flirc.grab()

  cdspvolume = cdsp.get_volume()
  
  for event in flirc.read_loop():
       if event.type == evdev.ecodes.EV_KEY:
            attrib = evdev.categorize(event)
            if attrib.keystate == 1:
                if attrib.keycode == 'KEY_DOWN':
                    if cdspvolume -1 >= -100:
                        cdsp.set_volume(cdspvolume - 1)
                        cdspvolume = cdsp.get_volume()
                    elif cdspvolume -1 <= -100:
                        cdsp.set_volume(-100)
                        cdspvolume = cdsp.get_volume()
        
                elif attrib.keycode == 'KEY_UP':
                    if cdspvolume + 1 < 0:
                        cdsp.set_volume(cdspvolume + 1)
                        cdspvolume = cdsp.get_volume()
    
                    elif cdspvolume + 1 >= 0:
                        cdsp.set_volume(0)
                        cdspvolume = cdsp.get_volume()
                    
            elif attrib.keystate == 2:
                if attrib.keycode == 'KEY_DOWN':
                    if cdspvolume -1 >= -100:
                        cdsp.set_volume(cdspvolume - 1)
                        cdspvolume = cdsp.get_volume()
                    elif cdspvolume -1 <= -100:
                        cdsp.set_volume(-100)
                        cdspvolume = cdsp.get_volume()
        
                elif attrib.keycode == 'KEY_UP':
                    if cdspvolume + 1 < 0:
                        cdsp.set_volume(cdspvolume + 1)
                        cdspvolume = cdsp.get_volume()
    
                    elif cdspvolume + 1 >= 0:
                        cdsp.set_volume(0)
                        cdspvolume = cdsp.get_volume()
        

if __name__ == '__main__':

  try:
    main()
  except KeyboardInterrupt:
    pass

For the sample rate switching I would look at https://github.com/scripple/alsa_cdsp. This should allow you to change the CamillaDSP sample based on the file you are playing, when CamillaDSP opens the loopback it will automatically set the sample rate on the Ultralite so no need to mess with the MOTU API. I also think it is possible to use this to setup different configurations for different channel formats (i.e. 2 channel vs 7.1).

Michael
Just quoting to get your attention -- it looks like it would take some significant reading and experimentation for me to set one of these up, and I'm not entirely clear on if a Pi, Ultralight and CamillaDSP can do exactly what I need them to... so I'm hoping you can clarify if what I want to do is a possibility.

My general system diagram would look like so:

Audio PC (source) -> RME HDSP AIO Pro -> ADAT 8 channel output via SPDIF -> SPDIF input of Ultralike Mk5 -> USB connection to RaspberryPi -> CamillaDSP running in Ubuntu, processing channels 1, 2 and 3 with room correction -> Ultralike Mk5 mixer -> 8 channels of DA conversion

and I would be able to set, using CueMix 5, the volume knob on the Ultralight to function as the master volume for outputs 1, 2, and 3? Channels 4 to 8 would be unfiltered and would be controlled using the RME mixer on the main computer.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,477
Likes
3,315
Location
Detroit, MI
Just quoting to get your attention -- it looks like it would take some significant reading and experimentation for me to set one of these up, and I'm not entirely clear on if a Pi, Ultralight and CamillaDSP can do exactly what I need them to... so I'm hoping you can clarify if what I want to do is a possibility.

My general system diagram would look like so:

Audio PC (source) -> RME HDSP AIO Pro -> ADAT 8 channel output via SPDIF -> SPDIF input of Ultralike Mk5 -> USB connection to RaspberryPi -> CamillaDSP running in Ubuntu, processing channels 1, 2 and 3 with room correction -> Ultralike Mk5 mixer -> 8 channels of DA conversion

and I would be able to set, using CueMix 5, the volume knob on the Ultralight to function as the master volume for outputs 1, 2, and 3? Channels 4 to 8 would be unfiltered and would be controlled using the RME mixer on the main computer.

What you describe seems possible. Although the learning curve is pretty steep once you get the hang of it everything becomes pretty easy. I have not used ADAT with CamillaDSP but when you put the interface in ADAT mode I can see 8 channels of TOSLINK input in mac os Audio MIDI settings (assuming at 44.1 or 48 kHz sample rate) so I see no issue routing those through CamillaDSP. You can set the master volume knob to function on any set of channels you want so you can leave channels 4-10 unaffected.

The main questions I would have with such a setup are:
1) Why not just do room correction in the PC if that is your source? I personally like the idea of a completely separate RPi 4 running CamillaDSP but I also don't use a PC as my source.
2) RME HDSP AIO Pro seems rather expensive, if you don't have that already I would probably just get a miniDSP usbstreamer or mchstreamer to handle USB to ADAT.

See below for some instructions on setting up CamillaDSP on a RPi 4. I've also included an example configuration that just routes a 2 channel TOSLINK input to 10 channel analog output and 2 channel TOSLINK output with volume control as a starting point.

Code:
CamillaDSP Setup
1) Write Ubuntu Server 21.04 to SD card using Raspberry Pi Imager

https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview

2) Modify network-config on SD card to enable wifi

wifis:
  wlan0:
    dhcp4: true
    optional: true
    access-points:
      "network name":
        password: "passwd"

3) Change host name

Change ubuntu to desired hostname in files below.

sudo nano /etc/hostname
sudo nano /etc/hosts
sudo reboot

4) Change user name

sudo -s
useradd -G sudo temp
passwd temp
shutdown now -r

ssh temp@hostname

sudo -s
usermod -l newUsername ubuntu

sudo usermod -d /home/newHomeDir -m newUsername
groupmod --new-name NEW_GROUP_NAME ubuntu

sudo reboot

sudo -s
deluser temp
rm -r /home/temp
exit

5) Update / upgrade apt

sudo apt update
sudo apt full-upgrade

5) Install CamillaDSP

sudo apt install pkg-config libasound2-dev openssl libssl-dev

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

sudo apt install build-essential

sudo reboot

git clone https://github.com/HEnquist/camilladsp

cd ~/camilladsp

RUSTFLAGS='-C target-feature=+neon -C target-cpu=native' cargo build --release  --no-default-features --features alsa-backend --features websocket

6) Create CamillaDSP yml configuration file

7) Create CamillaDSP service

sudo nano /lib/systemd/system/camilladsp.service

After=syslog.target
StartLimitIntervalSec=10
StartLimitBurst=10

[Service]
Type=simple
ExecStart=/home/username/camilladsp/target/release/camilladsp -p 1234 /home/username/camilladsp.yml
Restart=always
RestartSec=1
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=camilladsp
User=root
Group=root
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10

[Install]
WantedBy=graphical.target

8) Enable service
sudo systemctl enable camilladsp

9) Install python and dependencies

sudo apt install python3 python3-pip python3-websocket python3-aiohttp python3-jsonschema python3-numpy python3-matplotlib

10) Install pycamilladsp

sudo git clone https://github.com/HEnquist/pycamilladsp

cd ~/pycamilladsp

pip3 install .

11) Install pycamilladsp-plot

sudo git clone https://github.com/HEnquist/pycamilladsp-plot

cd ~/pycamilladsp-plot

pip3 install .

12) Install gui server

mkdir ~/configs
mkdir ~/coeffs

sudo apt install unzip

wget https://github.com/HEnquist/camillagui-backend/releases/download/v0.8.0/camillagui.zip

unzip ~/camillagui.zip -d ~/camillagui

nano ~/camillagui/config/camillagui.yml -> update path to configuration files and configs / coeffs


14) Setup crontab to start camillagui on startup

crontab -e
@reboot python3 ~/camillagui/main.py

Code:
---
devices:
  samplerate: 48000
  chunksize: 2048   
#  enable_rate_adjust: true
  enable_resampling: true
  resampler_type: BalancedAsync
  silence_threshold: -100
  silence_timeout: 5.0
  capture_samplerate: 48000

  capture:
    type: Alsa
    channels: 20
    device: "hw:UltraLitemk5"
    format: S24LE3
  playback:
    type: Alsa
    channels: 22
    device: "hw:UltraLitemk5"
    format: S24LE3

mixers:
  2to10chan:
    channels:
      in: 20
      out: 22
    mapping:
      - dest: 0
        sources:
          - channel: 12
            gain: 0
            inverted: false
      - dest: 1
        sources:
          - channel: 13
            gain: 0
            inverted: false
      - dest: 2
        sources:
          - channel: 12
            gain: 0
            inverted: false
      - dest: 3
        sources:
          - channel: 13
            gain: 0
            inverted: false
      - dest: 4
        sources:
          - channel: 12
            gain: 0
            inverted: false
      - dest: 5
        sources:
          - channel: 13
            gain: 0
            inverted: false
      - dest: 6
        sources:
          - channel: 12
            gain: 0
            inverted: false
      - dest: 7
        sources:
          - channel: 13
            gain: 0
            inverted: false
      - dest: 8
        sources:
          - channel: 12
            gain: 0
            inverted: false
      - dest: 9
        sources:
          - channel: 13
            gain: 0
            inverted: false   
      - dest: 14
        sources:
          - channel: 12
            gain: 0
            inverted: false
      - dest: 15
        sources:
          - channel: 13
            gain: 0
            inverted: false
filters:
  volume:
    type: Volume
    parameters:
      ramp_time: 200

pipeline:
  - type: Mixer
    name: 2to10chan

  - type: Filter
    channel: 0
    names:
      - volume
  - type: Filter
    channel: 1
    names:
      - volume 
  - type: Filter
    channel: 2
    names:
      - volume
  - type: Filter
    channel: 3
    names:
      - volume
  - type: Filter
    channel: 4
    names:
      - volume
  - type: Filter
    channel: 5
    names:
      - volume
  - type: Filter
    channel: 6
    names:
      - volume
  - type: Filter
    channel: 7
    names:
      - volume
  - type: Filter
    channel: 8
    names:
      - volume
  - type: Filter
    channel: 9
    names:
      - volume
  - type: Filter
    channel: 14
    names:
      - volume
  - type: Filter
    channel: 15
    names:
      - volume

Michael
 

jtwrace

Major Contributor
Forum Donor
Joined
May 31, 2017
Messages
1,225
Likes
1,401
Location
Orlando, FL
@mdsimon2

Is there any way to use the Motu with an RPi4 and Roon? I'd prefer to use Roon's Convolver and not have a very long USB wire going from computer direct to Motu for MCH Audiolense. Have you spoken with Harry from RoPieee about adding this? I've searched on the Linux Musicians site but coding is not my thing so it's a bit out of my forte.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,477
Likes
3,315
Location
Detroit, MI
Not a Roon user myself but @johnanon's post #153 has some good information on using Roon on a RPi4 with an Ultralite. Seems like the current issue is that the RoPieee doesn't yet use the 5.11 kernel (I imagine it will get upgraded over time). Seems like you could install Roonbridge on an RPi4 running Ubuntu Server 21.04 like @johnanon and that would do what you want. Instructions look pretty straight forward -> https://help.roonlabs.com/portal/en/kb/articles/linux-install.

I know @manisandher was using the Roon convolver with an Ultralite but that was on Windows.

Michael
 

jtwrace

Major Contributor
Forum Donor
Joined
May 31, 2017
Messages
1,225
Likes
1,401
Location
Orlando, FL
Not a Roon user myself but @johnanon's post #153 has some good information on using Roon on a RPi4 with an Ultralite. Seems like the current issue is that the RoPieee doesn't yet use the 5.11 kernel (I imagine it will get upgraded over time). Seems like you could install Roonbridge on an RPi4 running Ubuntu Server 21.04 like @johnanon and that would do what you want. Instructions look pretty straight forward -> https://help.roonlabs.com/portal/en/kb/articles/linux-install.

I know @manisandher was using the Roon convolver with an Ultralite but that was on Windows.

Michael
Hmmm. Some of it makes sense to me, some not so much. :facepalm:
 
Top Bottom