The Dire Dire Docks (Super Mario 64) musical composition in javascript by Koji Kondo.
Listen here on strudel.cc
//////////////////////////////////////////////////////////////////////////////////////////
//
// Dire Dire Docks - Koji Kondo
// @license CC BY-NC-SA 4.0 https://creativecommons.org/licenses/by-nc-sa/4.0/
// @by Bitcoin Graffiti
// @date Nov 9, 2025
//
//////////////////////////////////////////////////////////////////////////////////////////
setcpm(140/16)
// bass line
const bass = note("[g2 d g@6]!2 [f2 c f@6] [f2 c f@4 <c ~ >@2]").s("piano").color('red')
const bas2 = note("[d#2 a#2 d#@6]!2 [f2 c f@6] [f2 c f@4 c@2]").s("piano").color('red')
const bas3 = note("[g2 d g@4 g4 d4][f2 c f@6][d#2 a#2 d# g@3 d# g][f2 c f@4 c f][g2 d g@5 ~]!2").s("piano").slow(1.5).color('red')
const bas4 = note("[c g c4@6]<[b2 g b@3 g b@2] [b2 g b@4 g@2]><[a2 e a@4 e@2][a#2 g a#@4 a#2@2]><[g2 d g@4 d@2] [a2 a@3 d a@3]>").s("piano").color('red')
// melody
const melo = note("~!3 a@2 b@2 d4 g4@3 [d5, g5]@5").s("piano").fast(2).color('teal')
const mel2 = note("~!3 a@2 <bb b>@2 d4 g4@3 [d5, g5]@5").s("piano").fast(2).color('teal')
const chor = note("[~ d g a b c4 b a] [g@2 d@2 c@2 g@2] [d@6 ~!2] [~!5 c@2 c] [b2 d g@3 a2@2 [g2, b2]][~!3 d@2 [b2, g]@3]".add(12)).s("piano").slow(1.5).color("purple")
const refr = note("[~!3 g e4 d4 c4 e4][d4@3 g@5]<[~!3 e d4 c4 b c4] [~!4 c4 d4 c4 b]><[b@3 g@5] [~!2 g@2 e@4]>".add(12)).s("piano").color("purple")
//percussion
const drums = s("sh!32, [bd ~!4 bd ~!2]!4, [~ sd]!4").legato(.15).gain(.4).color('gold')
arrange(
// intro
[2, stack(bass, melo)],
[1, stack(bas2, mel2)],
// chorus
[3, stack(bas3, chor)],
// refrain
[2, stack(bas4, refr)],
// chorus
[3, stack(bas3, drums, chor)],
// refrain
[2, stack(bas4, drums, refr)],
).pianoroll({labels:1})