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"