RYTM patch overview

As per the following Instagram post, a comment came up asking what was going on with the RYTM synth:

View this post on Instagram

A post shared by kindohm (@kindohm_) on

RYTM Pad Patches

This is a rough overview of what is going on:

There are also three scenes being used. Each patch is tweaked a little bit to provide variation. e.g. on Scene 1, the kick on RS 3 has a longer decay; on Scene 1 the kick has a longer sweep time, etc.

Also, each pad has a judicious amplitude envelope applied to explicitly control long decay tails or to suddenly cut off sounds.

My preference is to use the RS3 and CP4 pads for the kick and clap/snare, respectively. The reason for this is because they choke each other. If there is a long sound on one of those two pads, and a short sound on the other, then I find it very satisfying when the long sound gets prematurely truncated if the other pad fires. It's arguably another source of variation in the entire kit.

Sequencing

Everything is sequenced from TidalCycles. I do not use the on-board RYTM sequencer. I mainly use the RYTM as a synth.

TidalCycles is sending note on/off to trigger everything, and is also sending CC's to vary the pad sounds on each step. You've heard of parameter locking on the Elektron sequencers... imagine that but based on live-running functional code/logic instead of manual pre-set tweaks.

An example: on every hit of MT7 (FM percussion patch), the filter cutoff frequency is different. TidalCycles is randomly assigning a different frequency in a range of values.

As for sequencing the pad hits, it's all computer code, and that's more of a TidalCycles topic. The kick, snare, percussion, sub, and other sounds are all being triggered according to various rules in code.

For what it's worth, below is the TidalCycles code that is sequencing the RYTM in this track. I've customized TidalCycles quite a lot so that it is faster to write code against the RYTM directly:

p "rytm"
$ (|* gain 1.2)
$ dg6
$ shift
$ stack [
-- kick
sometimesBy 0.2 (off 0.0625 id) $ shift
$ ssb 0.3 (slow 2) $ struct "{1@6 1@6 ~ 1@5 1@7 ~ 1@6 1@5 ~ ~}%16" $ pad3
-- snare
, slow 2 $ struct "{1@10 1@9 1@8}%16" $ pad4
-- hat
, sb 0.1 (# pad12) $ shift $ ssb 0.5 (slow 2) $ shiftBy 89
$ foldEvery [2,3,4] rev $ struct "{1@1 1@1 1@2 1@1 1@3 1@5 1@2 1@1}%16" $ pad11
-- sub and fm
, sb 0.5 (stutWith (shiftBy 38 $ choose [2,3]) (choose [0.125*3, 0.0625*3, 0.125, 0.0625]) ((# pad7) ))
$ roll 0.3 $ rollSlow 0.5 $ foldEvery [3,5,7] (0.125 ~>) $ pad8
-- fm cc
, shiftBy 2 $ fast 8 $ rytmfilterfreq # ccv (range 80 127 $ shrand 80) # pad7
-- snare len
, fast 9 $ perf4 # ccv (shiftBy 8300 $ choose [0,127])
-- scene
, fast 4 $ gain 1 # scene (choose [0,1,2])
] # rytm # cps (160/120/2)

Other sounds

I'm also sequencing the Harmor synth and a VST effect called Fracture both in my DAW over MIDI from TidalCycles. Harmor is doing the background drone sounds. Fracture is adding various glitches on an FX send.

← Home