Live data from Hacker News

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

elementary.audio

81–90 of 110 posts

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

#81

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?

You have to use the steinberger SDK to make a vst

https://github.com/steinbergmedia/vst3sdk

But audio plugins come in many formats.

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

#82
post #68

Earlier quoted context omitted.

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.

That is interesting.

I have not gotten that far yet.

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

#83

Earlier quoted context omitted.

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.

The visual programming languages tend to have really thorough guides on the DSP - max/msp's built in docs in particular, but pure data and external libraries are super in depth too. They also tend to have horrible GUI practices...

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

#84

Earlier quoted context omitted.

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.

I agree with the first half. For the second half, I think for beginners, the examples are very important. From this perspective, many Rust projects comes with examples:

https://github.com/RustAudio/vst-rs

Once following the readme, it is very easy to get it work in your own machine. Then beginners can play around the examples, tweaking parameters, etc. while learning new stuffs with books or online resources.

Rust audio has also got a very helpful Discord community where beginners can always ask questions.

For the GUI part, I am not an expert, but there are more and more Rust GUI libraries (egui, iced, druid, rui): among them, egui-rs and iced-rs can all be used for VST. Still, there are some examples to get started with.

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

#85

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…

SC is typical OOP language. From this perspective, the raw Web Audio API or Tone.js are more relevant for SC.

This Elementary Audio prefers FP, which makes it quite different and I think it has the potential to be very friendly for beginners. But the docs need a lot of more works there.

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

#86
post #75

Earlier quoted context omitted.

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

Paul, I am very happy to hear that Ardour is succeeding in supporting you. While I'm not really using Linux these days for audio as I'm doing my Scheme in Max stuff now, your contributions were very influential to me back in the oughts when I was, and I remember learning a lot from your posts on various linux audio forums. It's heartwarming to know that the work is succeeding in making a good lifestyle business for you. :-)

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

#87
post #75

Earlier quoted context omitted.

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

So is one of those Harrison MixBus? It would be nice to hear that worked out. What's the other? (or both if I'm wrong on the first count)

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

#88

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…

I guess another thought, mind you, is that Elementary doesn't need to succeed for hard core audio devs in order for it to succeed as a business - it just needs enough people who think they will succeed. If this turns out to be a great tool for casual or beginner plugin devs, I could see that being a valid market. Witness the explosion of casual Ableton Live plugin devs from Max for Live. I'm sure the vast majority of JUCE licenses don't wind up becoming sustaining businesses too, and the barrier to entry is a lot higher there. Whether those folks will get to the point of paying a license fee is the million dollar question I guess.

Ain't nothing wrong with selling pickaxes to miners and all that....

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

#89

Earlier quoted context omitted.

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

So is one of those Harrison MixBus? It would be nice to hear that worked out. What's the other? (or both if I'm wrong on the first count)

Mixbus is one, Waves Tracks Live is the other (but is now discontinued, for reasons largely unrelated to the product itself).

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

#90
post #83

Earlier quoted context omitted.

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.

The visual programming languages tend to have really thorough guides on the DSP - max/msp's built in docs in particular, but pure data and external libraries are super in depth too. They also tend to have horrible GUI practices...

Actually I am teaching both pd and glicol in the University of Oslo this semester. It's even quite surprising to me that most students seem to gain more logic programming ideas from pd (such as the counter and metro controlled sequencer) while learning more dsp from glicol and its browser console based docs: https://glicol.org

Of course, Miller's book is always there http://msp.ucsd.edu/techniques.htm and the examples are in pd, which is always helpful for learning dsp.

Post reply on HN