Chris Beckstrom’s
Sound Blog

Septembeat 10

, , , ,

Here’s some Tidalcycles sound plus Hydra visuals. Experimenting with Hydra listening to Tidalcycles and changing the visualizations based on sound. It’s pretty glitchy in many ways, some of it on purpose, some of it due to the limitations of my computer. It doesn’t like playing 20 different samples 100 times every beat… for some reason. That’s ok, I embrace the glitch.

The video (WARNING! Flashing and strobe-like animations):

Flashing/strobe warning!!

The Tidalcycles code:

bpm 110

do
  let something = 4
  let somethingelse = 420
  -- new functions
  let rect x y = stutWith x y (# gain 0.7)
  let buzzy x = chop x . (#crush 10)
  let slicey = fast 16 . striate (choose[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) . (# hpf 200) . (# gain 0.85)
  let randpan = (fast 0.8 $ pan (perlin))
  let rip a b p = within (0.25, 0.75) (slow 2 . rev . stut 8  a b ) p -- thanks kindohm!
  let blurbdown a  = within (0.25, 0.75) (slow 2 . rev . stutWith 8 a (  (|* speed (-1.9))   ))
  let blurbup a  = within (0.25, 0.75) (slow 2 . stutWith 8 a (|* speed (1.4)) )
  let mess = linger (1/30) . (|* gain 1.02)
  let phaser = phaserrate 0.3 # phaserdepth 0.9
  let vintage =  coarse (range 2 3 $ perlin) # crush (range 8 16 $ perlin)
  let m = shape 0.4 # amp 0.8
  let del x y = delay 0.1 # delaytime x # delayfb y
  p "s"
    -- $ every 3 (within (0.5,1) (linger 0.25 . fast 1.33))
    -- $ linger 0.125
    $ fast 3
    $ (98 ~>) $ sb 0.9 (#phaser)
    $ every 3 (rip 0.5 (1/64))
    -- $ (9 ~>) $ sb (fast 0.34 $ sine - 0.55) (within (0,0.25) ((rect 20 (choose[(1/24),(1/20)]))))
    $ (11 ~>) $ sb 0.3 (# randpan)
    -- $ (101 ~>) $ sb 0.1 (buzzy 8)
    $ every 5 (within (0.25,0.75) (fast 4 . striate 4 . (# gain 0.76)))
    -- $ (87 ~>) $ sb 0.1 (#binshift (choose[0,0.5,1,2,3,5]))
    -- $ (23 ~>) $ sb 0.1 (#smear (choose[0.5,0.75,1,1.5,2]))
    -- $ (102~>) $ sb 0.8  (#real (choose[0.5,0.75,1,1.5,2]))
    -- $ every 2 ( rect 8 (1/32))
    $ every 3 (rev)
    $ every 5 (scramble 4)
    $ every 7 (scramble 16)
    $ whenmod 11 9 (# speed (choose[2,3,4]))
    $ (111 ~>) $ sb 0.12 (rev)
    $ every 7 (db 0.3)
     $ stack [
    (0.25 <~) $ st "[t~~t ~~~t ~t~~ t~~~]" $ s "kicks:67",
    (0.5 ~>) $ st "[<t t*2> ~ ~ ~ ]" $ s "kicks:23" # gain 0.7 # speed 0.8,
    twofour $ s "kicks:180" # shape 0.4 # sustain 0.1 # speed 4 # hpf 300 # del (1/12) (choose[0.9,0.9,0.9,0.7,0.7,0.6]),
    st "{tt~t~~t~~}%16" $ s "kicks:10"  # hpf 900 # speed 3 # gain 1 # sus 0.04,
    (18 ~>) $ db 0.54 $ st "t*8" $ s (choose["db:4","db:3","db:5","db:6"]) # sus 0.02 # gain 0.8 # cut 2 # speed 0.8 # del (1/30) (fast 2 $ choose[0.1,0.5,0.6,0.7,0.9,1.1])
    -- st "<t~~~ ~~~~ ~~>" $ s "vdrum:11"  # hpf 900 # speed 0.25 # gain 0.8
                ] # m

The Hydra code:

a.setBins(6)
a.setSmooth(0.4)
a.hide()
a.setCutoff(0.2)

osc(0.5,0.5, () => (a.fft[0]+2))

shape(2).rotate(1.75).repeatX(10).scroll(200).repeatY( () => (a.fft[0])+1*8 ).scrollX(0.2,0.05).rotate(-0.07,0.07).out(o1)

shape(2).rotate(-1.75).repeatX(10).scroll(-200).repeatY( () => (a.fft[0])+1*8 ).scrollX([-0.2,0.2],[-0.05,0.05]).rotate(0.07,-0.07).scale([0.2,0.2,2,2,2,20,20,20,20,2]).out(o2)

shape(4, () => (a.fft[5]) ).scale(2).scrollY(100).repeat(3).modulate(noise(0.1,0.2)).rotate(0.2,-0.2).diff(o1).diff(o2).out(o0)
a glitchy pattern of black and white hard-angled shapes

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