The approach I took to creating a composition was a reverse engineering build-up where I found sounds and combinations that I enjoy and after finding those who sounded cohesive joined them into a composition. I wanted to create a more whimsical or alien-like energy to the work when choosing the sounds that I liked as I noticed several of the dirt samples had a high-pitched noise that went well really together. There was a main part that I thought brought together the composition which ended up being my A that is repeated. With that I integrated the other parts, creating the pattern A-B-A-C pattern. I tried to experiment with several of the techniques we learnt in class to find which ones fit into my work which helped out a lot in getting a hang of them, I think the part I focused the most on was creating a visual and audio fade out which was initially a transition, but then ended up looking like a great way end the work on a high instead. Which you see at the end when the screen goes fades into fight with a rising sound matching the rise in brightness in part C.
Hydra code
render()
shape(100, ()=> 0.65-cc[3])
.scale(1,1,() => window.innerWidth / window.innerHeight)
.scroll(0.5,()=> -0.5+cc[1])
.invert(()=>cc[0])
.modulateKaleid(voronoi(55))
.colorama(1.2).posterize(4).saturate(0.7).contrast(6)
.blend(
shape(4, 100),()=>cc[5]
)
.blend(osc(30,0.0001,0.75)
.colorama(0.5)
.mult(osc(20,0.0001,0.2).modulate(noise(3,1)).rotate(0.4))
.modulateScrollY(osc(2)).modulate(osc().rotate(),.011), ()=>cc[8]
)
.rotate(11,()=>cc[6]/127)
.blend(shape(10,0.5).modulatePixelate(osc(25,0.5),100).colorama(0.5),()=>cc[7])
.out(o0)
shape(100, ()=> 0.65-cc[3])
.scale(1,1,() => window.innerWidth / window.innerHeight)
.scroll(0.5,()=> -0.5+cc[1])
.invert(()=>cc[0])
.modulateKaleid(osc(55))
.colorama(1.2).posterize(4).saturate(0.7).contrast(6)
.blend(
shape(4, 100),()=>cc[5]
)
.out(o0)
shape(100, ()=> 0.65-cc[3])
.scale(1,1,() => window.innerWidth / window.innerHeight)
.scroll(0.5,()=> -0.5+cc[1])
.invert(() => 1 - cc[0])
.color(() => 0.2 + cc[2], 0, 1)
.modulateKaleid(osc(55),0.1,1)
.blend(
shape(4, 100),()=>cc[5]
)
.out(o1)
shape(100, ()=> 0.65-cc[3])
.scale(1,1,() => window.innerWidth / window.innerHeight)
.scroll(0.5,()=> -0.5+cc[1])
.invert(() => 1 - cc[0])
.color(() => 0.2 + cc[2], 0, 1)
.modulateKaleid(osc(55),0.1,1)
.blend(
shape(4, 100),()=>cc[5]
)
.out(o2)
shape(100, ()=> 0.65-cc[3])
.scale(1,1,() => window.innerWidth / window.innerHeight)
.scroll(0.5,()=> -0.5+cc[1])
.invert(()=>cc[0])
.modulateKaleid(osc(55),0.1,1)
.colorama(1.2).posterize(4).saturate(0.7).contrast(6)
.blend(
shape(4, 100),()=>cc[5]
)
.out(o3)
hush()
Tidal Code
--A
d1 $ stack[
s "bass1 ~ <bass1 dr_few:2> ~" # room 0.4,
s "bd bd*4 bd ~" # room 2,
s "hh*8" # gain 0.75,
ccv "0 127" # ccn "0" # s "midi",
ccv (segment 128 $ range 0 127 saw) # ccn "1" # s "midi",
s "feelfx*8" # note (scale "major" "1 1 3 5"-24) # room 1,
s "tink:1 tink:2 tink:4 tink:5" # room 2,
ccv "0 30 60 127" # ccn "2" # s "midi",
ccv "0 60" # ccn "8" # s "midi"
]
xfade 1 silence
--B
d1 $ stack [
ccv "60" # ccn "8" # s "midi",
s "pluck:2 pluck:3",
ccv "0 127" # ccn "6" # s "midi"
]
d1 $ qtrigger $ seqP [
(0, 10, ccv "0 127" # ccn "6" # s "midi"),
(0, 10, ccv "0 0 0 60 60 0 0 0" # ccn "7" # s "midi"),
(0, 10, ccv 0 # ccn "8" # s "midi"),
(0, 4, s "feelfx*8" # note (scale "sine" "0 0 0 2 2 0 0 0"-24) # room 0.8),
(0, 4, s "pluck:2 pluck:3" # distort 0.2 # room 0.8),
(4, 6, s "feelfx*8" # note (scale "sine" "0 0 0 2 2 0 0 0"-24) # room 0.6),
(4, 6, s "pluck:2 pluck:3" # distort 0.2 # room 0.6),
(6, 8, s "feelfx*8" # note (scale "sine" "0 0 0 2 2 0 0 0"-24) # room 0.4),
(6, 8, s "pluck:2 pluck:3" # distort 0.2 # room 0.4),
(8, 10, s "feelfx*8" # note (scale "sine" "0 0 0 2 2 0 0 0"-24) # room 0.2),
(8, 10, s "pluck:2 pluck:3" # distort 0.2 # room 0.2)
]
--A
d2 $ stack[
s "bass1 ~ <bass1 dr_few:2> ~" # room 0.4,
s "bd bd*4 bd ~" # room 2,
s "hh*8" # gain 0.75,
ccv "0 127" # ccn "0" # s "midi"
]
d1 $ stack[
ccv (segment 128 $ range 0 127 saw) # ccn "1" # s "midi",
s "feelfx*8" # note (scale "major" "1 1 3 5"-24) # room 1,
s "tink:1 tink:2 tink:4 tink:5" # room 2,
ccv "0 30 60 127" # ccn "2" # s "midi"
]
--C
d2 $ stack [
"reverbkick!4" # room 1.2,
"realclaps*8" # room 1,
fast 8 $ ccv (segment 128 $ range 0 127 tri) # ccn "3" # s "midi"
]
d1 $ qtrigger $ filterWhen (>0) $ seqP [
(0, 2, s "juno:9" # room 0.2),
(2, 4, s "juno:9" # room 0.65),
(4, 6, s "juno:9" # room 0.85),
(6, 8, s "juno:10" # room 1),
(6, 10, slow 4 $ ccv (segment 128 $ range 0 127 saw) # ccn "5" # s "midi"),
(8, 10, fast 2 $ s "juno:9*16" # room 1.2)
]
xfade 2 silence
hush
d1 $ stack [
ccv 0 # ccn "0" # s "midi",
ccv 0 # ccn "1" # s "midi",
ccv 0 # ccn "2" # s "midi",
ccv 0 # ccn "3" # s "midi",
ccv 0 # ccn "4" # s "midi",
ccv 0 # ccn "5" # s "midi",
ccv 0 # ccn "6" # s "midi",
ccv 0 # ccn "7" # s "midi",
ccv 0 # ccn "8" # s "midi"
]
Demo