# Genuary2025_BlackWhite

# SpheresInBW

The prompt for **Genuary2025** **Day 14** is “*BlackWhite*” , **Day 12** is “*Subdivision*” and **Day 17** is “*Pi=4*”

**SpheresInBW** uses **Hydra** for ***subdividing*** the sketch, **LiveCodeLab** for the ***Black&White*** component while the coded **SonicPi** composition uses ***pi=4*** to arrange the sounds.

## Poem

```ocaml
The motions repeat
As the Grid is seen
In black and white
With the background Scenes
Between day and night
As the motions sweep
As the pixels are seen
```

## Video

%[https://youtu.be/bGh1KBXK_X4] 

## Code

### LiveCodeLab

```javascript

if time % 15 > 10
	background white
	fill black
	stroke white
else if time % 15 < 5
	background black
	fill white
	stroke black
else
	background white
	fill white
	stroke black

3 times
	scale sin(wave(0.003))
	rotate 
	move 
	ball
		ball 
```

### Hydra

```javascript
s0.initScreen()

src(s0).scale(1.5).repeat(()=> time % 5 + 1, ()=> time % 5 + 2).out()
```

### SonicPi

```ruby
#using 6 circle families to make the sound as Pi=4

=begin

using the various circle related equations to make two set of Circle Families and their members to
make sound

turning pi into 4
=end

def circles1(radius,loop,timer)
  
  #replacing Math::PI with 4
  
  circumference = 2 * 4  * radius
  area = 4 * (radius ** 2)
  
  
  live_loop loop do
    use_bpm [5 * timer, 12 * timer, 8 * timer].choose
    use_random_seed (Time.now.to_i)/timer #random seed
    with_fx :ping_pong,mix: 0.75 do
      with_fx :gverb, damp: 0.5 do
        use_synth [:piano, :chipbass].choose
        play circumference,amp: 2 #decay: rrand(1,4),
        sample [:tabla_ghe3,:perc_bell,:elec_beep].choose, beat_stretch: area / 80,amp: dice(10)
      end
    end
    sleep [0.25,0.5,1,2,4,8,16].choose
  end
  
  
end

def circles2(radius,loop,timer)
  
  circumference = 2 * 4 * radius
  area = 4 * (radius ** 2)
  
  live_loop loop do
    use_bpm [5 * timer, 12 * timer, 8 * timer].choose
    use_random_seed (Time.now.to_i)/timer #random seed
    with_fx :ixi_techno,mix: 0.75 do
      with_fx :vowel, voice: dice(3) + 1 do
        use_synth :chipbass
        play circumference #sustain: dice(3), amp: 2
        sample [:elec_blup,:tabla_ghe2,:drum_bass_hard].choose, rate: area / 100, attack: dice(5), amp: dice(10)
      end
    end
    sleep [0.25,0.5,1,2,4,8].choose
  end
  
end


circles1([11,23,17].tick,:circle1,3)
circles2([4,7,9].tick,:circle2,4)
circles2([5,17,12].choose,:circle3,5)
circles1(9,:circle4,6)
circles2([10,12,14].tick,:circle5,7)
circles1([14,3,6].choose,:circle6,8)
```
