# Mathober2025_Wheel+Domain

# WheelingDomain

For my 14th sketch of **Mathober2025** coded in #**SonicPi & #HydraVideoSynth,** **WheelingDomain** takes the 17th prompt: ***Wheel*** and represents it through four wheels in **HydraVideoSynth,** while the audio is composed in SonicPI, which is a ***Domain*** *(19th Prompt)* Specific Language

## Poetry

```ocaml
Round and Round
The Wheel Roll
Line by Line
The Audio Flows
Where will the Wheel fly
```

## Video

%[https://youtu.be/4K2rftQLylk] 

## Code

### HydraVideoSynth

```javascript
noise(2,3,0).colorama(0.1).kaleid([24,20,16,12,4,10,20,35].smooth()).rotate(()=> time).scale(0.75).modulateRotate(o1).out(o0)
noise(1,1,1).colorama(0.2).kaleid([24,20,16,12,4,10,20,35].smooth()).rotate(()=> Math.tan(time)/3).scale(0.75).out(o1)
noise(2,1,1).colorama(0.3).kaleid([24,20,16,12,4,10,20,35].smooth()).rotate(()=> Math.hypot(time % 20,Math.sin(time))).scale(0.75).modulateScale(o3).out(o2)
noise(3,1,1).colorama(0.3).kaleid([24,20,16,12,4,10,20,35].smooth()).rotate(()=>time).scale(0.75).modulateRotate(o0).out(o3)

render()


speed = 0.25
```

### SonicPi

```ruby
live_loop :BassAttack do
  use_random_seed Time.now.to_i / 4
  use_bpm [40,120,240,480].choose
  
  with_fx [:echo,:ixi_techno].choose, mix: rrand(0,0.75) do
    sample :perc_snap if spread(2,3).reverse
    sample :bd_klub if spread(5,6).tick
  end
  
  sample :elec_blup if spread(4,7).tick
  sample :elec_blip if spread(1,2).tick
  sleep [1,4,2].choose
end

#shorter rest time
live_loop :BassAttackFast do
  
  use_random_seed Time.now.to_i / 5
  use_bpm [40,120,240,480].choose
  
  with_fx [:whammy,:echo].tick do
    sample :perc_snap if spread(2,3).reverse
    sample :bd_klub if spread(5,6).tick
    with_fx :bitcrusher, bits: rrand(0,16) do
      sample :elec_blup if spread(4,7).tick
      with_fx :slicer, phase: rrand(0,16) do
        sample :elec_blip if spread(1,2).tick
        sleep [1,2,4].tick
      end
    end
  end
  
end

#give that piano feeling
live_loop :piano do
  use_random_seed Time.now.to_i / 3
  use_bpm [40,120,240,480].choose
  
  with_fx :ping_pong, mix: rrand(0.25,0.76) do
    with_fx :echo do
      use_synth :pretty_bell
      bellTime = (scale :f3, :major).reverse
      play bellTime if (spread 10,24).tick
      sleep [1,2,4].choose
    end
  end
end

```
