WeeklyBeats #27: Jhol Momo

Here’s my 27th free track written within the preceding week.

A photo of cows standing in a hilly paddock, with a clear blue sky above and the moon visible in the day.

Aims this week

This week things I tried to do differently to usual were:

  • Build a system to spit out the notes
  • Don’t try to flesh out the low end – my subwoofer died😭

Reckons

This came together really quickly and, like a lot of semi-generative stuff, had me wondering “where am I in all of this?” But it’s still a lot of decisions I made, it just resulted in a whole track’s worth of music very quickly, I guess.

Process

I built a system for generating notes, played on piano. I picked a key, tempo and time signature. I set up a looping midi clip to just play a note every 4 bars. Then I basically told my DAW that every time that note plays also play an octave below, a fifth above, and an octave above. Then humanise / randomise the timing a bit so they don’t land on the beat. Then make midi echoes of each note with different delay times and transpose each successive echo up or down within steps of the key I had chosen. After that, quantise the timing of the notes again to 16ths. I loaded up Felt Instruments’ Lekko for the sound. For those using Bitwig, the above is just a series of Note FX you might be able to guess: Multi-Note -> Humanize -> Echo -> Quantize. Then I used Curves modulators sent into Sample and Hold modulators on the Echo device, changing delay time and pitch.

I recorded a run-through of this note data, effectively exporting the output of the above system and decided I was happy with the first pass, so kept that. I did this so I got a repeatable output – otherwise each time I hit play on the track the above system would do something a bit different.

I copied the exported notes to a new track and played it on a mono synth. I changed the start point to some arbitrary number of bars in, and off the beat, so these notes land between the piano notes. The result is that what the synth plays is not what you just heard on piano. By making the synth mono it also feels quite different – any time more than one note is sent to the synth at once from memory it only plays the lowest note received. I sent the synth into a big washy reverb that ducks under the dry synth signal a bit. Listening through, I made manual deletions to moments where I thought things were getting too busy or it just sounded better to let the piano have more room.

I wrote the final phrase of the piano, just to have things conclude a bit more traditionally, on the root chord of my chosen key.

I added a little percussion. I sequenced short loops of synthetic kick, clap, and hihats, using my DAW’s built-in drum synth devices. I heavily, noisily processed these. There are two instances of Unfiltered Audio’s LO-FI-AF in parallel, with the noisier instance fading in and out kind of arbitrarily, not in sync with the track tempo. Both of these run into a clipper, a limiter, and a gated reverb. Then I set up a saw shaped LFO to fade the whole lot in over 4 bars. I made the whole thing pretty quiet and arranged it over the piano and synth parts so it shows later in the track and I think only 4 times from memory.

At this point I decided to make the tempo rise and fall every few bars, throughout the track. I drew automation to from about 66bpm to 77bpm over a bit more than a bar, and copied and pasted that pattern out across the length of the track. Given things are pretty stop and start I don’t think this sounds as seasick as you might imagine, it just fakes a bit of a rubato feel.

Lastly, a few days later, I made distorted, glitchy loops from the first piano chord. I just exported audio of the first 4-bar phrase from the piano part, loaded that into a sampler, split it up and got maybe 4 splits looping at different speeds, playing all at once. I set long, slow envelopes on these loops so they start abruptly (like right at the start of the finished track) and then fade away over 8 bars. I sent the results into some angry distortion, then a big dotted delay, and then turned the final results down a lot. I added this to the arrangement so it happens most of the time, but with some pauses / respite.