Table of contents
EmojionalMovements
For the MinaCoding Prompt: Moving People. I will be remixing EmojionalReflections which was originally made with P5Js and SonicPi for the Genuary prompt of Reflections : https://blog.illestpreacha.com/genuary2023reflections
With the Hydra addition, there will be more movements as
"The emojis will be reflecting off each other, through their various movement
Reflecting on both the placement of other emojis but also with how they are feeling themselves
Also, have two Emojional Reflection Sketches side by side to represent the waves of which reflections may come in
The music will also have various tempo changes to reflect the different reflection stages of the mind of each emoji " - EmojionalReflections Blurb
Video
Poem
Sometimes they are colourful, sometimes they are gray
sometimes they are moving, sometimes they just stay
but the Emojional Reflections
are part of a digital introspection
As the reflections become in sync
in sync with their movements
in sync with their achievements
as the inner depths
are seen through their outer steps
Code
Hydra Code
s0.initScreen();
src(s0)
.modulateRotate(src(s0)
.repeat(3, 3)
.kaleid([4, 3, 2, 1.099, 2, 3.4]))
.mult(src(s0)
.diff(osc(20.273, 0.001, 0.541))
.rotate(1.036))
.pixelate([200, 400], [400, 800, 1600, 1000])
.blend(s0, 0.799)
.scrollX(0.1, [0.1,-0.35,0.3,0.25,-0.2])
.scrollY([0.25,-0.5],[0.25,-0.35,0.45])
.repeat(2,[2,3,4,5])
.scale([1.25, 2, 0.75])
.blend(s0)
.modulateRotate(src(s0)
.scale(3, () => 1.05 + 0.1 * Math.sin(0.7088 * time)))
.out(o0);
frame = 30;
speed = 2;
P5JS Code
/*
Reflecting feelings is determining the feelings and emotions in a person's verbal and body language and stating (or reflecting) those feelings back to the person or client.
*/
function setup() {
background(100,90,200)
createCanvas(800, 800);
textSize(600)
textAlign(CENTER)
text('๐ก',width/2,height/2)
text('๐ก',width/2,height/1.5)
text('๐ก',width/2,height/1.25)
textSize(400);
textAlign(CENTER)
text('๐',width/2,height/2)
textSize(200)
text('๐',width/2,height/2)
}
function draw() {
imageTweak()
textSize(126);
textAlign(CENTER)
if (second() % 30 > 15)
{
text('๐', width/3 + sin(second() % 30 * 3), height/2 + random(-100,200));
text('๐', abs(width -(width/3 + sin(second() % 30 * 3))), height/2 + random(-100,200));
text('๐', width/2 + random(-100,200), height/2 - second() % 100 * 2);
text('๐ญ', width/4 - (second() % 45) * 5, height/1.5 - second() % 200 * 2);
}
else{
text('๐ค', width/2 - second() % 30, height/2);
text('๐ง', width/2, height/2 + second() % 100 * 2);
text('๐ง', width/1.5, abs(height + (height/2 + second() % 100 * 2)));
text('๐ญ', width/4, height/1.5 - second() % 100 * 2);
text('๐ญ', width/3, height/4 - second() % 100 * 2);
}
}
function imageTweak()
{
filter(BLUR, random(2,8))
if (second() % 40 > 17)
{
filter(GRAY)
}
if (second() % 30 > 15)
{
filter(DILATE);
}
else
{
filter(ERODE);
}
}
SonicPi Code
#Previously made for a Recursion Challenge
#Aided with https://www.tutorialspoint.com/how-does-recursion-work-in-ruby-programming
def soundtrack(looping)
live_loop looping 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(6)
b = dice(6)
c = dice(6)
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,:vowel].choose, mix: rrand(0.3,0.5) do
with_fx :echo do
use_synth [:pretty_bell, :kalimba, :prophet].choose
play notes * 4, attack: dice(6)
end
end
else
with_fx [:whammy,:gverb].choose, mix: rrand(0.2,0.6) do
with_fx :gverb do
use_synth [:chipbass, :kalimba, :prophet].choose
play notes * 4, attack: dice(6)
end
end
end
if smacks > 10
if notes > 8
with_fx :vowel ,voice: dice(4) do
sample :drum_bass_hard, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
else
with_fx :ixi_techno, mix: 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 :vowel do
sample :tabla_ghe1, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
else
with_fx :ixi_techno, mix: 0.75 do
sample :tabla_ghe3, decay: smacks / 12 if spread(smacks/4, smacks/3).look
end
end
end
#print out numbers
puts Addition([a,b,c,d,e])
puts notes
sleep [0.25,0.5,1,2].choose
end
end
soundtrack(:addition)
soundtrack(:addition1)
soundtrack(:addition2)
ย