·

# ArcFul Sounds

For this week's Creative Code Challenge by @sableraph: "Arc", the arc is represented by the story arc of various circles communicating their stories.

Remixing a post WCCC submission for "Circles Creation" : https://blog.illestpreacha.com/wccchallengecirclecreations, where the focus is on the possible ranges of arcs that can be found in the 18 circles.

This week Language is SonicPi

## Arc Design

• Provide a random assortment of 18 circles

• Each circle has various arcs that communicates to the audience

• By providing an opportunity of various inner arcs to be spoken through their area and angle within the circle.

• With additional filters, to see what they are trying to say in their character arc

Various random functions are used such as choose,use_random_seed, Time.now.to_i, dice,shuffle and plenty more to give a different voice each round

## Poem

``````Arc
Architecture
Of the features
Features that are identifiable
As these arcs are the parks
The landmarks
Of their area
That there are carriers
For the barriers
Of these arcs
That are modifiable
``````

## SonicPi Code

``````#using 18 circles and their the various within  to make sound

use_random_seed Math.hypot(Time.now.to_f,3)

circumference = 2 * Math::PI * radius
area = Math::PI * (radius ** 2)

#getting the potential arcs in the circle into this
arc = rrand(0.01,0.99)

#getting the angles and areas of the arc
arc_angle = 360 * arc
area_arc = arc_angle * area

live_loop loop do

use_bpm 90
use_random_seed Math.sqrt(Time.now.to_f)
with_fx :ping_pong,mix: 0.75 do
with_fx :gverb, damp: 0.5 do
use_synth :piano
play [circumference/3,circumference/7,arc_angle / 2.5 ].choose, decay: rrand(1,4), amp: 2
sample ['E:/Creatuve Code Challenges/SciArtSeptember_2023/simian/MonkeyScreaming.wav',:ambi_drone,:elec_beep,:loop_tabla,"C:/SonicPi/SocaRiddims/WaterMelonRiddim_Wav.wav"].choose, beat_stretch: area_arc / 170 ,amp: dice(5)
end
end
sleep [2,4,8,12,16].choose

end

end

use_random_seed Math.log2(Time.now.to_f)

circumference = 2 * Math::PI * radius
area = Math::PI * (radius ** 2)

#getting the potential arcs in the circle into this
arc = rrand(0.01,0.99)

#getting the angles and areas of the arc
arc_angle = 360 * arc
area_arc = arc_angle * area

live_loop loop do
use_bpm 135

#change the time to a float
use_random_seed Math.cbrt(Time.now.to_f)

with_fx [:echo,:whammy,:ixi_techno].choose, mix: rrand(0.4,0.8) do
with_fx :ixi_techno,mix: 0.75 do
with_fx :vowel, voice: dice(3) + 1 do
use_synth [:chipbass,:chipbass,:piano].choose
play [arc,arc/3, circumference/4].choose, sustain: dice(3), amp: 2
sample [:loop_mehackit1,:perc_swoosh,:glitch_robot2,:glitch_robot1].choose
sample ["E:/Creatuve Code Challenges/Cats/Asset/CAT MEOWING SOUNDS ｜ Realistic Cat Sounds and Noises with Videos.wav",'C:/Audio/Rambling/JungleJazz.wav',:tabla_ghe2,:elec_beep,:drum_bass_hard,:perc_door].choose, rate: arc_angle / 40 , attack: dice(5), amp: dice(5)
end
end
end

sleep [1,3,8,16,].choose
end

end

sample :loop_tabla

#setting various circles to form numerous of arcs through the while loop

live_loop :arcing do

use_random_seed Time.now.to_i

#getting the randomness set up
dice1 = dice(115)
dice2 = dice(7)
shuffle1 = [73,75,105,45,90,10,30]
rand1 = rrand_i(5,78)
dice3 = dice(28)+2
rand2 = rrand_i(48,112)

#the process of 18 circles
circles1(dice1,[:circle1,:circle7].choose)
circles2(dice2,[:circle2,:circle8,:circle9,:circle18].reverse.tick)
circles2(shuffle1.shuffle.tick,[:circle3,:circle10,:circle11,:circle12].choose)
circles1([rand1,rand2].tick,[:circle4,:circle13,:circle14].shuffle.tick)
circles2([dice3,dice2,dice1].choose,:circle5)
circles1(rrand_i(48,112),[:circle6,:circle15,:circle16,:circle17].shuffle.choose)

sleep [2,4,8,12,24].choose
end
``````