Initially I was just exploring different visual and audio possibilities, until I had a dream about swimming. Therefore, my later intention and concept were to create a sense of dream where one sinks into the water, discovers and experiences a different fantasy. I referred to ABCB structure, but the C part is mainly variation of materials. 

What I wish I have done better is the interaction between audio and visual. For example, I don’t have much visual changes going on for the buildup to increase the intensity. But overall I’m happy with what I have done. 😀

Update: I intended to create a strong contrast visually from B&W to colorful environment with the help of audio. However it turned out a bit abrupt for some viewers, and I can get the point. So I think it’s good to show things to people and get feedback, which can be different, but will provide insights that we as creators couldn’t sense otherwise.

My Code:

Hydra

osc(10,0.1,0).modulate(noise(()=>cc[0]*1,0.04),0.5).thresh().out()
// ()=>cc[0]*1,0.04
// thresh

shape(3).scale(0.4).scale(()=>cc[0]*4).out(o0)

shape(3).scale(()=>cc[0]*1.2).repeat(6,4).out(o0)

//tin
shape(3).scale(()=>cc[0]*1).rotate().repeat(5).scrollX(()=>(-cc[2])*10).scrollY(()=>(-cc[2])*10).out(o0)

shape(4).scale(()=>cc[0]*1).rotate().repeat(5).scrollX(()=>cc[2]*10).scrollY(()=>cc[2]*10).out()

hush()

s1 = osc(10,0.1,0.3).hue(()=>cc[0]*0.3).modulate(noise(()=>cc[0],0.04),0.5).colorama(0.5)
s2 = osc(10,0.1,1).hue(()=>cc[6]*2).modulate(noise(()=>cc[6],0.04),0.5).colorama(1)

//drop
s2.out()

shape(3).scale(0.5).scale(()=>cc[0]*4).repeat(6,4).out(o0)
s1.out(o1)
src(o2).modulate(src(o1).add(solid(1,1),-0.5),0.001).blend(o0,0.1).out(o2)
solid().layer(src(o2).mult(o1),0.5).out(o3)
render(o3)

//ending
tri = shape(3).kaleid(3).scale(0.6)
tri.scale(()=>cc[5]).rotate(()=>(cc[5])).repeat(5).out(o0)
osc(10,0.1,1).hue(.8).modulate(noise(2,0.04),0.5).colorama(2).out(o1)
src(o2).modulate(src(o1).add(solid(1,1),-0.5),0.001).blend(o0,0.1).out(o2)
solid(0.2,()=>cc[1]*0.2,()=>cc[1]*0.2).layer(src(o2).mult(o1).luma(0.01),0.1).out(o3)
render(o3)

hush()

Tidalcycle:

 

bruh = s "sid" >| note (scale "minor" ("<[0 0 3 4]>(3,8)"+"<2 3 4 7>")) # gain (range 1.2 1.6 perlin) # room 0.5 # lpf 300
bruh2 = s "sid" >| note (scale "minor" ("<[0 0 5 7 7] [0 0 4 2 2]>(3,8)"+"<3 3 4>")) # gain (range 1.2 1.6 perlin) # room 0.5 # lpf 400
bruh3 = jux (# speed "2") $ s "sid" >| note (scale "minor" ("<[0 0 5 7 7] [0 0 4 2 2]>(<3!2 4>,8)"+"<5 3 4 2>"+"e")) # gain (range 1.2 1.6 perlin) # room 0.5 # lpf 400
beats1 = stack[ s "ho:6*4 [~ ho:6]" # gain (range 0.5 0.6 perlin),
  s "bd:4 sd" # room 0.2 # gain "0.7 0.8"  ]
beats3 = stack[ s "ho:6*6 ho:6*2" # gain (range 0.5 0.6 perlin),
  s "bd:4 <sd!3 sd(3,8)>" # room 0.2 # gain (range 0.7 0.9 rand)]
tin = fast 4 $ s "tink*2" # note ("e'maj11 c'min13" + "<0!3 5 0!3 2>") # speed 3 # room 0.6 # gain 1.2
hover1 = s "sid" >| note (scale "minor" ("<[0 0 3 4]>(25,8)"+"<2 4 3 7>")) # gain (range 0.9 1.3 perlin) # room 0.5 # lpf 200
hover2 = s "sid" >| note (scale "minor" ("<[5 7 7] [4 2]>(20,8)"+"<3 3 4>")) # gain (range 0.9 1.3 perlin) # room 0.5 # djf 0.2
du = fast 1 $  s "sid" >| note (scale "minor" ("<[3,5,7] [4,2]>(5,8)"+"<2 3 4>"+"g")) # gain (range 1.1 1.4 perlin) # room 0.5 # djf 0.35
dudu = off 0.125 (# squiz 4) $ fast 2 $  s "sid" >| note (scale "minor" ("<[3,5,7] [4,2]>(5,8)"+"<2 3 4>"+"g")) # gain (range 1.1 1.4 perlin) # room 0.5 # djf 0.35
heavy = fast 2 $ n "<[0 0*2] [2 0] <[3 1]!2 3> ~>" # s "less" # gain (range 1.5 1 saw) # room 0.4
heavy2 = fast 4 $ n "<[0 0*2] [2 0] <[3 0]!2 3> [~ 0]>" # s "less" # gain (range 1.5 1 saw) # room 0.4
more = s "~*3 <auto:8*2!3 made:6>" # speed (range 1.2 1 saw)
---------------------------

intro = do {
  d1 $ qtrigger 1 $ seqP [
    (0,1, bruh),
    (2,3, bruh),
    (4,12, bruh),
    (12,16, bruh # lpf 700 # gain 1.3)
    ];
  anticipateIn 10 4 $ fast 1 $ struct "<t(3,8)>" $ ccv (segment 128 (range 60 127 saw)) # ccn "0" # s "midi";
  d2 $ qtrigger 2 $ seqP [
    (4,16, s "bd:4 sd" # room 0.2 # gain "0.7 0.8"),
    (6,16, s "ho:6*2 [~ ho:6]" # gain (range 0.55 0.65 rand))
  ]
}

bbd = do {
d3 $ qtrigger 3 $ seqP [
    (0,16, bruh3 # lpf 800 # gain 1.1),
    (0,8, hover1),
    (8,15, tin),
    (0,8, beats1)];
d4 $ qtrigger 4 $ seqP [
  (8,12, beats3),
  (8,16, fast 2 $ hover1),
  (12,14, s "ho:6*4" # gain 0.65),
  (14,15, s "ho:6*4" # gain 0.7),
  (15,16, s "ho:6*8" # gain 0.75),
  (12,16, slow 4 $ s "less:2" <| note ("0 0*2 0*4 [0*4 1*4]") # speed 1.6),
  (15,16, s "gab:9(40,8)" # gain (range 0.2 1 saw) # speed (range 0.8 2 saw) # cut 1), (16,18, slow 2 $ s "h" <| n ("~ [5 0*2] 6 ~"))
  ];
d5 $ qtrigger 5 $ seqP [
    (18,24, stack [hover2, heavy2, more, dudu]),
    (24,26, heavy2),
    (24,28, stack [hover2, du])
    ]
}

drop_next = do {
d6 $ qtrigger 6 $ seqP [
  (0,12, du),
  (0,3, bruh # gain 1.6),
  (4,12, bruh3 # lpf 800 # gain 1.1),
  (0,4, hover1),
  (4,12, fast 2 $ hover1),
  (4,11, tin)
]}

next = do {
  d1 $ qtrigger 1 $ seqP [
    (0,16, tin),
    (0,8, bruh # gain 1.5),
    (8,16, bruh # lpf 700 # gain 1.5)
    ];
  d2 $ qtrigger 2 $ seqP [
    (4,16, s "bd:4 sd" # room 0.2 # gain "0.7 0.8"),
    (4,16, s "ho:6*2 [~ ho:6]" # gain (range 0.55 0.65 rand)),
    (12,14, s "ho:6*4" # gain 0.65),
    (14,15, s "ho:6*4" # gain 0.7),
    (15,16, s "ho:6*8" # gain 0.75),
    (12,16, slow 4 $ s "less:2" <| note ("0 0*2 0*4 [0*4 1*4]") # speed 1.6),
    (15,16, s "gab:9(40,8)" # gain (range 0.2 1 saw) # speed (range 0.8 2 saw) # cut 1),
    (16,18, slow 2 $ s "h" <| n ("~ [5 0*2] 6 ~"))
  ];
  anticipateIn 13 14 $ slow 4 $ ccv (range 2 127 saw) # ccn "3" # s "midi";
}
ending = do {d8 $ qtrigger 8 $ seqP [
  (0,6, stack [hover2, heavy2, more, dudu]),
  (3,3.5, fast 2 $ s "h" <| n ("[5 0*2] 6 ~") # gain (range 0.8 1 saw)),
  (3.5,4, fast 2 $ s "h" <| n ("[5 0*2] 6 ~") # gain (range 0.5 0.8 isaw)),
  (6,10, stack [hover2, more, du]),
  (10,14, stack [hover2, more]),
  (14,15, hover2 # gain (range 1 1.5 saw))
]}

d1 $ qtrigger 1 $ seqP [(0,1, s "personal" # speed 0.8 # gain (range 1.2 0.7 isaw))]

xfadeIn 9 1 $ hover1 # gain (range 0.8 1.3 perlin)

xfadeIn 9 1 silence

intro
bbd
drop_next
next
ending

do
d12 $ slow 2.7 $ ccv "1 2 3 4 5 6 7 8 9 10 11 12" # ccn "2" # s "midi"
d13 $ slow 1 $ ccv (segment 128 (range 10 127 sine)) # ccn "3" # s "midi"
d14 $ slow 64 $ ccv (segment 128 (range 20 100 rand)) # ccn "4" # s "midi"
d15 $ fast 2 $ ccv (segment 128 (range 40 127 saw)) # ccn "5" # s "midi"
d16 $ slow 2 $ ccv "50 30 80 10" # ccn "6" # s "midi"

 

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>