WCCC_Rewind
Kofi / Illestpreacha
4 min read
Table of contents
RewindsOfRewinds
For this week's Creative Code challenge by @sableRaph:"Rewind”, RewindsOfRewinds is coded in LiveCodeLab, Hydra, SonicPi & LiveCodingYoutube.
Rewinding Process
Took previous footage and original footage from the following Public Domain films
Fantasmagorie (1908, First Cartoon Ever)
Crazy Plane (1928)
Le Voyage dans la Lune (1902)
Steamboat Willie (1928)
Adjusted code that is portraying the concept of mangled lost film footage
Rewind to SonicPi Code written in 2016 as well as my first entry to the WCCC:
Rewind to LiveCodeLab written in 2021
Poem
Press the start button
As the day and its events
Begin to be summoned
How do you plan to transverse
This segments
That you couldn’t rehearse?
Which nutrients will give you the burst
To get past
Into the land that vast
Sustaining motions that can be able last
Be hold , for the times
That we take a pause
To rewind
And gives ourselves applause
Because we are still aiming
If the sun shines or it is raining
So with that said,
How are we moving ahead?
Video
Code
Hydra
s0.initScreen()
src(s0)
.pixelate([1000,5000,10000,20000],[2000,4000,50000,100000])
.repeat(3,3)
.mult(src(s0)
.scale([0.5,0.75,1,1.25].smooth(),[0.25,0.5,1,2].smooth()))
.out()
LiveCodeLab (2021)
turns = tan(4-time %2) + sin(4-time % 3)
detail = 1000
speed = 0.4 * cos(2) * 0.2
simpleGradient salmon,blanchedalmond,orange
scale 0.48
rotate 15,wave(0.03),0
detail times with i
rotate tan(pi * sin(pi)), sin(pi), (2 * pi) / detail
move cos(0.65) * (time % 4),sin(6.5),tan(10)
rotate (turns * i * pi) / detail + (time * speed), 0, 0
peg tan(2),4,cos(3)/detail, sin(pi)
LiveCodingYoutube
v1 = 'swh448fLd1g'
//Fantasmagorie (1908) First Cartoon Ever
v2 = 'aGKj8_Aewks'
//Crazy Plane (1928) remix
v3 = 'ZNAHcMMOHE8'
//Le Voyage dans la Lune (1902) - Georges Méliès
v4 = 'pZrgdNdcUW0'
//Steamboat Willie (1928) remix
create(2,2,v1)
cue(0,v2)
cue(1, v3)
cue(2,v4)
speed([0,1],-5)
speed(2,-0.5)
speed(3,-2.8)
jump(1,70,40,40)
jump([2,3],0.5,1,1)
jump([0,1,2,3],-5,-5)
play(all)
SonicPi (Updated)
# Dec 28, 2016 remix: https://github.com/IllestPreacha/SonicPiTrackListing/blob/master/QuickRiddims.rb
def bassing(looping, bpming)
live_loop looping do
use_random_seed (Time.now.to_i)/2
use_bpm bpming
with_fx :ixi_techno, mix: 0.7, phase: dice(4) do
with_fx :ping_pong, mix: rrand(0.3,0.8), phase: dice(4) do
use_bpm 20
if one_in(2)
sample :drum_bass_hard, rate: Math.cbrt(rrand_i(-3,3)) + 1.25 if spread(7,12).tick
sleep [0.5,1,2].choose
else
sample :drum_bass_soft, beat_stretch: dice(6) if spread(5,12).tick
sleep [0.25,0.5,1,2,3].choose
end
end
end
end
end
def starting (looping,bpming)
live_loop looping do
use_random_seed (Time.now.to_i)/3
with_fx :reverb, mix: rrand(0.25,0.6) do
use_bpm bpming
if one_in(3)
sample :tabla_ghe4, beat_stretch: dice(4)/8 + 1 if spread(17,24).tick
sleep [0.25,0.5,0.75,1].choose
else one_in(2)
sample :tabla_ghe2, beat_stretch: 3, rate: -1.25 if spread(5,12).tick
sleep [0.5,2].choose
sample :tabla_ghe3 if spread(19,24).tick
sleep [1,2].choose
end
end
end
end
def bd (looping,bpming)
use_random_seed (Time.now.to_i)/5
live_loop looping, amp: 1 do
use_bpm bpming
sample :bd_808,attack: dice(4) if spread(5,12).tick
sleep ([2,1,0.5].choose)
sample :bd_fat,slice: 4 if spread(7,12).tick
sleep([0.5,1,2].choose)
end
end
live_loop :mixing do
use_random_seed (Time.now.to_i)/3
bpm1 = [12,60,30]
bpm2 = [90,45,20]
bpm3 = [120,60,30,15]
bd(:bd,bpm3.choose)
starting(:start,bpm1.choose)
bassing(:bass,bpm2.choose)
sleep [0.5,1,2].choose
end
live_loop :mixing2 do
use_random_seed (Time.now.to_i)/2
bpm1 = [30,60,90]
bpm2 = [10,20,30,180]
bpm3 = [120,10,75]
with_fx :vowel do
bassing(:bass2,bpm3.choose)
starting(:start2,bpm2.choose)
bd(:bd2,bpm1.choose)
end
sleep [0.5,1,2].choose
end
live_loop :mixing3 do
use_random_seed (Time.now.to_i)/5
bpm1 = [30,60,90,120]
bpm2 = [240,400,170, 7]
bpm3 = [10,75,110, 47]
with_fx [:krush,:flanger,:whammy].tick, mix: rrand(0.1,0.6) do
starting(:start3,bpm2.choose)
bassing(:bass3,bpm1.choose)
bd(:bd3,bpm3.choose)
end
sleep [0.5,1,2].choose
end
live_loop :cueing do
use_random_seed (Time.now.to_i)
with_fx :ixi_techno, mix: 0.35 do
use_bpm 5
sample [:bd_zome,:ambi_piano,:elec_bong].choose ,beat_stretch: 12, rate: -0.5
cue [:mixing3,:mixing2].tick, decay: 5, sustain: 3
sleep [0.5,1,4].choose
end
end
SonicPi - First Entry
#Recursion Challenge
#Aided with https://www.tutorialspoint.com/how-does-recursion-work-in-ruby-programming
# 3 Minute Version for the OST Soundtrack
live_loop :addition do
# recursion call being the function calling a new sub string
def Addition(arr)
return 1 if arr.length == 0
arr[0] + Addition(arr[1..-1])
end
#variables that will be used in the Method Call below
#Dice is a randomizer that functions as a dice roll
a = dice(8)
b = dice(8)
c = dice(8)
d = 2
e = 3
#Calling the Method to aid with sound design
smacks = Addition([a,b,c,d,e])
notes = Addition([a,b,d])
#sound elements
if notes % 2 == 0
with_fx :flanger, mix: rrand(0.3,0.5) do
with_fx :echo do
use_synth [:pretty_bell, :kalimba, :prophet].choose
play notes * 4, attack: dice(6), decay: dice(2)
end
end
else
with_fx :whammy, mix: rrand(0.2,0.6) do
with_fx :gverb do
use_synth [:pretty_bell, :kalimba, :bass_highend].choose
play notes * 4, attack: dice(6), sustain: dice(3)
end
end
end
if smacks > 10
if notes > 8
with_fx :vowel ,voice: dice(4), mix: rrand(0.1,0.97) do
sample :drum_bass_hard, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
else
with_fx :ixi_techno, mix: rrand(0.25,0.75) do
sample :drum_bass_soft, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
end
else
if notes > 8
with_fx :ping_pong do
time_warp -0.2 do #adding timewarp
with_fx :whammy, amp: dice(3) do
sample :tabla_ghe1, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
end
end
else
with_fx :ping_pong,pre_mix: 0.5, mix: 0.7 do
time_warp -1.5 do #time warp 2
with_fx :ixi_techno, mix: 0.75 do
sample :tabla_ghe3, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
end
end
end
end
#print out numbers
puts Addition([a,b,c,d,e])
puts notes
sleep [0.25,0.5,1,2,4].choose
end
0
Subscribe to my newsletter
Read articles from Kofi / Illestpreacha directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by