Absolutely hilarious to assert that "everyone at OpenAI is trying to do the right thing" and then compare it to Los Alamos, the creators of the nuclear bomb.
Reading this on 4chan in high school is what got me into science fiction. Brings back memories! Very happy that Andy Weir got his due with The Martian.
If you're interested, Steve (Albini) goes into detail about his father and his contributions to wildfire science during an interview on the Marc Maron podcast. It's fascinating listening.
Hey, I'm a long-time music producer and I'm dying to get into this exact kind of work - writing plugins and eventually synthesizers from scratch.
I'm curious what your path was to get to the point where you can write an audio plug-in from scratch - I noticed you're using the JUCE framework, and that's about as far as I got and I never really escaped tutorial hell.
I would absolutely recommend using JUCE-- it is very well documented, with an active forum full of helpful people.
When starting out, the first plugin I made was a gain/panning plugin, then a simple saturation plugin. These are good ones to start out with, since the output for a sample only depends on the input of that sample, and not the samples before it. After that, I would recommend making a delay plugin: there are a lot of opportunities for creativity with delay, once you have the basic code down.
The plugin project structure can be a bit confusing at first, especially in the interaction between the GUI code and the audio processing code. The tutorials are helpful for that: once you've copied a tutorial, you can try expanding it, adding more knobs etc.
I completely agree with your comment and would like to emphasize the part of about the delay.
I wrote a toy synthesizer for the ESP32 where I used STK for the bulk of the synthesis. That was pleasant endeavor but the real pleasure started when I wrote my delay effect. I had so much fun adding features like multiple playback heads with separate feedback and volume.
Another fun thing to implement was the apregiator and something that I call a scaler¹, I learned so much about music theory while doing this.
1- There is probably a name for that effect where you choose a scale and if the effect receives a note outside, it outputs the closest note in the selected scale.
edit: I forgot to add that your plug-in is awesome
>There is probably a name for that effect where you choose a scale and if the effect receives a note outside, it outputs the closest note in the selected scale.
If you want to learn JUCE, one of the best things you can do is clone every single repo in Sudara's wonderful juce-awesome list, and every week do a mass update of the repositories - you will learn a lot as there are some projects which really push new updates hard each week, and just learning what was committed will give you a great path to learn things ..
Some truly wonderful things in there to learn from - starting with basic plugins, all the way up to synthesizers and a full DAW. Be sure you mine that resource!
Since it hasn't been mentioned already, check out The Audio Programmer on YouTube [1] and Discord [2].
The JUCE forum [3] is also incredible useful and friendly place for "noobs", I'm always happy to see how non-toxic it stays 99.9999% of the time.
That said, you'll need something above "noob" C++ knowledge, as that community isn't really so into helping people with C++ basics, but if you have questions about the framework they're always happy to help. The TAP Discord has a channel that's probably a better place to ask audio plugin related C++ questions.
There's also PureData which is free/FOSS. I prefer Max if I'm using a visual dsp language, but PureData can technically do everything Max does, tends to have wider support for 3rd party programs (I have a guitar pedal that can load PureData files for example) and like I said it's free. There are ways to turn it into a VST, as well as some VSTs that are just PD runtimes so you don't need to compile it[0]. And it's by the same person who created Max.
Reaktor is the most difficult for me to work in, that might just be because I learned the other 2 first. But you get their library of pre-built components which is nice. Want an exceptionally accurate Moog filter in your effect? Just drag and drop the one they've already made.