Well, that was interesting.
I told you guys I’d check back in when I was ready to build loops, so here I am. As you know, I’ve been building out progression sets for an upcoming mixtape I’m working on, and this is the second post I’m doing to document that process. This will really be 33% mixtape, 33% playlist, and 34% science project.
I’ve chosen to mine 80’s pop hits for this effort. The first step of course is to gather a collection of clean acapellas. The fact that I’m only using free files and the general lack of selection available for isolated vocals online limits the possibilities. I won’t reveal my list now - I’d like that to be somewhat of a surprise as I work through. Suffice it to say that I have one. Anyway, from there, the process for each song will be relatively the same:
Figure out the tempo and key signature of the original recording
Analyze the chord progressions of the song in its entirety, including duration
Reduce those chords to intervals using roman numeral notation
Note any modulation that occurs
Transpose all of this data into a valid XML prgression set for the Aleator plugin to consume
Build melody approximation XML file
Debug the plugin against the data to make sure all of the files are compatible with respect to beats/duration
Load the isolated vocal into the DAW
Target the appropriate tempo and key signature with the plugin and experiment to generate different versions of the song
I have done this once before with Abstract Factory, which I invite you to listen to if you haven’t already. That was much easier than what I’m doing now because...well...it’s all rap. With most rap you aren’t worrying about specific chords when you do this; the exceptions would be sing-songy stuff like Nelly or Drake (or a lot of other rappers these days) do frequently where entire song is basically a hook, OR a situation where the hook is really the focal point of the song. Nothing I selected for Abstract Factory fell into either category, so I was free to reuse progression sets that I had already created. I just had to make sure that I was targeting the correct tempo and key signature so whatever hook existed was actually in tune. It made for some really interesting and fun results. Event though Abstract was rendered with the previous version of the Aleator and the output was much cruder than what I'm able to produce currently, this all made for some interesting and fun results.
A few months ago, I attempted to randomize the Simple Minds song Alive and Kicking, one of my favorite (non iconic) 80’s pop songs. Ultimately I came to realize that the acapella I had was too dirty to use. Lesson #1 - listen to your vocal iso thoroughly before proceeding. Almost as important though was the fact that the main melodic motif is so central to the song overall. It’s so powerful that eventually the vocal begins to mirror it. When I was running loops, I just kept wanting to hear that melody and I think anyone else would as well. It made rendering the song in any other way seem pretty pointless. So, that really adds another wrinkle to the selection process - I want something nostalgic with really memorable vocals that can afford to have the lead INSTRUMENTAL melody (and everything else) replaced generatively.
As I mentioned in the previous post, the next song I’ve attempted to randomize is New Edition’s Count Me Out. Why Count Me Out? Because it seemed I had no shot of finding a Cool It Now, Candy Girl or Popcorn Love acapella for free...it was really that simple. Anyway, this one is gonna work, but I did run up against some issues with tempo. A lot of these 80’s songs are built on loops that were recorded without click tracks. That means that while a song might be listed online at a certain BPM, it’s possible you get some drift when trying to sync. There’s also the fact that a lot of (all?) online resources list BPM as a whole number when the true BPM is fractional. Count Me Out is listed as 120 BPM, but if I let the Aleator run at 120 for the entire song, the vocal falls waaaaaay behind by the end - it’s not even close. A tempo of 119 BPM is much too slow, so the truth is somewhere in between, which my plugin can’t target. This resulted in me chopping up the vocal to re-sync every few measures; not ideal and a complete pain in the ass.
I am finally at a point where I can generate different versions of the song at will. Here is the initial run:
Not that great actually, but good enough that I’m comfortable I’ll eventually get something that is. Unfortunately, I’ve listened to this song in various states so many times over the past few weeks that I’ll probably punch my monitor if I hear it again (no offense New Edition), so I think now is a good time to move on to another tune. This will probably be my method for the mixtape overall - go through and do an initial setup of all of the songs, then come back around and do another pass where I actually generate versions I want to use.
As for the next tune…
I’ve wanted to cover this song since forever...never imagined I’d just have my computer do it. I’ll be back soon with a breakdown of my approach to melody generation. It’s a work in progress.