WaveringDotsAround
For the MinaCoding Prompt: New Function. I will be coding: WaveringDotsAround with Tixyland & SonicPi. T he new functions that I have introduced to my workflow are the following:
Math.imul() : Returns the result of the 32-bit integer multiplication of x and y.
Math.sinh( ): Returns the hyperbolic sine of x.
Math.cbrt() : Returns the cube root of x.
Math.hypot() : Returns the square root of the sum of squares of its arguments.
lgamma(x) → [float, -1 or 1]click to toggle source Calculates the logarithmic gamma of x and the sign of gamma of x. (Ruby)
gamma(x) → Float **:** Calculates the gamma function of x.
Video
VIDEO
Design Process
Used the above-mentioned functions in both the audio and visuals
The dots are overlayed sketches done by TixyLand
The sounds are coded in SonicPi using a concept of shadow maths and colour shuffling, where in this case the sounds are made through the values of different reds. As well as their shadow/shuffle counterparts to add variance to the soundscape. So when watching, you are experiencing both red as a colour and a sound. With the addition of new math functions, the shadows have been reimagined
Code
Tixyland
imul(t,y)/(sinh(t/i)+tan(t/y^3 )+cos(t/x))/sqrt(i/t) + cbrt(y/t)
SonicPi
Crimson = [157 ,34 ,53 ,30.5810 ,16.0422 ,5.7596 ]
DarkRed = [139 ,0 ,0 ,10.6475 ,5.4890 ,0 .4983 ]
FireBrick = [178 ,34 ,34 , 19.2209 ,10.7245 ,2.5704 ]
with_fx :ixi_techno do
live_loop :reds do
i = 0
with_fx :whammy , mix: rrand(0 .25 ,0 .7 ) do
use_synth :pretty_bell
play (Crimson[i] + DarkRed[i])/5 ,release: 3
play Crimson[i] ,release: 3
end
with_fx :ping_pong , mix: rrand(0 .3 ,0 .75 ) do
use_synth :chiplead
play (FireBrick[i] + DarkRed[i])/5 ,release: 3 , decay: dice(4 )
end
sleep [0 .5 ,1 ,2 ].choose
if i < 7
i+= 1
end
end
end
live_loop :redshuffle do
CrimsonShuffle = Crimson.shuffle()
DarkRedShuffle = DarkRed.shuffle()
FireBrickShuffle = FireBrick.shuffle()
i = 0
with_fx :ixi_techno , mix: rrand(0 .2 ,0 .5 ) do
use_synth :pretty_bell
play (CrimsonShuffle[i] + DarkRedShuffle[i])/4 ,release: 3
play Math.lgamma(CrimsonShuffle[i]/5 + 2 ),release: 3
end
with_fx :gverb , amp: dice(4 ), mix: rrand(0 .2 ,0 .6 ) do
with_fx :ping_pong , mix: rrand(0 .3 ,0 .75 ) do
use_synth :piano
play (FireBrickShuffle[i] + DarkRedShuffle[i])/5 ,release: 3 , decay: dice(4 )
end
end
sleep [0 .5 ,1 ,2 ,Math.cbrt(CrimsonShuffle[i])].choose
if i < 7
i+= 1
end
end
with_fx :ixi_techno do
live_loop :redsshadow do
i = 0
with_fx :pitch_shift , mix: rrand(0 .2 ,0 .3 ) do
use_synth :piano
play (Crimson[i]/Math.cbrt(70 )).abs + (DarkRed[i]/Math.hypot(70 ,10 )).abs/30 - 15 ,release: 3 , sustain: 8
sleep [0 .25 ,0 .5 ,1 ,2 ,4 ].choose
end
if i < 7
i+= 1
end
end
end