Today we’re happy to introduce our latest Player, Bassline Generator! Mattias asked me to write something about how this came to be and how we did it, so here we go! Warning, long text ahead.
First of all, we like doing Players. While an instrument can be inspiring with new sounds and an effect can be very useful, Players are unique in that they help you with the actual music—creating new ideas, providing a musical backbone, changing notes and so on. For me as a product designer, they’re also extra fun to make because I can dive deep into the underlying functionality and decide how things work™_ (without having to learn dsp programming). And hopefully also make use of some musical knowledge I’ve gathered over the years.
When we decided on doing a Player specifically for bass, I started thinking of bass lines.
A lot of music doesn’t really use bass lines; there is bass, but it plays the root notes of the chords only. Sometimes there’s even just a long bass note, sidechained to the beat. Then again, other styles rely on interesting, driving, syncopated—yes, funky bass lines. That’s the area we wanted to explore. (Full disclosure: I used to play in a funk band. Keyboards, not bass, but still. It rubs off.)
We wanted our Player to generate notes not randomly (like Quad Note Generator) but based on predictable rules (like Beat Map), so that if you set the parameters in a certain way you could rely on it to sound the same the next day. Also, it couldn’t just generate notes ad hoc—basslines have a strong relation to the root note and favors certain intervals and beats much more than others. We decided to try something similar to Beat Map: seeding the Players with premade musical material.
However, it shouldn’t feel like using readymade bass loops—it was crucial that you could have control over the result and get bass lines with enough variety based on your settings. This is where the prototyping started. The first idea involved separating rhythm from pitch and recombining these in various ways.
It didn’t work. Well, it worked, but the results were not great.
Next, we came up with the idea of separating the bass lines into “fundaments” and “ornaments”, something which crystalized into OnBeat and OffBeat notes. This worked much better! We also realized that bass lines are different from drum patterns in that you more often need to do small adjustments to the generated bass line—changing a pitch there, removing a note there—to fit your music. So we decided to add a graphic sequencer display, of sorts.
At this point, our designer Andy started doing proper graphic design, leaving my weird “BassFace” and “Bass Camp” wireframes behind. Meanwhile, we asked some sound designers to provide four-bar basslines. These were then painstakingly separated into OnBeat and OffBeat patterns and shipped off to Niklas of Robotic Bean, who created bare bones Player prototypes where we could mix, match and sort the basslines and see what worked and what didn’t. This took a lot of time but was a lot of fun. And funk, occasionally.
While we were tweaking the source basslines, lots of other features fell into place: Note Range, Variators, CV connections and so on. The GUI started to look good and Niklas built more and more complete alpha versions.
Meanwhile, there was music happening. Syncopated house lines, funk noodles, hip-hop thumps. And now and then, when the BPM climbed over 130 and the bass synth was squelchy and resonant, a hint of Reason Studio’s deep techno roots!
We had a lot of fun with Bassline Generator. I hope and think that you will like it too!