# Genuary2024_Particle&Music

# ParticlesMashing

The prompt for **Genuary 2024 Day 1** is **Particles** and **Day 31 is Generative Music**

To bring ***ParticlesMashing*** to life, I have coded it in **TixyLand, SonicPi and Hydra**

**TixyLand** provided the particles, **Hydra** provided the extra movements for the particles and **SonicPi** delivered the soundscape.

## Poem

```ocaml
Particles
Parting Patiently
Presently Pacing
As they are looking to the Placing
That occurs
When the Particles submerge
Emerged
As that is what they concur
```

## Video

<iframe width="560" height="315" src="https://www.youtube.com/embed/fauyrhHIBgE?si=-DN3QYo2wVuvvctD"></iframe>

## Code

### TixyLand

```javascript
cbrt(i%y)|cbrt(t%x)&sqrt(hypot(t,i))
```

### Hydra

```javascript
s0.initScreen()
s1.initScreen()

src(s0).kaleid([1.3,2.6,3.9,2.6].smooth()).
scale(0.5).scrollY(0.5).repeat(3,3).
diff(src(s1).colorama(()=> (time % 10 + 1)/10).
kaleid([1.2,2.4,3.6,2.4,1.2].smooth()).scale(2.5).repeat(3,3)).
out()
```

### SonicPi

```ruby
live_loop :random do
  use_bpm [20,40,60,80,100,120,180].choose
  use_random_seed [(Time.now.to_i)/2,(Time.now.to_i)].choose
  with_fx :ping_pong,mix: rrand(0.15,0.65) do
    with_fx [:echo,:wobble,:krush].choose, mix: rrand(0.25,0.55) , amp: 1 do
      sample [:ambi_drone,:ambi_glass_hum,:elec_fuzz_tom,:elec_beep].choose,beat_stretch: [1,0.5,0.8].choose, rate: [0.5,0.4,0.3,0.2,0.3,0.4].tick
      sleep [0.5,1,2].choose
    end
  end
end
```
