AVS Forum banner

CPU utilization of 64ch DSP JRiver/Motu load test

2K views 19 replies 7 participants last post by  BassThatHz 
#1 · (Edited)

Attachments

See less See more
2
#3 ·
Anymore the cpu is normally not the bottleneck for just about anything audio. Even multichannel recording thrown in.
The glitches seem to be with interfaces talking to each other and poor quality drivers adding delay.

Syncing each device should not be hard these days, but can still be a pain.
 
#4 ·
I was not able to get JRiver to accept more than 2 channels of input via ASIO. Which scares the hell out of me...
I was using JackRouter as the virtual audio driver.

I spent like 8 hours trying to make Jack work with JRiver or Foobar, or both, but no real success.
Not sure if I'm doing something wrong or if the software just sucks.

It pushes the 32 channels out per instance, but only 2 in. (Even with the output set to null.)

I haven't tried virtual audio cable yet.

In reality I only need about 16 inputs and dual 20 outputs. I won't be pushing dual 32x32.
Motu maxes out at 24x48 in 192khz mode, so dual 24x24 would be as high as I'd ever go with that hardware.

More testing is needed, especially before I fork over money.
 
#6 ·
I ran a quick test with my motu 1248, it is configured with 24 output channels and 24 input channels atm and I can open a 24 channel line in and send that to a 24 channel line out. If anything in that config is wrong (e.g. you have a set a channel offset on the output device, the output device is not configured to accept that many channels) then jriver will drop back to suggesting 2 channel output instead and will give no information/hints as to why. It simply attempts to open the asio device, gets a -1 return code and falls back to a safe option.
 
#5 · (Edited)
Which version are you using? There was a change in an early 21 build to let it accept more than 2 channels of asio input but that was a long while ago now.

Why are you using jackrouter? The motu driver is a multi client one and it has a full featured router/mixer.

I suppose ultimately the question is why use jriver in this situation? I would think a Linux solution would be more reliable once you get it working.
 
#10 ·
I am doing realtime audio DSP with a Motu 16A running in Linux. It is connected via USB 2.0. I wouldn't say that the Linux support via USB 2.0 is flawless, but it works very well for my needs. Currently I matrix process 5.1 channels to 12 (soon to be 16) channels out. I have been running in realtime mostly 24/7 for about 6 months and haven't experienced an XRUN yet. However, see my notes below. The CPU is pretty lightly loaded at ~20% on one core, as I'm mostly using biquads and a handful of 6k FIR filters. I'll probably eventually get around to trying some larger FIR filters, which may bump up the demand a bit.

The biggest issue I'm aware of is that sample rate changes must be initiated on the Motu unit itself. I may be wrong, but I don't think you can configure the host to act as the master clock. I'm not sure this is a flaw of the Motu so much as a limitation of controlling is as though it were a soundcard via USB 2.0. The AVB-enabled devices are specifically designed to allow interconnection with low-latency realtime streaming, and connection via AVB (and possible Thunderbolt) may allow the PC host to change the sample rate if the PC host is also the clock master. With that said, if you are using the units for analog-to-analog processing, this is of no concern because you will probably just pick one sampling rate and use it for everything.

If you are comfortable with writing code and are familiar with JSON APIs, the A16 and related units appear to support full access/control via a JSON API. I have used it via scripts to automate changes to the routing matrix and am happy to say it works great so far.

As a warning, achieving reliable low-latency realtime processing can be very challenging on a PC. If you can tolerate a lot of processing latency, you might be OK. A clear advantage to JRiver, currently, is that it handles video as well as audio and so can delay the video if the audio pipeline has a lot of lag. For gaming, however, high audio processing latencies may be unacceptable. I made quite a few changes to my Linux OS configuration on the PC I use for processing. Among other things, I had to reorder my hardware interrupt priorities (can one even do this in Windows?), and alter the CPU governor in order to pass my fitness tests.

I was surprised to learn that you were trying to test this without the actual hardware. You really need to test with the actual hardware. I also strongly recommend against trying to do realtime processing in a VM in general. There are obscure VM hosts that are specifically designed to simulate realtime systems (albeit at much slower than realtime speeds), but this is a totally different thing from running a live realtime process within a guest on a typical desktop/server hypervisor. Also, depending on your latency needs and the amount and type of processing you use, there's a decent chance that a large chunk of or even the majority of your CPU time is spent on overhead rather than actual processing. Overhead rises rapidly as you decrease latency because you are processing everything in smaller chunks.

Good luck with this. If you get it working well, you'll have an enormously flexible (and inexpensive!) many-channels DSP solution. I've barely tapped the capabilities that I have, but I will get there soon.
 
#13 ·
The biggest issue I'm aware of is that sample rate changes must be initiated on the Motu unit itself. I may be wrong, but I don't think you can configure the host to act as the master clock.
On Windows at least, the sample rate of the MOTU is automatically changed by the software. There is about a 5 second delay. JRiver can be configured to play silence at startup for hardware synchronization so that one doesn't miss the start of a track.
 
#11 ·
#12 ·
With my new job, I should be able to afford a Motu24AO by December.
It's gonna take me about a month to save for it.



:D
 

Attachments

#19 ·
Hello BassThatHz,

I'm curious if you are still pursuing this? I'm trying to do a similar setup with four MOTU Travelers for 7.4.2 analog input from the pre-outs of a Pioneer SC-95 Atmos/DTS:X receiver and outputting 32 channels through the MOTUs. Will be using JRiver on Windows 10 to setup full active system with FIR filters, convolution, etc. I started a thread if you have interest or suggestions:
https://yabb.jriver.com/interact/index.php/topic,109373.0.html
 
#20 ·
I just noticed this is the wrong thread that was awoken. DOH... This is the OLD JRiver thread.

The current active thread, as far as what I'm doing with Motu devices & DSP'ing, is found here:
http://www.avsforum.com/forum/155-d...5-diying-dsp-processor-engine-solution-1.html
A lot has changed since this thread and for the better IMO...
The current solution supports 256+ channels from a single app, not this crazy JRiver solution of 32-Channels per USB cable / OS garbage.

I thought this thread was that thread... DOH!
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top