top | item 22950495

AudioGridder – DSP servers using general purpose networks and computers

60 points| apohl79 | 6 years ago |github.com | reply

31 comments

order
[+] dharma1|6 years ago|reply
This is fantastic. Would it be possible to make it cross platform? I like using Logic on my MacBook, but have an AMD 3900x sitting around too which I'm currently not using for audio. I was looking into running vsti's on it as a slave and just routing audio back and forth, but would it be possible to use it for distributed DSP directly?
[+] apohl79|6 years ago|reply
Well, as AudioGridder is using JUCE, many parts of the code are cross platform already. But there is some parts of the network code as well as the screen capturing and keyboard/mouse code in the server, that is OSX specific. I would expect the efforts to add support for other platforms to be reasonable. So I hope there will be interested developers, that could have a look at this.
[+] mochomocha|6 years ago|reply
This is really cool! This is kind of a cloud CPU version of Universal Audio Apollo which offloads on local DSP chips.

What's the lowest latency achievable in practice? I'd be surprised if you can run anything under 50ms, so it's probably limited to mixing use-cases, which is already really cool because that tends to be the "plugin-heavy" phase.

How does it work in terms of licensing for the plugins that run remotely? I'm not familiar with common licenses used by plugins.

[+] apohl79|6 years ago|reply
You can get below 50ms. But yes, the intention building this was mixing.

You can start with no additional buffering In AudioGridder. The additional latency on top of your configured I/O latency (based on the I/O buffer size in your DAW) will be the network RTT plus DSP processing time of one sample block.

The lower the latency the more fragile the setup will be. That’s why you can add additional buffering in AudioGridder.

[+] pjc50|6 years ago|reply
Surprising that this makes sense rather than just doing the processing locally or on the GPU. What kinds of filters are people using that are this intensive?
[+] audioguy13|6 years ago|reply
GPUs may be used more and more for usage outside of graphics, but they don't lend themselves very well to audio, in particular recursive filters which are very common.
[+] WalterSear|6 years ago|reply
I have a virtual synth with such intricate discrete component modelling that it can bring a modern i7 to its knees all on it's own.
[+] bjt|6 years ago|reply
Very cool that this is possible. I wish it gave some numbers about best-case and typical latencies that are added by using this.
[+] apohl79|6 years ago|reply
This requires experimentation. On my network I get around 1-5ms rtt. It’s a 1gb ethernet giving around 100mb/s throughput. So I’m _usually_ able to work with an I/O buffer size of 512 samples which is ~23ms at 44,1khz and no additional buffering in AudioGridder. Larger projects with many channels or complex plugin chains probably require larger buffer sizes.
[+] brandonmenc|6 years ago|reply
Will someone please make an external general purpose DSP box (for Max/MSP, etc) similar to an external Thunderbolt GPU?
[+] IggleSniggle|6 years ago|reply
These have existed for a long time. They used to be called sound cards and maybe still are, I've been calling them audio interfaces for the last decade, and getting what you need in this space is an exercise in defining your actual requirements, because there is no standard for what's important and what's not. A good one can do wonders for latency when doing a lot of DSP.
[+] namibj|6 years ago|reply
Can you describe a little better what this box's purpose would be (scenarios most relevant to the development becoming a commercial success), because a cursory glance at the real-time audio part of Max/MSP (and the Pd (Pure Data) fork/clone) suggests that specialized audio DSP hardware would not be beneficial, compared to using a CPU/distributing it over multiple cores, or potentially even a GPU.
[+] rectang|6 years ago|reply
Seconded! Wishlist:

• Absolutely minimal latency.

• Ability to run open source software.

• Stackability (to achieve high horsepower via multiple units)

• Multichannel digital i/o (analog is unnecessary, there are lots of great hardware AD and DA converter units)

• Wordclock

There's plenty of cycles in modern chips, but latency is a killer with native CPU processing.

Alternately, I'd love a RTOS which could run open source software on high-horsepower multi-core CPUs.

[+] qppo|6 years ago|reply
These exist for AAX plugins and they're naturally pretty expensive and hard to program for as a general purpose unit.
[+] kitotik|6 years ago|reply
Super cool!

I wonder how/if it handles latency compensation when used with other plugins.

[+] apohl79|6 years ago|reply
It does take this into consideration and reports it to the DAW. So things stay in sync.
[+] jazzido|6 years ago|reply
Reaper DAW comes bundled with Reamote, which has a similar scope
[+] kitotik|6 years ago|reply
Does that work with AU/VST plugins or just the native reaper effects?
[+] musiccog|6 years ago|reply
Awesome - can't wait to try it over the weekend.
[+] esilverman|6 years ago|reply
really cool, excited to follow along, Have you tested in pro tools at all?
[+] apohl79|6 years ago|reply
I was talking to avid. But their “business“ model does not seem to support open source. I have AAX support, but they do not provide me with the signing tools required to sign AAX plugins to get them loaded by protools production builds.
[+] kamonrye|6 years ago|reply
awesome, definitely keeping eyes on this one.