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?
Elementary Audio: a modern platform for writing high performance audio software
71–80 of 110 posts
Re: Elementary Audio: a modern platform for writing high performance audio software
#72Earlier 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/
Re: Elementary Audio: a modern platform for writing high performance audio software
#73To 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
#74Earlier 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).
This page does mention GPL3: https://juce.com/get-juce
Re: Elementary Audio: a modern platform for writing high performance audio software
#75Earlier 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
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
#76Re: Elementary Audio: a modern platform for writing high performance audio software
#77Earlier 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.
Re: Elementary Audio: a modern platform for writing high performance audio software
#78It'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?
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:
Apparently, you can use the same combo to make your own.
Re: Elementary Audio: a modern platform for writing high performance audio software
#79Earlier 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…
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
#80Earlier 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.
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.