Live data from Hacker News

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

elementary.audio

51–60 of 110 posts

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

#51

Earlier quoted context omitted.

Wow, thanks for your interest! I haven't maintained QuaverSeries for a while as I kinda feel that there are some issues on Tone.js that cannot be fixed in the foreseeable future. For the topic you are interested (C++ audio engine as WASM), you should check these two: https://github.com/frantic0/sema-engine https://github.com/micknoise/Maximilian For those language you mentioned csound, supercollider, Chuck (should ad…

That supercollider/scsynth wasm thing was actually what I was thinking about. Unfortunately the implementation is still in a fork and hasn't been merged upstream. [1],[2] Thanks for the other links, sema-engine was new to me and not in my original investigation. I think I skimmed over Maximilian but it is probably worth a closer look. One of the benefits of csound/supercollider in my mind are their existing communiti…

> At the low end you have ... and at the other you have ...

Totally missing out on the actual DAWs where most people do most of this stuff.

Yes, there is some interest in and use of standalone tools. But for all kinds of reasons, the majority of new audio software development occurs with the assumption that it will run within a DAW (or at least, a plugin host).

One of the reasons for that is to offload almost all of the architectural issues to the host, and leave the developer to pay attention to the sorts of things you describe in the paragraph I was quoting from.

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

#52

Earlier quoted context omitted.

This is my new favorite comment for illustrating the perilous future of general computing and how it needs to be taken away from JavaScript if we have any chance of survival. Electron, Webassembly fetishism, the pursuit of language synchrony at the expense of common sense, it all gets you this. This comment. Right here. This is the future of software and it should scare the shit out of you. Let me get this straight:…

Do you understand how WASM and Web workers work? Do you understand that low-enough-latency audio doesn't take a super computer anymore? Yeah, if you were working on DSP stuff in the 1990s, you were a hot shit programmer. Nowadays, it doesn't really say much at all. And it certainly doesn't justify talking about it as if it were a moral failure to not treat DSP with respect.

> Do you understand that low-enough-latency audio doesn't take a super computer anymore

It never did. Low latency audio has almost nothing to do with CPU power. Here's a summary of some of the issues faced on modern general purpose computers:

https://manual.ardour.org/setting-up-your-system/the-right-c...

I know how WASM and Web workers work. Since nothing you can do in WASM or a web worker has anything to do with either (a) realtime scheduling priority (b) actual audio hardware i/o, they don't have much to do with solving the hard parts of this. Browsers in general do not solve it: they rely on relatively large amounts of buffering between them and the platform audio API. Actual music creation/pro-audio software requires (sometimes, not always) much lower latencies than you can get routing audio out of a browser.

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

#53

Earlier quoted context omitted.

Do you understand how WASM and Web workers work? Do you understand that low-enough-latency audio doesn't take a super computer anymore? Yeah, if you were working on DSP stuff in the 1990s, you were a hot shit programmer. Nowadays, it doesn't really say much at all. And it certainly doesn't justify talking about it as if it were a moral failure to not treat DSP with respect.

> Do you understand that low-enough-latency audio doesn't take a super computer anymore It never did. Low latency audio has almost nothing to do with CPU power. Here's a summary of some of the issues faced on modern general purpose computers: https://manual.ardour.org/setting-up-your-system/the-right-c... I know how WASM and Web workers work. Since nothing you can do in WASM or a web worker has anything to do with ei…

And even when it doesn't require it, we always want it. :-)

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

#54

It's hard to know what to say. > The conventional approach to writing audio software is an challenging process requiring expertise in a wide breadth of topics– C++, multi-threading and thread safety, lock-free programming, and realtime thread safety come to quickly to mind, and we haven't even mentioned digital signal processing itself. Moreover, the tooling, workflow, and developer experience that we have in this ap…

That was my impression too, it looks very much like an SC style computer music language. Which begs the question, who is this for? Someone who writes plugins doesn't need or want the high level SC style language. Someone seriously into computer music/audio isn't going to want the limitations, and has a lot of options already to choose from that are mature, if relatively unknown outside music circles.

If it were my company, I would be marketing this squarely at people with the need for high level procedural audio in a web context. This looks like it could be great for browser-based game devs, for example. I do know that Pure Data and Andy Farnell's great sound design book for it were a hit in the game dev world of procedural audio, FWTW.

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

#55

Earlier quoted context omitted.

That supercollider/scsynth wasm thing was actually what I was thinking about. Unfortunately the implementation is still in a fork and hasn't been merged upstream. [1],[2] Thanks for the other links, sema-engine was new to me and not in my original investigation. I think I skimmed over Maximilian but it is probably worth a closer look. One of the benefits of csound/supercollider in my mind are their existing communiti…

> At the low end you have ... and at the other you have ... Totally missing out on the actual DAWs where most people do most of this stuff. Yes, there is some interest in and use of standalone tools. But for all kinds of reasons, the majority of new audio software development occurs with the assumption that it will run within a DAW (or at least, a plugin host). One of the reasons for that is to offload almost all of…

For my personal interest (probably no where near the majority) I am interested in these libraries primarily for use outside of a DAW. I mean, I already have a wealth of plugins for most conceivable purposes to use in one of the several DAWs I have installed. I am also in no hurry to move the kind of things I do in a DAW to a web based app. And frankly, none of the examples I've seen so far come within a country mile of the audio quality of the higher-end plugins I have.

I'm interested in these libraries to see how we can expand on musical creativity outside of DAWs. The first thing that comes to my mind was the cute HTML 5 game Friday Night Funkin'[1]. Or games such as Lumines [2] where the rhythmic music is integral to the gameplay. And other kinds of interactive media where advanced control of synthesized audio might enhance the experience. I think it would be interesting to give people a simplified/gamified interface to a suite of audio tools with the intent to unlock creativity, especially aimed at a very young age (e.g. toddlers and pre-teens). This is a place I don't think traditional DAWs will ever attempt to target and where web-first experiences tend to do extremely well. Being able to quickly develop and deploy "good-enough" audio effects that have an element of interactivity for those kind of products/experiences would be nice to have.

1. https://ninja-muffin24.itch.io/funkin

2. https://www.youtube.com/watch?v=hv4sCM5X96o

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

#57

Earlier quoted context omitted.

> At the low end you have ... and at the other you have ... Totally missing out on the actual DAWs where most people do most of this stuff. Yes, there is some interest in and use of standalone tools. But for all kinds of reasons, the majority of new audio software development occurs with the assumption that it will run within a DAW (or at least, a plugin host). One of the reasons for that is to offload almost all of…

For my personal interest (probably no where near the majority) I am interested in these libraries primarily for use outside of a DAW. I mean, I already have a wealth of plugins for most conceivable purposes to use in one of the several DAWs I have installed. I am also in no hurry to move the kind of things I do in a DAW to a web based app. And frankly, none of the examples I've seen so far come within a country mile…

Excellent and interesting response! The idea of responsive audio within a browser-based game had slid right by my old-fart brain. Will be interesting to see how that turns out.

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

#58

Earlier quoted context omitted.

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 we…

This is my new favorite comment for illustrating the perilous future of general computing and how it needs to be taken away from JavaScript if we have any chance of survival. Electron, Webassembly fetishism, the pursuit of language synchrony at the expense of common sense, it all gets you this. This comment. Right here. This is the future of software and it should scare the shit out of you. Let me get this straight:…

I'm a web person defending web things but providing something on the web has a significant advantage. I know you've heard this again and again, but I can't emphasize it enough.

You can use the site from most platforms, including PCs and mobiles. You don't have to install software, a single click is enough. Of course, browsers have considerable limitations, and serious users will eventually choose other tools, but providing such an accessible software is a really huge advantage for me.

edit: words

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

#59

It's hard to know what to say. > The conventional approach to writing audio software is an challenging process requiring expertise in a wide breadth of topics– C++, multi-threading and thread safety, lock-free programming, and realtime thread safety come to quickly to mind, and we haven't even mentioned digital signal processing itself. Moreover, the tooling, workflow, and developer experience that we have in this ap…

That was my impression too, it looks very much like an SC style computer music language. Which begs the question, who is this for? Someone who writes plugins doesn't need or want the high level SC style language. Someone seriously into computer music/audio isn't going to want the limitations, and has a lot of options already to choose from that are mature, if relatively unknown outside music circles. If it were my co…

It's probably for people who are smart enough to know DSP, but only know JavaScript and refuse to learn anything else. If you squint it looks like an empty set.

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

#60

It's hard to know what to say. > The conventional approach to writing audio software is an challenging process requiring expertise in a wide breadth of topics– C++, multi-threading and thread safety, lock-free programming, and realtime thread safety come to quickly to mind, and we haven't even mentioned digital signal processing itself. Moreover, the tooling, workflow, and developer experience that we have in this ap…

> SuperCollider or something similar remains more powerful and more flexible

SuperCollider's license effectively stops you from designing commercial products. Even the free version of Elementary allows that.

Post reply on HN