ARA - Audio-Random-Access - a new offline processing plugin standard - will this take off?

DSP, Plug-in and Host development discussion.
User avatar
Music Engineer
KVRAF
3830 posts since 8 Mar, 2004 from Berlin, Germany

Post Mon Aug 06, 2012 7:42 am

in the current issue of the german "Keys" magazine, i stumbled upon a small article which announced, that Celemony in collaboration with Presonus have established a new plugin standard for offline processing plugins:

http://www.celemony.com/cms/index.php?id=ara#top

in the mag, it is written that an SDK should be available, but i don't find anything at the melodyne website about that. actually, VST has some offline interfacing capabilities for a long time - but i never looked deeply into it because it doesn't seem to be well supported by hosts anyway. it would be great to finally see a standard for offline audio processing that is widely supported. could ARA fill this gap? i certainly hope so.

thoughts, ideas, comments?
Image

arakula
KVRAF
1935 posts since 16 Aug, 2004 from Vienna, Austria

Post Mon Aug 06, 2012 7:45 am

http://www.celemony.com/cms/index.php?id=ara does it.

I've written to Celemony to get the SDK some weeks ago and had it some hours later. Looks nice; I'm still trying to wrap my head around whether / how to marry it with my realtime hosts.
"Until you spread your wings, you'll have no idea how far you can walk." Image

User avatar
mellotronaut
KVRAF
9914 posts since 2 Jan, 2005 from somewhere in the woods

Post Mon Aug 06, 2012 7:55 am

i suppose, they don't develop Melodyne Studio any longer and try to find a different and smart solution.
"It dreamed itself along"

User avatar
Music Engineer
KVRAF
3830 posts since 8 Mar, 2004 from Berlin, Germany

Post Mon Aug 06, 2012 8:00 am

? does what? did my link not work?
I've written to Celemony to get the SDK some weeks ago and had it some hours later. Looks nice;
i guess, i could do the same. but actually i think it would be much better, if they would just release the SDK publically. probably they will do at some stage and i think, i'll wait for that.
I'm still trying to wrap my head around whether / how to marry it with my realtime hosts.
i wish you good luck for that. VSTHost is my primary host for testing plugins and doing sound-design. thanks for keeping the good work going.
Image

LemonLime
KVRist
231 posts since 15 Apr, 2012 from Toronto, ON

Post Mon Aug 06, 2012 11:06 am

It was actually funny to read this just now as I've been doing a little research into VSTs offline capabilities, but as you said Robin, it's not widely supported by hosts. I'll be keeping an eye on this as well.

Tzarls
KVRist
201 posts since 12 Feb, 2009 from Perú

Post Mon Aug 06, 2012 1:43 pm

From what I've read, they're not trying to set a new standard, they're just trying to push some "extensions" to the existing ones - something similar to the
"Cockos Extensions". Frankly, I don't see Steinberg (or Apple?) adopting third party extensions to their own standard in any of their DAWs...

User avatar
antto
KVRAF
2521 posts since 4 Sep, 2006 from 127.0.0.1

Post Mon Aug 06, 2012 1:59 pm

for offline vst processing (which i suppose would be mostly for FX plugins) i'd thought you simply load the VST and pass it an audio buffer (the full length of the audio material) :shrug:
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr

LemonLime
KVRist
231 posts since 15 Apr, 2012 from Toronto, ON

Post Mon Aug 06, 2012 9:40 pm

antto wrote:for offline vst processing (which i suppose would be mostly for FX plugins) i'd thought you simply load the VST and pass it an audio buffer (the full length of the audio material) :shrug:
Yeah, more or less. The problem is that many hosts implement plugins as insert or send effects, so offline capabilities are not possible. I was just testing out an offline VST plugin I'm making in WaveLab and it wouldn't even load the plugin because I had set my plugin category to kPlugCategOfflineProcess. When I changed it to kPlugCategEffect, it showed up but it had no buttons for OK or anything that allowed me to apply the effect.

AdmiralQuality
Banned
6657 posts since 10 Oct, 2005 from Toronto, Canada

Post Mon Aug 06, 2012 9:58 pm

LemonLime wrote:The problem is that many hosts implement plugins as insert or send effects, so offline capabilities are not possible.
I don't follow.

But then I also don't see what the difference between offline and online is, to the plug-in. If you need to know what a sample n samples ahead is, wait for it. If you need to know what a sample n samples ago was, remember it.

User avatar
antto
KVRAF
2521 posts since 4 Sep, 2006 from 127.0.0.1

Post Tue Aug 07, 2012 2:05 am

think of a bi-directional IIR filter, this needs to know the whole audio material
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr

arakula
KVRAF
1935 posts since 16 Aug, 2004 from Vienna, Austria

Post Tue Aug 07, 2012 3:05 am

AdmiralQuality wrote:But then I also don't see what the difference between offline and online is, to the plug-in. If you need to know what a sample n samples ahead is, wait for it. If you need to know what a sample n samples ago was, remember it.
"Wait for it" means "introduce unnecessary latency" (that could be avoided by knowing the audio data in advance).

"Remember it" means "unnecessarily duplicate the audio buffers" (the host knows the audio data and can provide access to them without the need to duplicate them).

They got some nice videos online on the Celemony web site that should help you understand the advantages - and also the circumstances in which it makes sense.
Last edited by arakula on Tue Aug 07, 2012 3:08 am, edited 1 time in total.
"Until you spread your wings, you'll have no idea how far you can walk." Image

AdmiralQuality
Banned
6657 posts since 10 Oct, 2005 from Toronto, Canada

Post Tue Aug 07, 2012 3:07 am

Yeah but offline implies infinite latency. "I refuse to process any of it until I've seen all of it!"

I may be a little biased towards real time. :)

Xenakios
KVRian
1223 posts since 9 Sep, 2005 from Oulu, Finland

Post Tue Aug 07, 2012 3:17 am

AdmiralQuality wrote:If you need to know what a sample n samples ahead is, wait for it. If you need to know what a sample n samples ago was, remember it.
That's a terrible "solution" that requires the user to wait in real time for the plugin to "record" the audio. Also if the user edits anything in the host after such recording is complete, the audio has to be recorded into the plugin again. This is severely annoying, inefficient and time wasting.

I've also got the ARA SDK (by asking for it, not a big trouble and not that much different from the hassle of obtaining the VST SDK from Steinberg with all the registration etc needed). I haven't still looked into doing much with it, as Studio One is at the moment the only host implementing ARA support for plugins. Also at the moment Melodyne is the only plugin implementing it, so it's a bit tricky to make my HourGlass app support that. (I'd need to ensure I have the facilities to debug problems even after the demo period of Melodyne would be over, and that would require purchasing Melodyne which I am not so sure at the moment I'd like to do...) I am not that sure either if HourGlass would gain much additional value from the ability to host Melodyne via the ARA API as the use purposes of the 2 apps/plugins seem to be in contradiction. (HourGlass is clearly a mangler type of thing, whereas Melodyne is much more geared towards making corrective processings to pitch and time.)

Maybe some plugin developer would like to be adventurous and do, say, an ARA based dynamics processor? :hihi: (Yeah, I know, no hope for such a thing to happen... :cry: )

AdmiralQuality
Banned
6657 posts since 10 Oct, 2005 from Toronto, Canada

Post Tue Aug 07, 2012 3:43 am

Xenakios wrote:
AdmiralQuality wrote:If you need to know what a sample n samples ahead is, wait for it. If you need to know what a sample n samples ago was, remember it.
That's a terrible "solution" that requires the user to wait in real time for the plugin to "record" the audio. Also if the user edits anything in the host after such recording is complete, the audio has to be recorded into the plugin again. This is severely annoying, inefficient and time wasting.
No, sorry. It's actually an offline plug-in that needs the audio recorded beforehand. Obviously if I need the value of a sample a minute from now, that's not going to work live.

And audio can be rendered as fast as the CPU can handle it, usually much faster than real time. An offline plug-in needs to spend the exact same amount of CPU time to get the same result.

I can think of two effects where random access is needed. Normalization and Backwards. (Both of which should be host functions.)

Xenakios
KVRian
1223 posts since 9 Sep, 2005 from Oulu, Finland

Post Tue Aug 07, 2012 3:53 am

AdmiralQuality wrote:
Xenakios wrote:
AdmiralQuality wrote:If you need to know what a sample n samples ahead is, wait for it. If you need to know what a sample n samples ago was, remember it.
That's a terrible "solution" that requires the user to wait in real time for the plugin to "record" the audio. Also if the user edits anything in the host after such recording is complete, the audio has to be recorded into the plugin again. This is severely annoying, inefficient and time wasting.
No, sorry. It's actually an offline plug-in that needs the audio recorded beforehand. Obviously if I need the value of a sample a minute from now, that's not going to work live.
This all is about audio that has already been previously recorded/imported into the host, not about realtime live playing/input, so don't use that as a red herring...If you have no use for processing like that, fine, but don't discourage other people from exploring such options.

Return to “DSP and Plug-in Development”