Strudelify

Super Mario Bros - Overworld

Matt Nash

KeyD majorTempo200 bpm
0:00/0:00
// Super Mario Bros - Overworld — Matt Nash
// 200 bpm, 2/2, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1712191; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 78 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(200/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · trumpet · "B♭ Trumpet 1"
const trumpet = note(`<
  A B C D E F C D E F G H G I G H J K G H G I G H J K L M N ~ L M A B C D E F C D E F O P Q M O P R K O P Q M O P R K L
  M N ~ L M A B S P Q M S P R K C T U@2
>`.pickRestart({
  A: "e5 e5@2 e5@2 c5 e5@2", B: "g5 ~ g4@2", C: "c5@3 g4@3 e4@2", D: "~ a4@2 b4@2 a#4 a4@2",
  E: "g4@3 e5@2 g5@3 a5@4 f5@2 g5@2", F: "~ e5@2 c5 d5 b4 ~@2", G: "~@2 g5 f#5 f5 d#5 ~ e5",
  H: "~ g#4 a4 c5 ~ a4 c5 d5", I: "~ c6@2 c6!2 ~@3", J: "~@2 d#5@2 ~ d5@2 ~", K: "c5 ~@3", L: "c5 c5@2 c5@2 c5 d5@2",
  M: "e5 c5@2 a4 g4@2 ~@2", N: "c5 c5@2 c5@2 c5 d5 e5", O: "e5 c5 ~ g4@3 g#4@2", P: "a4 f5@2 f5 a4@2 ~@2",
  Q: "b4@3 a5@2 a5@3 a5@3 g5@2 f5@3", R: "b4@2 f5@4 f5@2 f5@3 e5@2 d5@3", S: "e5 c5@2 g4@3 g#4@2",
  T: "a4@3 b4@2 a4@3 g#4@3 a#4@2 g#4@3", U: "g4/2",
})).s("gm_trumpet").gain(0.3)

// other · trombone
const trombone = note(`<
  A B C D E F C D E F G H I J G H K L G H I J G H K L M N M N M N A B C D E F C D E F O P Q O@2 P R S O P Q O@2 P R S M
  N M N M N A B O P Q O@2 P R S C T U@2
>`.pickRestart({
  A: "e4 e4@2 e4@2 c4 e4@2", B: "g4 ~ g3@2", C: "g3@3 e3@3 c3@2", D: "~ f3@2 g3@2 f#3 f3@2",
  E: "e3@3 c4@2 e4@3 f4@4 d4@2 e4@2", F: "~ c4@2 a3 b3 g3 ~@2", G: "c3@2 ~ g3 ~@2 c4@2", H: "f3@2 ~ c4 c4@2 f3@2",
  I: "c3@2 ~ e3 ~@2 g3 c4", J: "~ g4@2 g4 g4@2 ~@2", K: "~@2 d#3@2 ~ d3@2 ~", L: "c3 ~@3", M: "g#3", N: "g3",
  O: "e4 e4@2 e4 e4@2 ~@2", P: "f4 f4@2 f4 f4@2 ~@2", Q: "d4 d4@2 d4 d4@2 ~@2", R: "f4@2 f4@4 f4@2 f4@3 e4@2 d4@3",
  S: "c4 g3 c3 ~", T: "c4 c#4", U: "c4/2",
})).s("gm_trombone").gain(0.3)

// bass · tuba
const bass = note(`<
  A B C D E F C D E F G H I J G H K L G H I J G H K L M N M N M N A B C D E F C D E F O P Q R O P S T O P Q R O P S T M
  N M N M N A B O P Q R O P S T U V W@2
>`.pickRestart({
  A: "d2 d2@2 d2@2 d2 d2@2", B: "g2 ~ g2@2", C: "c3@3 g2@3 e2@2", D: "~ a2@2 b2@2 a#2 a2@2",
  E: "g2@3 e3@2 g3@3 a3@4 f3@2 g3@2", F: "~ e3@2 c3 d3 b2 ~@2", G: "c2@2 ~ g2 ~@2 c3@2", H: "f2@2 ~ c3 c3@2 f2@2",
  I: "c2@2 ~ e2 ~@2 g2 c3", J: "~@3 g2", K: "c2@2 g#2@2 ~ a#2@2 ~", L: "c3@2 ~ g2 g2@2 c2@2",
  M: "g#1@2 ~@4 d#2 ~@5 g#2@2 ~@2", N: "g2@2 ~@4 c2 ~@5 g1@2 ~@2", O: "c2@2 ~ f#2 g2@2 c3@2", P: "f2@2 f2@2 c3!2 f2@2",
  Q: "d2@2 ~ f2 g2@2 b2@2", R: "g2@2 g2@2 c3!2 g2@2", S: "g2@4 ~@2 g2@2 g2@3 a2@2 b2@3", T: "c3 g2 c2 ~",
  U: "c3@3 g2 g2@2 e2@2", V: "f2 c#2", W: "c2/2",
})).s("gm_tuba").gain(0.3)

stack(trumpet, trombone, bass)