WCCChallenge: Azulejos

WCCChallenge: Azulejos

InvertedAzulejos

InvertedAzulejos

For this week's Creative Code challenge by @sableRalph : Azulejo, I decided to code Animated Azulejo-like tiles with Hydra & SonicPi

  • The inspiration for this sketch is based on the blueness of Azulejo tiles and their functional component of temperature control through their white background - https://www.deccanherald.com/content/29446/looking-tiles-azulejos.html

  • Instead of going with the standard blue and white, I decided to go with the inverse and have Yellow and black as the colours.

  • Keeping the concept of tiling and geometric motifs, I had the Hydra sketch transform various times into different "Inverted Azulejos" tilesets

  • For the Audio, I wanted to reflect the temperature control aspect by having a refreshing/reflective composition

Poem

Reforming, Reswarming
Tiles reshaping their styles
Ignoring their initial creation file
With new information mint for storing
Will they keep this pace or start to be wild?

Video

Code

Hydra Code

function r(min=0,max=1) { return Math.random()*(max-min)+min; } //randomizer

//color(1,1,0) is the yellow hue

shape([4,5,5,5,5,5,5,5,4,4,4,4].smooth(),0.3,1).invert().luma([0.5,0.4,0.3,0.2,0.1,0.2,0.3,0.4,0.6,0.8].smooth()).color(1,1,0).modulateKaleid(shape(3,0.2,1).kaleid([3,4,5].smooth()),[4,5,8,9,11].smooth()).repeat(2.5,2.5).add(shape(4,()=> r(0.1,0.7),1).rotate(4).color(0,0,1).luma([0.2,0.4,0.6,0.4,0.2].smooth())
.modulateKaleid(shape(4,0.5,1).rotate(()=>r(0.1,0.7)*7))).repeat(4,4).rotate().out()


speed = 0.275

SonicPi Code


live_loop :guit do
  with_fx :ping_pong, mix: rrand(0.1,0.7) do
    with_fx :echo, mix: 0.6, phase: 0.25 do
      sample :guit_em9, rate: 0.5, beat_stretch: [0.25,0.5].choose
    end
    sample :guit_em9, rate: -0.5, beat_stretch: (dice(10) + 1/17)
    sleep [3,6,9].choose
  end
end


live_loop :boom do
  with_fx :reverb,  room: 1 do
    sample :bd_boom, amp: 10, rate: 0.7 * (dice(10) + 1/17)
    sample :bd_boom, amp: dice(10), rate: -0.7
  end
  sleep [2,3,4].choose
end

notes = (ring :E4, :Fs4, :B4, :Cs5, :D5, :Fs4,:E4, :Cs5, :B4, :Fs4, :D5, :Cs5)
live_loop :faster do
  use_synth [:piano,:beep, :prophet].choose
  play notes.tick, release: 0.1
  sleep [0.3,0.6,0.45].choose
end

live_loop :slower do
  play notes.tick, release: 0.1
  use_synth :rodeo
  sleep [4,8,16].choose
end