Chris Beckstrom’s
Sound Blog

Septembeat 17

, ,

This one is fairly intense! I tried some new things here, including writing less Tidalcycles code to keep things simple. You wouldn’t know that listening to this, but the code isn’t too complex. It’s basically homophony, where everything more or less plays the same rhythm. I recorded the Tidalcycles output into Reaper, added some processing (mostly spectral using Plug Data, Pure Data embedded in a VST plugin), and some editing and time stretching. And voila! Another weird piece of music that I’m very proud of.

Everything plays the same pattern, this:

t*4 t*4 t*12 t*8 t*4 t*2 t*1 t*6 t*5 t*4 t*7

You could think of the “t” as 1 bar or cycle, and the numbers represent how many times per bar an event should happen. In this case, it means in the first and second bars there are 4, third bar 12, fourth 8, and so on. This repeats throughout the track. There is some alteration (“scramble”, “bite”, “ply”, “stut”, etc) but the track is entirely based on that pattern.

Here’s the code:

do
 let pat = sb 0.1 (ply 2) . sb 0.2 (fast 2) . st "<t*4 t*4 t*12 t*8 t*4 t*2 t*1 t*6 t*5 t*4 t*7>"
 let randpan = (fast 0.8 $ pan (perlin))
 p "s" $ every 7 (scramble 16)
         $ whenmod 15 14 (within (0.25,0.75) (bite 4 "{0 1 2 2 2 0 0 0 1 2 1 0 0 3 1 3 3 2 0 1 2}%4"))
         $ every 9 (rev . stut 2 0.6 (1/16))
         $ whenmod 15 14 (ply 2)
         $ whenmod 20 17 (ply 2)
         $ stack [
         pat $
         stack [
         s (wrandcat [("kicks:22",0.9),("kicks:11",0.2),("kicks:99",0.3),("kicks:10",0.6)]) # gain 1 # shape 0.2 # o 1,
         cat [
             (
               (13~>) $ sb 0.2 (# speed 2) $ s "gspec1" # n (wrandcat [(0,0.7),(1,0.5),(2,0.3),(99,0.3),(103,0.5),(110,0.5),(132,0.9),(160,0.3),(67,0.2),(420,0.5),(116,0.1)]) # cut 89 # legato 4),
               (13~>) $ sb 0.2 (# speed 2) $ s "gspec1" # n (wrandcat [(0,0.7),(1,0.5),(2,0.3),(99,0.3),(103,0.5),(110,0.5),(132,0.3),(160,0.3),(67,0.9),(420,0.5),(116,0.6)]) # cut 89 # legato 4,
               (13~>) $ sb 0.2 (# speed 2) $ s "gspec1" # n (wrandcat [(0,0.7),(1,0.5),(2,0.3),(99,0.3),(103,0.5),(110,0.5),(132,0.2),(160,0.3),(67,0.9),(420,0.5),(116,0.1)]) # cut 89 # legato 4,
             ( (13~>) $ sb 0.2 (# speed 2) $ s "gspec1" # n (wrandcat [(90,0.5),(189,0.2),(200,0.9)]) # cut 89 # legato 4)] # randpan,
         db "<1 1 0 1 1 0 0 1>/3" $ (11~>) $  s "g3:8" # legato 1 # sus 0.1 # gain 0
         ]
         (9~>) $ db "<1 1 0 1 1 0 0 >/5" $ pat $ s "g3" # n (wrandcat [(0,0.7),(1,0.5),(2,0.3),(99,0.3),(103,0.5),(110,0.5),(132,0.9),(160,0.3),(67,0.2)]) # legato 1 # gain 0.6,
         (98~>)  $ db "<1 1 1 0 1 1 1>/7" $ pat $ s "db" # n (wrandcat [(0,0.7),(1,0.5),(2,0.3),(997,0.3),(103,0.5),(110,0.5),(132,0.3),(160,0.3),(67,0.2)]) # legato 1 # gain 0.5 # begin 0.1 # sus 0.3
          sb 0 (rev . stut 9 0.05 (1/32)) $  db 0.78 $ pat $ s "g3:32" # gain 0.7 # legato 1 # sus 0.1
     ]

hush

A view of the Reaper DAW with some parameter modulation and edits

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.


more sound blog posts