the office ❑ 𓆱

the myth of silence

silence is a myth. the forest proves it. if a tree falls and you are not around to hear it, of course it makes a sound. don't be silly! between the gossip of the insects and the wind, new sounds have found themselves at home in the forest.


sounds written with strudel

setcpm(70/4);

const drift = (amt=0.1) => x => x.speed(1 + (Math.random()*amt - amt/2));

const forestWind =
  s("wind:0*8 wind:1*4 wind:0*6")
    .slow(1.5 + Math.random()/2)
    .gain(0.55 + Math.random()*0.1)
    .room(0.95)
    .size(0.98)
    .cutoff(4000 + Math.random()*2000)
    .off(1/8, drift(0.2));

const insects =
  s("insect*3 ~ insect*2 ~ insect*6 ~")
    .slow(1.8 + Math.random()*0.6)
    .degradeBy(0.3 + Math.random()*0.4)
    .gain(0.35 + Math.random()*0.1)
    .room(0.9)
    .size(0.95)
    .cutoff(5000)
    .off(1/16, x => x.speed(1.1 + Math.random()*0.3));

const forestHum =
  s("space:1 ~")
    .slow(3 + Math.random())
    .gain(0.3)
    .room(0.8)
    .size(0.9)
    .cutoff(2500 + Math.random()*500)
    .off(1/8, drift(0.05));

const distantCrows =
  s("crow ~ ~ ~ ~ ~ ~ ~")
    .slow(6 + Math.random()*4)
    .degradeBy(0.7 + Math.random()*0.3)
    .gain(0.15 + Math.random()*0.05)
    .room(0.85)
    .cutoff(3000)
    .off(1/16, drift(0.15));

const officeMachinery =
  s("0")
    .bank("xylophone_medium_ff")
    .slow(2 + Math.random()*2)
    .gain(0.04 + Math.random()*0.03)
    .room(0.2)
    .cutoff(1500 + Math.random()*400)
    .degradeBy(0.4 + Math.random()*0.4);

const keyboard =
  s("hh hh ~ hh ~ rim ~ hh")
    .bank("AkaiLinn")
    .fast(1.5 + Math.random()*1)
    .degradeBy(0.5 + Math.random()*0.3)
    .gain(0.03 + Math.random()*0.03)
    .room(0.15)
    .cutoff(4500 + Math.random()*600)
    .off(1/8, drift(0.1));

const notifications =
  s("<casio:2 numbers:1 jazz:3> ~ ~ ~")
    .slow(3 + Math.random()*3)
    .degradeBy(0.5 + Math.random()*0.3)
    .gain(0.03 + Math.random()*0.03)
    .room(0.4)
    .size(0.6)
    .cutoff(2000 + Math.random()*400)
    .off(1/16, x => x.speed(1.1 + Math.random()*0.2));

const printer =
  s("metal:1 ~ space:2 ~")
    .slow(4 + Math.random()*5)
    .degradeBy(0.6 + Math.random()*0.3)
    .gain(0.02 + Math.random()*0.02)
    .room(0.4)
    .cutoff(2000)
    .off(1/16, drift(0.2));

stack(
  forestWind,
  insects,
  forestHum,
  distantCrows,
  officeMachinery,
  keyboard,
  notifications,
  printer
);

πŸ’