Live data from Hacker News

Elementary Audio: a modern platform for writing high performance audio software

elementary.audio

11–20 of 110 posts

Re: Elementary Audio: a modern platform for writing high performance audio software

#11

So with this I could make some fun js audio stuff? I dont really get it, why should I use this instead of howler js, or are they even comparable. either way seems pretty interesting and there is a free/lite version

the webpages require a little digging, but they have an examples page.

looks like it's a set of dsp functions where the filter graph is constructed by composing the functions in functional style and then passing it to a render function at the end.

so kinda like big data style composition of functions (like the scala stuff people often write to run on spark clusters) but with dsp/audio building blocks running in the browser instead.

Re: Elementary Audio: a modern platform for writing high performance audio software

#13
post #4

so this is basically a paid Web Audio API wrapper?

It does say you can make plugins, but the link doesn't work. It would be huge if you could make cross-platform AU/VST*/AAX without the costs of JUCE, but I suspect that isn't on offer here.

I find it hard to imagine people the desktop/commercial audio world wanting to write plugins in JS. At a glance, this seems like an interesting webaudio project that is trying to be too much. Plugins are used in a very different situation where low latency and high performance trump pretty much everything. Reconciling that with web dev priorities seems optimistic.

Re: Elementary Audio: a modern platform for writing high performance audio software

#14

Earlier quoted context omitted.

It does say you can make plugins, but the link doesn't work. It would be huge if you could make cross-platform AU/VST*/AAX without the costs of JUCE, but I suspect that isn't on offer here.

I find it hard to imagine people the desktop/commercial audio world wanting to write plugins in JS. At a glance, this seems like an interesting webaudio project that is trying to be too much. Plugins are used in a very different situation where low latency and high performance trump pretty much everything. Reconciling that with web dev priorities seems optimistic.

Yeah. I got lost at JS. Buffers and buffer manipulation are everything in audio processing, I don’t see anything stealing C/C++’s thunder here except Rust.

Re: Elementary Audio: a modern platform for writing high performance audio software

#15
Maybe I'm missing something from my quick read, but the idea of using this for plugins seems like a real misfire. I'm curious whether the devs come from the pro audio world at all. It's one area where prioritizing for development time by using high level garbage collected languages just isn't done because your user is always concerned with how many instances they can run and what the lowest latency they can get is, and that latency constraint is going to be applied across your entire system. So if there is one plugin that hoses the latency by needing a time slice big enough to run a GC in the audio dsp routine, pro audio buyers won't touch it.

It looks like a nice way to do interactive web audio work, but plugins are a different beast all together. If you want a place where old school skating-with-razor-blades pointer coding is still common practice, it's DSP code.

Re: Elementary Audio: a modern platform for writing high performance audio software

#16

Maybe I'm missing something from my quick read, but the idea of using this for plugins seems like a real misfire. I'm curious whether the devs come from the pro audio world at all. It's one area where prioritizing for development time by using high level garbage collected languages just isn't done because your user is always concerned with how many instances they can run and what the lowest latency they can get is, a…

exactly

users often have to bear the costs for developer productivity

with audio software the performance aspect is critical to user and thus the cost of increased developer productivity is exceeding the reward

you can’t make any compromise, because otherwise users won’t be buying the product and you go bankrupt

this is one thing i wish has happened to Electron

Re: Elementary Audio: a modern platform for writing high performance audio software

#17

Maybe I'm missing something from my quick read, but the idea of using this for plugins seems like a real misfire. I'm curious whether the devs come from the pro audio world at all. It's one area where prioritizing for development time by using high level garbage collected languages just isn't done because your user is always concerned with how many instances they can run and what the lowest latency they can get is, a…

Hey, Nick from Elementary Audio here.

You're totally right that in this domain you have to be extremely careful with performance and latency. Elementary takes great care to deliver that; it's a JavaScript "frontend" API but all of the actual handling of audio is done natively with high quality realtime constraints. The core engine is all native C/C++, and we run in the web by compiling to wasm and running inside a web worker. For delivering a desktop app or audio plugin, the native engine is compiled directly into the target binary.

So, while JavaScript and garbage collectors can bring a performance concern, we're only using JavaScript there for handling the lightweight virtual representation of the underlying engine state, and for that role JavaScript is plenty fast enough and the garbage collector quite helpful!

Re: Elementary Audio: a modern platform for writing high performance audio software

#18
post #12

Heads up (if the OP is related to the project) the docs page for audio plugins 404s

Thanks! The docs just underwent a significant change for v1.0; the new plugins page is here: https://www.elementary.audio/docs/packages/plugin-renderer

Re: Elementary Audio: a modern platform for writing high performance audio software

#20
post #4

so this is basically a paid Web Audio API wrapper?

It does say you can make plugins, but the link doesn't work. It would be huge if you could make cross-platform AU/VST*/AAX without the costs of JUCE, but I suspect that isn't on offer here.

That is indeed on offer :)

The new docs structure broke the website links, I'll get that fixed asap. See here in the mean time: https://www.elementary.audio/docs/packages/plugin-renderer

Also, as another user here has already pointed out, the "plugin development kit" is still macos only, though I anticipate releasing the windows version within hopefully a week or two.

Post reply on HN