# Mathober2023_Exchange

# ClashOfSounds2

For the 29th Prompt Of Mathober: **Exchange,** ***ClashOfSounds***2 Will take the submission for the 15th Prompt of Mathober: [**Condition**](https://blog.illestpreacha.com/mathober2023condition) and exchange some values and parameters to produce a different tempo in SonicPi.

## Poem

```ocaml
The Ordered List
Wants to Be Seen, Wants to Be Heard
They Decided to Split Into Thirds
For They Believe in the Power of Three
The Power That TheirVoices Combine
Will Be Able to Move Mountains Or At Least a Tree
That is the Wish From the Ordered List
```

## Audio

<iframe width="100%" height="300" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/1639987833&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true"></iframe>

[IllestPreacha](https://soundcloud.com/llestreacha) · [ClashOfSounds2](https://soundcloud.com/llestreacha/clashofsounds2)

## SonicPi Code

```ruby
i = 0
live_loop :do do
  Math.cbrt(use_random_seed Time.now.to_i)
  with_fx [:flanger,:echo,:ixi_techno].choose , mix: 0.7 do
    with_fx :distortion, mix: 0.7 do
      if i % 2 == 0
        sample :drum_bass_hard, amp: 4, beat_stretch: (dice(6) + 1)/3 + 0.5
        sleep [0.5,1,2].choose
      end
      if i % 3 == 0
        sample [:elec_blip2,:elec_blup].choose
        sleep [0.25,0.5,0.75,1].choose
      else
        sample [:elec_bell,:elec_soft_kick,:elec_wood].choose
        sleep [1,2].choose
      end
      i = i + rrand_i(1,Time.now.to_i%9)
      puts i
    end
  end
end


j= 0
live_loop :do_2 do
  Math.sqrt(use_random_seed Time.now.to_i)
  with_fx [:flanger,:echo,:ixi_techno,:whammy,:vowel,:ping_pong].choose , mix: rrand(0.1,0.9) do
    with_fx :distortion, mix: 0.7 do
      if j % 2 == 0
        sample [:perc_snap, :perc_snap2, :perc_bell].choose, amp: 4
        sleep [0.5,1,2].choose
      end
      if j % 3 == 0
        sample [:elec_chime,:elec_bong].choose , beat_stretch: (dice(10)+2)/5 + 0.5
        sleep [0.25,0.5,0.75,1].choose
      else
        sample [:elec_bell,:elec_soft_kick,:elec_wood].choose
        sleep [0.2,0.6,1,2,0.6,0.2].choose
      end
      j = Math.hypot(((i * 3)).round() * rrand_i(2,7),i)
      puts j
    end
  end
end
```
