Strudelify

super mario bros 2 ending theme

Koji Kondo

KeyC majorTempo124 bpm
0:00/0:00
// super mario bros 2 ending theme — Koji Kondo
// 124 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4303006; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 56 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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 · piccolo
const piccolo = note(`<
  ~@4 A B C D E F G H I ~ J K I L M N ~@4 O P Q R S T S T S T U V ~@8 W X W X W X Y Z AA AB@3
>`.pickRestart({
  A: "e6 ~ f6 ~ g6 ~ d6 ~@3 d6 ~@3 d6 ~", B: "c6 ~ d6 ~ e6 ~ b5 ~@3 b5 ~@3 b5 ~",
  C: "a5 ~ b5 ~ c6 ~ g5 ~@3 g5 ~ f#5 ~ g5 ~", D: "a5 ~ b5 ~ c6 ~ b5 ~@3 c6 ~ d6 ~@3",
  E: "e6 ~ f6 ~ g6 ~ d6 ~@3 d6 ~ g6 ~ b6 ~", F: "c7 ~ d7 ~ c7 ~ b6 ~@3 a6 ~ g6 ~ f6 ~",
  G: "e6 ~ f6 ~ g6 ~ d6 ~@3 d6 ~ c6 ~ b5 ~", H: "c6 ~@15", I: "c6 ~ d6 ~ c6 ~ d6 ~@3 d#6 ~ f6 ~ g6 ~",
  J: "c6 ~ d6 ~ c6 ~ d6 ~@3 d#6 ~@3 f6 ~", K: "g6 ~@15", L: "~@2 e6 ~ c6 ~ g5 ~@9",
  M: "c6 ~ d6 ~ c6 ~ d6 ~@3 a5 ~ b5 ~ c6 ~", N: "d6 ~@15", O: "c6 ~@7 b5 ~@7", P: "a#5 ~@7 a5 ~@7", Q: "g5 ~@7 g5 ~@7",
  R: "c6 ~@7 c6 ~@7", S: "g#6 ~@7 g#6 ~@7", T: "g6 ~@7 g6 ~@7", U: "f#6 ~@7 f#6 ~@7", V: "g6 ~@7 g5 ~@7",
  W: "g#6 ~ d#7 ~ c7 ~ d#7 ~ g#6 ~ d#7 ~ c7 ~ d#7 ~", X: "g6 ~ e7 ~ c7 ~ e7 ~ g6 ~ e7 ~ c7 ~ e7 ~",
  Y: "f#6 ~ d7 ~ c7 ~ d7 ~ f#6 ~ d7 ~ c7 ~ d7 ~", Z: "g6 ~ d7 ~ b6 ~ d7 ~ g7 ~ f7 ~ d7 ~ f7 ~", AA: "e7@3 c7@3 g6@2",
  AB: "[f6@8 g#6@10 c7@2 ~ c7@22 ~@5, ~@10 b6 ~@13]/3",
})).s("gm_piccolo").gain(0.2)

// other · piccolo · soft notes
const piccolo_soft = note("<~@36 A@2 B C A D E F ~@12>".pickRestart({
  A: "~@2 g7 ~ e7 ~ g7 ~@3 g7 ~ d7 ~ g7 ~", B: "~@2 f7 ~ c7 ~ f7 ~@3 e7 ~ b6 ~ e7 ~",
  C: "~@2 d7 ~ a6 ~ d7 ~@3 f7 ~ b6 ~ f7 ~", D: "~@2 f7 ~ d7 ~ f7 ~@3 f7 ~ c7 ~ f7 ~",
  E: "~@2 e7 ~ c7 ~ e7 ~@3 d7 ~ b6 ~ d7 ~", F: "~@2 g7 ~ e7 ~ g7 ~@3 g7 ~ e7 ~ g7 ~",
})).s("gm_piccolo").gain(0.1)

// other · oboe
const oboe = note(`<
  A@6 B C A D E F ~@7 G H I J K L M N O P ~ Q R P S T U A@2 B C A D E F V W V X V Y Z AA AB AC@3
>`.pickRestart({
  A: "~@2 g5 ~ e5 ~ g5 ~@3 g5 ~ d5 ~ g5 ~", B: "~@2 f5 ~ c5 ~ f5 ~@3 e5 ~ b4 ~ e5 ~",
  C: "~@2 d5 ~ a4 ~ d5 ~@3 f5 ~ b4 ~ f5 ~", D: "~@2 f5 ~ d5 ~ f5 ~@3 f5 ~ c5 ~ f5 ~",
  E: "~@2 e5 ~ c5 ~ e5 ~@3 d5 ~ b4 ~ d5 ~", F: "~@2 g5 ~ e5 ~ g5 ~@3 g5 ~ e5 ~ g5 ~", G: "~@14 f5 ~",
  H: "c5 ~@7 b4 ~@7", I: "a4 ~@7 g4 ~@7", J: "f4 ~@7 e4 ~@7", K: "d4 ~@7 g4 ~@7",
  L: "e5 ~ f5 ~ g5 ~ d5 ~@3 d5 ~ g5 ~ b5 ~", M: "c6 ~ d6 ~ c6 ~ b5 ~@3 a5 ~ g5 ~ f5 ~",
  N: "e5 ~ f5 ~ g5 ~ d5 ~@3 d5 ~ c5 ~ b4 ~", O: "c5 ~@15", P: "c5 ~ d5 ~ c5 ~ d5 ~@3 d#5 ~ f5 ~ g5 ~",
  Q: "c5 ~ d5 ~ c5 ~ d5 ~@3 d#5 ~@3 f5 ~", R: "g5 ~@15", S: "~@2 e5 ~ c5 ~ g4 ~@9",
  T: "c5 ~ d5 ~ c5 ~ d5 ~@3 a4 ~ b4 ~ c5 ~", U: "d5 ~@15", V: "d#5", W: "~ e5@7", X: "~ e5@3", Y: "e5@5 g4@3", Z: "d5",
  AA: "g4@2 ~@2 d5@2 ~@2 g5 ~@7", AB: "c6@3 g5@3 e5@2", AC: "[a5@3 b5@3 a5@2 f5@10 g5@2 ~ g5@22 ~@5, ~@10 f5 ~@13]/3",
})).s("gm_oboe").gain(0.2)

// other · bassoon
const bassoon = note(`<
  ~@12 A B A B A B C D E@2 F G E H I J K L K M K N O P Q R S T U V W X Y Z AA AB Y AC AD AE AF AG@3
>`.pickRestart({
  A: "g#4 ~@7 g#4 ~@7", B: "g4 ~@7 g4 ~@7", C: "f#4 ~@7 f#4 ~@7", D: "g4 ~@7 g3 ~@7",
  E: "~@2 g4 ~ e4 ~ g4 ~@3 g4 ~ d4 ~ g4 ~", F: "~@2 f4 ~ c4 ~ f4 ~@3 e4 ~ b3 ~ e4 ~",
  G: "~@2 d4 ~ a3 ~ d4 ~@3 f4 ~ b3 ~ f4 ~", H: "~@2 f4 ~ d4 ~ f4 ~@3 f4 ~ c4 ~ f4 ~",
  I: "~@2 e4 ~ c4 ~ e4 ~@3 d4 ~ b3 ~ d4 ~", J: "~@2 g4 ~ e4 ~ g4 ~@3 g4 ~ e4 ~ g3 ~", K: "c4", L: "e4", M: "g4",
  N: "c3", O: "f#3", P: "g3@2 ~@2 d4@2 ~@2 g4 ~@5 b2 ~", Q: "e3 ~ f3 ~ g3 ~ d3 ~@3 d3 ~@3 d3 ~",
  R: "c3 ~ d3 ~ e3 ~ b2 ~@3 b2 ~@3 b2 ~", S: "a2 ~ b2 ~ c3 ~ g2 ~@3 g2 ~ f#2 ~ g2 ~",
  T: "a2 ~ b2 ~ c3 ~ b2 ~@3 c3 ~ d3 ~@3", U: "e3 ~ f3 ~ g3 ~ d3 ~@3 d3 ~ g3 ~ b3 ~",
  V: "c4 ~ d4 ~ c4 ~ b3 ~@3 a3 ~ g3 ~ f3 ~", W: "e3 ~ f3 ~ g3 ~ d3 ~@3 d3 ~ c3 ~ b2 ~", X: "c3 ~@15",
  Y: "c4 ~ d4 ~ c4 ~ d4 ~@3 d#4 ~ f4 ~ g4 ~", Z: "~ g4@7", AA: "c4 ~ d4 ~ c4 ~ d4 ~@3 d#4 ~@3 f4 ~", AB: "g4 ~@3 g4@12",
  AC: "~@2 e4 ~ c4 ~ g3 ~@3 c3@6", AD: "c4 ~ d4 ~ c4 ~ d4 ~@3 a3 ~ b3 ~ c4 ~", AE: "d4 ~@15", AF: "g3@3 e3@3 g3@2",
  AG: "[f3@8 c#3@10 c3@25 ~@5]/3",
})).s("gm_bassoon").gain(0.16)

stack(piccolo, piccolo_soft, oboe, bassoon)

More by Koji Kondo