"simple effective hihat strategies" recreated in Tidal + just say hi from Shanghai!

hi! I'm new here :wink: coming from a machine learning / python background, discovered creative coding + tidal 2 weeks ago and have been addicted every since! do literally all of the following everyday: writing haskell + learning music theory + listening to techno performance + bookingmarking every thread in Tidal Club.

So I was trying to catch up on sound design + music theories in general and found this guy's channel and he's putting some great classes out there (I'm not affiliated with him in any form whatsoeverrrr)
For example this video I found particularly accessible and useful:
simple effective hihat strategies -

so I try to recreate this in Tidal.

Any feedback is welcome, regarding this snippet (tidy up, improve the code, etc), or methodology in general - does following a more traditional school of producing kinda defeat the purpose of "GENERATIVE art" or "algorhmic art"???

setcps (135/60/4)

  $ stack [
  -- foundation kick clap
  s "808bd:6!4" # gain 1.2,
  s "~ clap:7 ~ clap:7" # gain 0.8,
  stack [
    -- ride cymbal, every 8th on the upbeat
    s "[~ 808cy]!4" # hpf 800
      -- swing a little bit too
      # release (range 0.3 0.7 sine),
    -- hh choking pattern with a little swing
    -- technically this is not what the video says (?) but I find this sounds nice too
    swingBy 0.01 4 $ s "[~ co:3]!4",
    s "hh*16"
      -- shape
      # rel 0.4 # sus 0.1 # decay 1
      -- LFO swing this, can map to gain/release/whatever
      # gain (slow 4 $ range 1 1.2 sine)
      -- random pitch swing and pan
      # (every 2 (# speed (rand + 0.5)) $ every 3 (# pan rand) $ n "0")
  ] -- reverb
  # room 0.3 # size 0.3 # dry 0.7 # hpf 1000


It's in the minority but I really enjoy using Tidal in this way, using live coding to develop a sound, and then lay it all out properly as you've done.

From a coding point of view, the dominance of live coding means that many opportunities for abstraction are missed. As an example, I'd be interested to know which of all the numbers in your code snippet is aesthetic and what might be technical. By technical, I mean are there any relationships between any of the numbers (or patterns) such as if you turn one number up, you must turn another one down (for it to be the sound you're trying to define). Another way of saying this is, can you turn this snippet into a function with only a few parameters that are all reasonable hihat strategies?

1 Like

thank you for your thoughtful response, quite mind opening

There is no right or wrong way to do something as long as you're having fun. If it's fun, then throw out all the rule books, tutorials, papers, etc, and go for it :slight_smile:

That being said, just because a sequencing approach is familiar or "traditional" doesn't mean it isn't algorithmic.