3 ms·
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 w
by fogbeak 3y ago
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.
- ace2358 3y agoHi there, I’m in a similar situation!! Would like to write my own things at some point. For me I’ve looked at using the new Max VST compiler https://cycling74.com/products/rnbo https://cycling74.com/products/rnbo Great for prototyping ideas. There is also native instruments Reaktor which is also awesome for low level dsp prototyping. https://www.native-instruments.com/en/products/komplete/synths/reaktor-6/ https://www.native-instruments.com/en/products/komplete/synt... These tools are for creating the algorithms before programming them in text.
- squeaky-clean 3y agoThere'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. [0] https://news.ycombinator.com/item?id=33302905 https://news.ycombinator.com/item?id=33302905
- deleted 3y ago[deleted]
- wildergarden 3y agoI 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.
- nick__m 3y agoI 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
- boffinAudio 3y ago>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. Pitch quantization.
- richrichardsson 3y agoSince 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. [1] https://www.youtube.com/c/TheAudioProgrammer https://www.youtube.com/c/TheAudioProgrammer [2] https://discord.gg/fdV4npvnmK https://discord.gg/fdV4npvnmK [3] https://forum.juce.com https://forum.juce.com
- boffinAudio 3y agoIf 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 .. https://github.com/sudara/awesome-juce https://github.com/sudara/awesome-juce (Direct link to the raw data here: https://raw.githubusercontent.com/sudara/awesome-juce/main/sites.txt https://raw.githubusercontent.com/sudara/awesome-juce/main/s...) 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!