General Overview
This assignment was quite a challenge! Composition is tough, especially in code format as it felt less intuitive for me. The way I tried to tackle this task is by consuming as much music and visuals that inspire me and trying to duplicate and play around with the resulting outcomes. For music, I realized that I’m not a big fan of typical EDM-ish build-ups, and find myself gravitating towards more experimental ambient music, so two of the main songs that were inspiring me for this project were: ATM by Billy Lemos, and An Encounter by The 1975. As for visuals, I wanted to steer away from coding shapes from scratch, rather I wanted to experiment with either layering the same video or source image.
Music
As mentioned above, I wanted to experiment with creating ambient and almost nostalgic sounds, but before all that I referred to music theory and the piano, and picked a scale that I thought would compliment the feel I’m going for, which is the C minor scale. I went through a lot of different samples and approaches to building the composition, and almost nothing felt like it made sense or like it’s cohesive. The final structure I went with is pretty experimental, a piece in two parts with the sound of children playing in the background. It’s meant to be both ominous and nostalgic both feelings that I attempted to achieve mostly by using room, sz, and orbit.
Visuals
Before starting, I knew I wanted to experiment with red-blue layered visuals with an anaglyph 3D effect. I played around with gifs and different figures, and then felt like a picture of an eye could be both visually appealing and match the vibe of the music. Throughout the whole piece, the eye is consistent as the source.
Difficulties
The biggest difficulties I faced are with compositional structure and audiovisual interaction. For compositional structure, as I mentioned, I struggled with finding an alternative to the build-up structure, as I felt like it did not resonate with the feel that I was trying to achieve. As for audiovisual interaction, I think I just need to practice it and experiment with it more until it becomes more precise and understandable for me.
---- start d14 $ s "children" #gain 0.5 d13 $ qtrigger 13 $ seqPLoop[ (0, 4, note "[[ef5'maj] [g5'min] [bf5'maj] ~ ~]" # sound "superfork" # room 0.1 # gain 0.7 # legato 1.5), (4, 8, note "[[ef5'maj] [g5'min] [c6'min] ~ ~]" # sound "superfork" # room 0.1 # gain 0.7 # legato 1.5) ] d7 $ ccv "0 50 64 0 0" # ccn "0" # s "midi" d7 silence d1 $ s "coins" # gain 0.8 d5 $ slow 2 $ sound "superfork" >| note "[c2'min]? [bf3'min]?" # room 0.1 # gain 0.9 -- bg chord -- introducing more rhythm + ambient element hush d3 $ qtrigger 3 $ seqPLoop[ (0, 12, fast 2 $ sound "808bd(1,4)" # gain 1.2), (4, 12,slow 2 $ sound " ~ [future:4(3,5)] ~ ~" # gain 1.5 # room 0.4) ] d11 $ ccv (segment 128 (range 127 0 saw)) # ccn "1" # s "midi" d9 $ struct "<~ t(3,5) t>" $ ccv ((segment 128 (range 127 0 saw))) # ccn "2" # s "midi" d4 $ fast 2 $ s "ade:3" |> note "<f5_>" # cut 1 # vowel "o" # gain "<1? 0.9 0.2 0.7>" #room 0.4 -- chaos & tension here w/ distort & adding beats bassDrum = d14 $ fast 2 $ sound "808bd" # gain 1.2 bassDrum d3 $ slow 2 $ sound "[future:4*3] ~ ~ ~" # gain 1.5 # room 0.4 # distort 0.2 d5 $ struct "<t(3,5) t>" $ ccv ((segment 128 (range 127 0 saw))) # ccn "3" # s "midi" d4 $ fast 2 $ s "ade:3*6" |> note "<f5_>" # cut 1 # vowel "o" # gain "<1? 0.9 0.2 0.7>" #room 0.4 --- hush, instead of a drop for ominous vibe hush ------ second bit, normal then degrade d4 $ degradeBy 0.8 $ slow 2 $ s "armora:5" # room 0.4 # sz 0.6 # orbit 1 # gain 0.8 d1 $ s "<coins(1,4)>" # gain 0.95 d5 $ ccv " 127 0 0 0 0" # ccn "3" # s "midi" d4 silence d10 $ qtrigger 10 $ seqP[ (0, 8, s "ade:3" |> note "c2" # cut 1 # vowel "a" # orbit 1 # room 0.7 ), (8, 14, s "ade:3" |> note "c3" # cut 1 # vowel "a" # orbit 1 # room 0.7), (14, 20, s "ade:3" |> note "c4" # cut 1 # vowel "a" # orbit 1 # room 0.7) ] d1 silence hush
s2.initImage("https://i.pinimg.com/originals/b1/7b/6e/b17b6e0ba062a3217ecd873634093864.png") s3.initImage("https://i.pinimg.com/originals/b1/7b/6e/b17b6e0ba062a3217ecd873634093864.png") src(s2).scale(() => cc[0]*0.5,4,8).pixelate(600,600).scrollX(0.3,0.01).out(o0) // start, one eye layer //() => cc[0]*0.5 src(s2).scale(0.02,4,8).color(1,0,0).scrollX(0.01,0.1).layer(src(s2).scale( () => cc[0]*0.1,4,8).pixelate(600,600).scrollX(0.2,0.1)).out(o0) .layer().out(o0) src(s2).scale( () => cc[0]*0.1,4,8).pixelate(600,600).scrollX(0.7,0.1).layer(src(s2).scale(()=>cc[1]/6,4,8).color(1,0,0).scrollX(0.,0.1)).rotate(() => cc[2]).out(o0) // () => cc[2] //rotation n scaling for red src(s2).scale( () => cc[0]*0.01,4,8).pixelate(600,600).scrollX(0.7,0.1).layer(src(s2).scale(()=>cc[2]/10,4,8).color(1,0,0).modulate(noise(()=> cc[1]*6)).scrollX(0.,0.1)).out(o0) //modulate noise src(s2).scale( () => cc[0]*0.01,4,8).pixelate(600,600).scrollX(0.7,0.1).layer(src(s2).scale(()=>cc[2]/10,4,8).color(1,0,0).modulate(noise(()=> cc[1]*2)).pixelate(()=>cc[3]*2).scrollX(0.,0.1)).out(o0) //pixelate osc(6).color(1,0,0).modulate(src(s2).scale(0.1,4,8),1).blend(osc(6).color(0,0,2).modulate(src(s2).scale(0.1,4,8).scrollX(0.7),1).modulate(noise(()=>cc[3]+0.3))).out(o0) // part 2 osc(6).color(1,0,0).modulate(src(s2).scale(0.1,4,8),1).blend(osc(6).color(0,0,2).modulate(src(s2).scale(0.1,4,8).scrollX(0.7),1).brightness(()=> +0.8).modulate(noise(()=>cc[3]))).out(o0) //brightness