Live data from Hacker News

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

elementary.audio

71–80 of 110 posts

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

#71

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…

As a total outsider to the audio programming world, what's the best in class framework / environment to be writing plugins in in 2022 if one were to start today?

JUCE is a common choice in commercial audio/music software.

https://juce.com/

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

#72

Earlier quoted context omitted.

As a total outsider to the audio programming world, what's the best in class framework / environment to be writing plugins in in 2022 if one were to start today?

JUCE is a common choice in commercial audio/music software. https://juce.com/

JUCE is also reasonably popular among GPL'ed plugins, since it does allow for a GPL option. It's not perfect, and in fact has many important issues, but it's probably the least bad of a bunch of not-very-good options (no matter what type of license you're planning to use).

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

#73
I see several comments along the lines of "who is this even for", which may be classic HN negativity or maybe the docs don't make it clear enough. I've actually played with this library (and many others), and I'm super psyched to see it ship!

To me this is the equivalent of React native for audio: describe your audio declaratively, and let the platform handle the rest. The benefits are:

- Write once, deploy everywhere (building DAW plugins sucks, and most web audio is not performant)

- Lower barrier to learning DSP (yes, DSP engineers already know low level languages that can do this, AND now more people can build audio software)

- Modern dev environment and faster feedback loop. I can now build a React app (or React native) with a high performance audio engine built right in.

I'm pretty skeptical of people defending the status quo approach here... Like, where's the Figma for DAWs? Why don't more more people to write their own VST plugins? And why is audio software so UGLY?

Audio software design has been stuck in the 90's for too long and I'm psyched to see it open up and become more accessible!

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

#74

Earlier quoted context omitted.

JUCE is a common choice in commercial audio/music software. https://juce.com/

JUCE is also reasonably popular among GPL'ed plugins, since it does allow for a GPL option. It's not perfect, and in fact has many important issues, but it's probably the least bad of a bunch of not-very-good options (no matter what type of license you're planning to use).

Yes... although the Projucer does not make it very obvious since it only shows "personal", "education", "indie" and "pro" license options.

This page does mention GPL3: https://juce.com/get-juce

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

#75
post #64

Earlier quoted context omitted.

> 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.

What are you talking about? SuperCollider is licensed under GPLv3 [1]. [0] https://github.com/supercollider/supercollider#license

Exactly.

Any product you produce must include full source code, at which point anyone can legally post all your code on the internet.

So - very difficult to build a commercial software product with it.

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

#77
post #68

Earlier quoted context omitted.

my friend is running an independent studio, i'm a bedroom musician, and we're planning some elementary plugins together. we tried some stuff with max and it wasn't expressive enough, we tried the steinberg sdks but they were too much of a lift, elementary is good enough for our workflows and in that perfect zone with enough control and enough familiarity that we feel we can be productive. we'll see in due time if it'…

If you can tolerate graphical programming, the successor to Max, Pure Data, really rocks.

or even if you can't! I use Max and to a lesser extent Pd, but > 90% of my actual work is done in Scheme or in C running inside them. Many advanced computer music people wind up doing this sort of thing because the graphical environments just can't be beat for quickly lashing together an environment for interaction, where interaction could be GUI, midi, network/OSC, customer hardware over serial, etc.

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

#78

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…

As a total outsider to the audio programming world, what's the best in class framework / environment to be writing plugins in in 2022 if one were to start today?

As an alternative to JUCE, you can use write VST with Rust, using EGUI lib:

https://github.com/DGriffin91/egui_baseview_test_vst2

Audio lib choice:

- https://github.com/RustAudio/dasp

- https://github.com/SamiPerttu/fundsp

- https://github.com/chaosprint/glicol

Typically, you can use MIT license in Rust community.

In this video demo, you can even live coding audio effect in DAWs with Glicol as VST plug-in, built with EGUI:

https://youtu.be/tmmBhBmIEW0

Apparently, you can use the same combo to make your own.

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

#79

Earlier quoted context omitted.

As a total outsider to the audio programming world, what's the best in class framework / environment to be writing plugins in in 2022 if one were to start today?

As an alternative to JUCE, you can use write VST with Rust, using EGUI lib: https://github.com/DGriffin91/egui_baseview_test_vst2 Audio lib choice: - https://github.com/RustAudio/dasp - https://github.com/SamiPerttu/fundsp - https://github.com/chaosprint/glicol Typically, you can use MIT license in Rust community. In this video demo, you can even live coding audio effect in DAWs with Glicol as VST plug-in, built with…

Realistically, the hard parts of writing a plugin are:

1. understanding the DSP behind it

2. correctly implementing the GUI

I have yet to see a mechanism by which language choices really help with the problems of either of those aspects of the job.

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

#80
post #75
post #64

Earlier quoted context omitted.

What are you talking about? SuperCollider is licensed under GPLv3 [1]. [0] https://github.com/supercollider/supercollider#license

Exactly. Any product you produce must include full source code, at which point anyone can legally post all your code on the internet. So - very difficult to build a commercial software product with it.

The entire source code of Ardour is posted on the Internet. Nevertheless, it has no known bad-intent copies, and generates more than US $200k/yr. It is also the basis of two products generally viewed as "commercial", even though they are also GPL-licensed.

Almost all of the source code of VCV Rack is posted on the Internet. There have been a few forks for specific reasons, but it's almost certainly the most widely used software modular synthesis in existence, and has created both a paying job for its creator and a mixed libre/paid ecosystem for module developers.

The entire source code of Vital, one of the most acclaimed software synthesizers of 2021 is posted on the Internet. The author (Matt Tytel) makes a living from his work.

The definition of commercial might be a little wider than you think.

Finally, there are several ways to use SC in a product that do not involve the GPL. You fire up sclang as a separate process, feed it SC code, and sclang controls the server. Nothing you write is linked to anything GPL licensed.

Post reply on HN