Strudelify

super mario 64 Koopa's Road

Koji Kondo

KeyC majorTempo220 bpm
0:00/0:00
// super mario 64 Koopa's Road — Koji Kondo
// 220 bpm, 2/2, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5863798; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 83 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(220/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · violin · "Violin I"
const violin = note(`<
  A B C D E F G H I J K D E L M N O P Q D E F G H I J K D E L M N O P R S T U V@2 T U W@2 X Y Z AA X Y AB AC AD@2 AE@2
  AD@2 AF AG AD@2 AE@2 AD@2 AH AI E AJ G AK I J AL D E L M N O P Q
>`.pickRestart({
  A: "c6@2 a5@2 c6@2 d6 c6", B: "~ e5@3 f5@2 f#5@2", C: "g5@2 ~@2 g5 g4 ~ g5", D: "~@6 d5 d#5",
  E: "e5 d#5 e5 g5 ~ a5 g5 ~", F: "c5@2 ~@4 g4 g#4", G: "a4 g#4 a4 c5 ~ d5 c5 ~", H: "a4@2 ~@4 g#4!2",
  I: "g4 f#4 g4 g5 ~@2 g4 f#4", J: "g4 g5 ~@2 g4 f#4 g4 g5", K: "~@2 g5@2 a5 g5 ~ d5", L: "a#5 ~@5 g#5@2",
  M: "a5 g#5 a5 c6 ~ d6 c6 ~", N: "a5 ~@5 g#5!2", O: "g5 f#5 g5 g4 ~@2 g5 f#5", P: "g5 g4 ~ g4 [b4,e5]@2 [b4,e5]@2",
  Q: "[e4,c5]@4 g5 a5 ~ c6", R: "[e4,c5]@2 c6 ~ a#5 b5 ~ c6", S: "c6@4 e5 f5 g5 g#5", T: "[a4,a5]@6 g#5 ~",
  U: "[b4,g5]@6 f#5 ~", V: "[[a4,f5] ~@2 [b4,g5] ~@2 g4@2 g4@4 e5 f5 g5 g#5, ~@3 e5@3 ~@2]/2",
  W: "[[a4,f5] ~@2 [g4,e5] ~@2 c5@10]/2", X: "[c5,a5] ~ [c5,a5] ~ [c5,g#5] ~ [c5,g#5] ~",
  Y: "[b4,g5] ~ [b4,g5] ~ [a#4,f#5] ~ [a#4,f#5] ~", Z: "[a4,f5] ~@2 [b4,g5] ~@2 [g4,e5]@2", AA: "[g4,e5]",
  AB: "[a4,f5] ~@2 [g4,e5] ~@2 [e4,c5]@2", AC: "[e4,c5]", AD: "c5 e4 ~ a#4 ~@4", AE: "a4 c4 ~ d#4 ~@4",
  AF: "a4 ~ a4 ~ a4 ~ a4 ~", AG: "g#4 ~@3 g4@4", AH: "a4 ~ a4 ~ a4 ~ c5 ~", AI: "d#5 ~@3 e5 ~ d5 d#5",
  AJ: "c5 ~@5 g4 g#4", AK: "a4 ~@5 g#4!2", AL: "~@2 g5 ~ a5 g5 ~ d5",
})).s("gm_violin").gain(0.3)

// other · viola
const viola = note(`<
  A B C D E F G H I@2 J@2 K F L M N O P Q E F G H I@2 J@2 K F L M N O P R S T U@2 S T V@2 W X V@2 W X Y Z AA AB AC AD AA
  AB AC AE AA AB AC AD AA AB AF AG E F G H I@2 AH@2 K F L M N O P
>`.pickRestart({
  A: "c4@2 a3@2 c4@2 d4 c4", B: "~ e3@3 f3@2 f#3@2", C: "g3@2 ~@2 g3!2 ~ g3", D: "~ [g3,g4]", E: "c3@2 ~ g4 ~@2 c3!2",
  F: "~@2 g4 ~ g4 ~ e3@2", G: "f3@2 ~ a4 ~@2 f3!2", H: "~@2 a4 ~ a4 ~ f3@2",
  I: "[e3@2 ~ g4 ~@2 e4 d#3@3 g4 ~ g4 ~ d#3@2]/2", J: "[d3 ~ f4 f3 f4@2 g3@4 d4 ~ d4 ~@3]/2", K: "c3@2 ~ g4 ~@2 c3 e3",
  L: "f3@2 ~ f4 ~@2 f3 f#3", M: "~@2 a4 ~ a4 ~ f#3@2", N: "g3@2 ~ g4 g3 ~ g4 ~", O: "~ g3 g4 ~ d4 ~@3",
  P: "c3@2 ~ g4 ~@2 c4 c3", Q: "~@2 c3 ~ c4@2 c3@2", R: "~@2 c4 ~ c4@4", S: "f4@3 a4 ~@2 f4 ~", T: "e4@3 g4 ~@2 e4 ~",
  U: "[d4 ~@2 d4 ~@2 c4@4 c4 ~ e4@4]/2", V: "[d4 ~@2 d4 ~@2 c4@3 c4!2 ~ d4 ~ e4 ~]/2", W: "f4 ~ f4 ~ f4 ~ f4 ~",
  X: "e4 ~ e4 ~ d#4 ~ d#4 ~", Y: "d4 ~@2 d4 ~@2 c4@2", Z: "c4", AA: "c3@6 c3 c4", AB: "~@2 c3 ~ c4 c3@3",
  AC: "f3@6 f3 f4", AD: "~@2 f3 ~ f4 f3@3", AE: "~@2 f3 ~ g4 g3@3", AF: "f3 ~ f3 ~ f3 ~ f#3 ~", AG: "g3 ~@3 g3@4",
  AH: "[d3 ~ f4 f3 f4 ~ g3@4 d4 ~ d4 ~@3]/2",
})).s("gm_viola").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  A B C D E F G H I@2 J@2 K F L M N O P Q E F G H I@2 J@2 K F L M N O P R S T U@2 S T V@2 W X V@2 W X Y Z AA AB AC AD AA
  AB AC AE AA AB AC AD AA AB AF AG E F G H I@2 AH@2 K F L M N O P
>`.pickRestart({
  A: "c3@2 a2@2 c3@2 d3 c3", B: "~ e2@3 f2@2 f#2@2", C: "g2@2 ~@2 g2!2 ~ g2", D: "~ g2", E: "c2@2 ~ e3 ~@2 c2!2",
  F: "~@2 e3 ~ e3 ~ e2@2", G: "f2@2 ~ f3 ~@2 f2!2", H: "~@2 f3 ~ f3 ~ f2@2",
  I: "[e2@2 ~ e3 ~@2 e3 d#2@3 d#3 ~ d#3 ~ d#2@2]/2", J: "[d2 ~ d3 d2 d3@2 g2@6 g2@4]/2", K: "c2@2 ~ e3 ~@2 c2 e2",
  L: "f2@2 ~ f3 ~@2 f2 f#2", M: "~@2 d#3 ~ d#3 ~ f#2@2", N: "g2@2 ~ d3 g2 ~ d3 ~", O: "~ g2 e3 ~ g2 ~@3",
  P: "c2@2 ~ e3 ~@2 c3 c2", Q: "~@2 c2 ~ c3@2 c2@2", R: "~@2 c2 ~ c2@4", S: "f2@3 f3 ~@2 f2 ~", T: "e2@3 e3 ~@2 e2 ~",
  U: "[d2 ~@2 d2 ~@2 c2@4 c2 ~ e2@4]/2", V: "[d2 ~@2 d2 ~@2 c2@3 c2!2 ~ d2 ~ e2 ~]/2", W: "f2 ~ f2 ~ f2 ~ f2 ~",
  X: "e2 ~ e2 ~ d#2 ~ d#2 ~", Y: "d2 ~@2 d2 ~@2 c2@2", Z: "c2", AA: "c2@6 c2 c3", AB: "~@2 c2 ~ c3 c2@3",
  AC: "f2@6 f2 f3", AD: "~@2 f2 ~ f3 f2@3", AE: "~@2 f2 ~ g3 g2@3", AF: "f2 ~ f2 ~ f2 ~ f#2 ~", AG: "g2 ~@3 g2@4",
  AH: "[d2 ~ d3 d2 d3 ~ g2@6 g2@4]/2",
})).s("gm_cello").gain(0.3)

stack(violin, viola, cello)

More by Koji Kondo