pull down to refresh

I coded up some Dark house (if that's even a genre) in javascript .
Listen here on --> strudel

//////////////////////////////////////////////////////////////////////////////////////////
//
// Dark House
// @license CC BY-NC-SA 4.0 https://creativecommons.org/licenses/by-nc-sa/4.0/
// @by Bitcoin Graffiti
// @date Oct 2, 2025 
//
//////////////////////////////////////////////////////////////////////////////////////////

setcpm(120/4)


const organ = chord("<Dm E Cm9 D>").voicing().s("gm_rock_organ:3").room(1).beat("1, 2, <~ 2.5>,  4, 5.5, 7", 8).color('teal').gain(1.5)
const bd = s("bd!4").gain(.7).bank("RolandTR909")
const sd = s("~ sd:1!2 [sd:1 sd:1]").fast(1).bank("RolandTR909")
const cp = s("~ cp [~ cp] ~").gain(.8).bank("RolandTR909")

const bass = note("[d f g f] e [d#] d").s("gm_electric_bass_finger:2").slow(4).gain(1).room(1).color('red')

const melody = note("d@3 a ab@3 f g@3 d# d@4").s("gm_harpsichord:3").gain(1).slow(4).room(1).color('blue')
const buzz = note("d").beat("26, 28, 31", 32).s("bytebeat").slow(2).gain(2).room(1).color('magenta')

const drums = stack(bd, sd, cp).color('yellow')

  
arrange(
  [4, stack(drums, bass)],
  [4, stack(drums, melody, bass)],
  [4, stack(drums, melody, buzz, bass)],
  [16, stack(drums, melody, buzz, organ, bass)],
).pianoroll({labels: 1})
this territory is moderated