# WCCC_KuShulan

# PetalsInGardens

For this week's Creative Code challenge by **@sableRaph**: “ ***Ku Shulan***”, **PetalsInGardens** takes ***SonicPi & Hydra*** code and blends them with images of flowers  and sounds related to gardens and forests.

This is to represent Ku Shulan’s paper cutting style that tends to include a lot of floral cutouts through various hues and forms. Sounds used in the SonicPi composition were taken from the BBC sound effects library.

## Poetry

```ocaml
Roses still growing their petals
That with a breeze may be floating
But it isn’t only the roses
But the poses
That can be arranged by the floral
To tell stories of the royal
Of the common
Of the pages that have yet to be summon
As these are just some of the motions
Some of life’s potions
Which motto will you start quoting?
To finish off the latter part
For this canvas, what will be your art?
```

## Video

%[https://youtu.be/uvgq4-Xwqdk] 

## Code

### Hydra

```javascript
 osc(40,0.2,1)
  .modulateScale(osc(40,0,1).kaleid(()=> time % 10 + 1))
  .repeat(()=> (time % 30 + 1)/15)
  .modulatePixelate(o0,0.05).modulateRotate(o0,0.25)
  .modulateKaleid(shape(4,0.1,1).colorama(()=> (time % 15 + 1)/19))
.modulateRotate(shape(()=> (time % 4 + 3),0.1,1).colorama(()=> (time % 15 + 1)/19)).modulateKaleid(osc(1,1,1),[3,4,5,4,3,2,7])
  .out(o0)

speed = 0.0925
```

```javascript
osc(40,0.2,1)
  
.modulateScale(osc(40,0,1).kaleid(8))
  .repeat(2,3,4)
  .modulatePixelate(o0,0.05)
  .modulateKaleid(shape(4,0.1,1))
  .out(o0)

speed = 0.125
```

## SonicPi

```ruby
#sound samples come from BBC Sound Effects


garden = "E:/Creatuve Code Challenges/Ku Shulan/NHU05104001.wav"
garden1 = "E:/Creatuve Code Challenges/Ku Shulan/NHU05093004.wav"
garden2 = "E:/Creatuve Code Challenges/Ku Shulan/NHU05076028.wav"
drums = "E:/Creatuve Code Challenges/Ku Shulan/07011247.wav"
rainforest = "E:/Creatuve Code Challenges/Ku Shulan/00008089.wav"



def looptakes (loop,timer,effects,mixer,sample1,rating)
  
  live_loop loop do
    
    use_random_seed Time.now.to_i / timer
    
    use_bpm 2
    
    with_fx effects.choose, mix: 0.25 do
      with_fx :distortion, mix: mixer do
        sample sample1 , rate: rating, beat_stretch: 2
      end
    end
    
    with_fx :distortion, mix: 0.24 do
      live_loop :chaos do
        sample [:ambi_piano,:ambi_drone].choose, rate: [0.25,0.5,-0.25,0.75,1,-1,-0.5].choose if spread(1743,10000)
        sleep [0.25,0.5,0.75,1].choose
      end
    end
    
    sleep [1,2,4].choose
    
  end
  
  
end


looptakes(:forest,3,[:ping,:wobble,:krush],rrand(0.4,0.6),[rainforest,drums].tick,0.25)

looptakes(:looping,3,[:whammy,:wobble,:krush],rrand(0.4,0.6),[garden,rainforest,drums].tick,0.25)
looptakes(:looping1,3,[:whammy,:wobble,:ixi_techno,:ping_pong],rrand(0.2,0.4), [garden,garden2,drums].tick,0.75)
looptakes(:looping2,2,[:ping_pong,:pitch_shift,:gverb],rrand(0.1,0.3), [garden1,garden,rainforest,rainforest].choose,0.125)
looptakes(:looping3,2,[:ixi_techno,:flanger,:pitch_shift],rrand(0.2,0.7,), [garden,garden1,garden,garden2].choose,0.6)

```
