I have been using FL Studio for years. It was easy to pirate when I was younger and broke, and it’s still flexible enough for anything I want to do now without hassle. (The license these days is “meh” for clips and plugins. However, I am designing and beginning to record most of my own instruments now with a core set of plugins.)
I would like to experiment with an open source DAW, but not sure which routes to take there.
Ardour is the best FOSS option, but I personally like REAPER a lot more because it has extremely flexible routing, JS plugins whose code you can read and edit within the DAW, and extremely flexible interface design that you can fit into any workflow. Also REAPER works on Linux. REAPER allows you to use the free trial indefinitely with full functionality (although I do own my copy, and it’s one of the few pieces of software I think is worth paying for).
Have you ever done any plugin development for REAPER? I dug into the JUICE framework for VST2/3 for a bit, and came out of that experience a little suicidal. (Kidding… mostly.)
JS code seems like something I could do if it allowed for some of the realtime processing that C++ can handle. (Comparing a scripting engine to what is essentially a separate complied app is likely a pipe dream, I know.)
I’ve dabbled with JUCE, and I have a couple projects in mind that I’m definitely going to do with JUCE.
JS is way easier than JUCE. It can absolutely do real-time processing.
The limitation IMO is that you’re “stuck with” REAPER’s GUI style, you can’t take advantage of external C++ libraries, and you have to have REAPER or ReaJS or some other program to compile your JS code. If you just want to write a helper plugin, get your feet wet, or target only REAPER users, JS is a fantastic place to start. Here is REAPER’s introduction to JSFX. You can probably read it in a night.
JUCE is, IMO, the “professional” option for plugin development, but happens to also be FOSS. Besides its signal processing and math abstractions, it also has a ton of stuff for generating custom GUI. If you paid for a plugin in the last 10 years, chances are it was written with JUCE. If you plan on commercializing a plugin or you just wanna go the whole hog and make it beautiful and cross platform, JUCE is the way to go. But yes, it is extremely complicated 😂.
I strongly recommend watching ADC (Audio Developer Conference) videos which are affiliated with the JUCE developers and usually offer code samples for talks where code is used. Additionally, MatKat did a free in-depth tutorial on how to write an EQ plugin with JUCE.
Beyond that, there are other choices, like RACKAFX, but IMO JUCE is the best choice unless you plan on keeping your plugins to yourself.
Actually, for plugin development, REAPER is a no-brainer IMO (even on Linux with YaBridge) for testing (other than JUCE’s plugin debugger) because it has some compatibility settings and knobs you can tweak with regard to how it sees VSTs.
Rock on! Thanks for the info, experience and opinions.
You probably saved me hours of research and chasing dead ends, so that was awesome.