WalkingInRepetitions
For this week's Creative Code Challenge by @sableraph: Remix, I Coded WalkingInRepetition.
This week's languages are NoiseCraft (noisecraft.app) & SonicPi for the sounds, Hydra for the remixing & P5js as it was used in the original sketch by Oz (@0xozram)
Remix Process
It uses Hydra & NoiseCraft to remix a MinaCoding submission of Oz (@**0xozram) for the Human Prompt by making the characters walk in all directions to a sound design.
Hydra uses the sketch and adds depth by adding layers in various sizes and forms. Then the output is layered to get the sketch more directional. As well as having nighttime/daytime walking sessions.
An oilpaint filter is used to add more texture.
One of the SonicPi Compositions remixes sounds from an ECG reading and manipulates them further to manufacture a soundscape. While the others add more tension in the background through a mixture of vocals (Originally Made for NaPoGenMo) and sound.
Poem
Originally made for NaPoGenMo: https://blog.illestpreacha.com/napowrimo-x-napogenmo-prompt-day-20-repeatedmotions
Repeat as these words are completed
Repeat as these verbs are seated
Completion as it goes through repetition
Motioning as you engage in your seat
Completing from the range to where you move your feet
As your feet repeats to maintain it goals
The goal of your feet to be complete
Complete as a circle and radius
As it was smaller, previous
But the portal of the circle
Allows the circle to grow within the portal
A portal that is only complete when it increases
Its radius
It repetition of such to maintain its pieces
To contain the peace
As it refrains from pleases
Pleasing the notion that it is complete
As we repeat these words that haven't been at the seat
Wondering what if there is a ceiling to their peak
Video
Orignal Code
P5Js Original by 0xozram:
https://openprocessing.org/sketch/1958482
Remixed/Additional Code
NoiseCraft
Hydra
Visual Effect Grouping
s0.initScreen()
src(s0).modulateScale(src(s0).kaleid(4).repeat(3,3),0.5).diff(s0).modulateRotate(src(s0).scroll(()=> (time % 20 + 1)/40,3),0.3).out(o0)
src(s0).blend(o0).scale(1.1).out(o1)
src(s0).scale(1.1).repeat(2,2).invert(2).out(o2)
src(s0).modulatePixelate(src(s0).blend(osc(1,3,1)).invert(2).luma(0.5).scale(2).repeat(3).color(0.5,1,0.2)).out(o3)
speed = 0.25
render()
Visual Effect Solo
s0.initScreen()
src(s0).modulatePixelate(src(s0).blend(osc(1,3,1)).invert(2).luma(0.5).scale(2).repeat(3).color(0.5,1,0.2)).out()
SonicPi
EEG remixing
live_loop :phase1 do
with_fx :flanger, amp: 14, mix: [0.1,0.3,0.4].choose do
use_bpm 48
with_fx :ping_pong, mix: 0.6 do
with_fx :echo, mix: 0.6 do
sample "C:/Rise/HeartbeatRemx.wav" ,pitch: [7,12,17].choose, rate: [0.85,1,0.75].choose
sleep [(sample_duration "C:/Rise/HeartbeatRemx.wav"),4,8,16].choose
end
end
end
end
live_loop :phase2 do
use_bpm 48
with_fx :vowel, amp: 14, mix: [0.1,0.3,0.4].choose do
with_fx :distortion,distort: 0.75, mix: 0.75 do
with_fx :hpf do
sample "C:/Rise/HeartbeatRemx.wav" ,pitch: [11,17].choose,beat_stretch: 3, pitch_stretch: 11, rate: -2 if spread(11,14).tick
sample "C:/Rise/HeartbeatRemx.wav" ,beat_stretch: 19.5, rate: [1,0.85,1,0.75].choose if spread(5,19).tick
sleep [(sample_duration "C:/Rise/HeartbeatRemx.wav") / 2,2,4].choose
end
end
end
end
live_loop :phase3 do
use_bpm 5
with_fx :whammy, amp: 14, mix: [0.1,0.3,0.4].choose do
with_fx :ixi_techno, phase: 7, mix: 0.7 do
with_fx :echo , decay: 2, mix: 0.3 do
with_fx :ping_pong, mix: 0.7 do
sample "E:/Rise/ECG/ch13#04.wav" ,beat_stretch: 19.5, rate: [1,0.85,1,0.75].choose if spread(5,19).tick
sleep [(sample_duration "E:/Rise/ECG/ch13#04.wav") / 8,(sample_duration "E:/Rise/ECG/RyanHR_1#01.wav") / 16,2].choose
end
end
end
end
end
Background Tension
live_loop :rollback do
use_random_seed Time.now.to_i #making true random as it goes with the actual time
puts Time.now.to_i
with_fx :echo, mix: rrand(0.4,0.8) do
with_fx [:ping_pong,:flanger,:krush].choose, mix: rrand(0.1,0.9) do
sample [:drum_bass_hard,:elec_blip,:glitch_robot2,:guit_em9].choose, rate: dice(6) * -1
sleep [0.5,1,2,3,4].choose
end
end
sleep [0.5,1,2].choose
end
live_loop :rollback2 do
#making true random as it goes with the actual time
#then using the Math.cbrt to make it a different seed ratio then the above function
use_random_seed Math.cbrt(Time.now.to_i)
puts Time.now.to_i
with_fx [:echo,:whammy,:ixi_techno].choose, mix: rrand(0.4,0.8) do
with_fx :ping_pong, mix: rrand(0.1,0.9) do
sample [:elec_bell,:glitch_perc2,:bd_klub].choose,rate: Math.sqrt(dice(25) + 1)
sleep [0.5,1,2,3,4].choose
end
end
sleep [0.5,1,2].choose
end
live_loop :rollback3 do
#making true random as it goes with the actual time
#then using the Math.cbrt to make it a different seed ratio then the above function
use_random_seed Math.cbrt(Time.now.to_i) - 2
puts Time.now.to_i
with_fx [:echo,:whammy,:ixi_techno].choose, mix: rrand(0.4,0.8) do
with_fx :ping_pong, mix: rrand(0.1,0.9) do
sample [:ambi_choir,:ambi_glass_hum,:ambi_dark_woosh,:ambi_glass_rub].choose,rate: Math.sqrt(dice(25) + 1), sustain: dice(4), decay: dice(5)
sleep [0.5,1,2,3,4].choose
end
end
sleep [0.5,1,2,4].choose
end
Vocals
with_fx :whammy, gain: dice(3), amp: dice(7), mix: [0.5,0.7,0.3].choose do
# with_fx :echo , mix: 0.4, decay: dice(2) do
live_audio :foo
end