The Premise
So I was watching a video from Dan Koe the other week where he talked about how AI tools are coming for jobs (which is no shock, of course). And he suggested that if you want to stay ahead of the curve, a good step in this direction is to try to automate yourself out of your own job.
That seemed like a crazy idea, but it kinda resonated with me for whatever twisted reason, so I decided to give it a go. I started analysing what I do as a musician, which is extremely time-consuming and could be potentially automated.
I managed to come up with some ideas, like writing some scripts that help me import some track templates and even load some pre-saved drum rhythms to help me save some time. Of course, my using Reaper made this a lot easier since Reaper is built for such things and has an entire API just ready to be used.
Of course, trying to learn LUA on short notice was time-consuming in itself, so I outsourced this to ChatGPT, which proved to be quite successful in creating what seem to be quite basic scripts.
However, the next idea required something more…
The Next Step
Given my current situation, I don’t have as much space as I would like in order to leave my MIDI controller always connected, and I don’t have a digital piano, so trying to experiment with chords is a bit…tricky.
And given that in the past I used to manually input chords a lot in my tracks, I figured…why not create a plugin for that?
Of course, this could potentially be done in Reaper only (which I did), but I wanted to also make it DAW-agnostic. This required me to start learning a bit about the JUCE C++ framework, which is very commonly used for creating plugins.
The last time I coded anything in C++, however, was probably 2013, so I needed help, because I wasn’t going to spend the next few months on this learning curve. So, I went to ChatGPT again and started coding this thing.
It was a lot of trial and error, but I managed to get it working. And to my great joy, it does exactly what I want it to do:
Load up all possible notes
Load the chord types
Add chords to a section, which can then be exported as MIDI and imported into the project you’re working on
While not the greatest marvel of coding in the history of the world, it does exactly what I need it to do. If you’re curious about it, it’s available for free on KVR Audio or on my GitHub page.
Observations And Recommendations
The generated code wasn’t fully functioning at first, especially when I had to work on the drag-and-drop aspect of the plugin. I am still not fully satisfied with how it came out, and I do plan on improving it in time, and also creating a more premium version that has extra functionality.
If you’re someone who has never coded before, starting such a thing is not going to be easy. As a former software developer, I had a pretty good idea of what potential fixes were required for certain aspects of the plugin (basically, if something went wrong, I had a hunch at what could possibly be wrong and asked the GPT to focus on that), but if you’re someone who hasn’t coded in a backend language like C++, it’s going to be quite the challenge to figure out what’s going wrong quickly.
And if by some probable event you are switched between models because you run out of free…um…answers, I guess, it’s going to be noticeable in the output code.
Final Notes
I am fully aware that generative AI is kinda bad for artists, which is why this plugin doesn’t really automatically generate a finished song. Rather, it helps you lay out some chords, but you still need the virtual instrument (or a real one) to play the generated notes. Honestly, in my mind, it feels like a basic version of this premium plugin here.
I will continue improving it, as it’s something that will speed up my songwriting process quite a bit. But the end goal will be to help other producers as well, so I will also need to work on making it more intuitive and user-friendly.
So yeah, that’s about it for this one :)).
You can listen to my music on Spotify and YouTube (and of course, all other music services).
If you enjoyed this text and want to support my work, you can do so by buying me a coffee (or rather, beer in my case). Just click the button below to get started!