Strudelify

The Credits Roll: From Super Mario 3D World

Koji Kondo

KeyD majorTempo212 bpm
0:00/0:00
// The Credits Roll: From Super Mario 3D World — Koji Kondo
// 212 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 14 "Bass" named as a bass, played on electric bass finger (its tuba patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5609374; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 107 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(212/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 · "Alto Sax"
const trumpet = note(`<
  A B C D ~@2 E F ~@19 G H@2 I@3 J K@2 H@2 L@3 M@3 ~@3 N@4 ~@3 O@2 P Q R@2 S@2 ~@17 G T@2 U@2 J@2 V ~ W X Y@2 Z AA AB AC
  AD AE AF AG@4 AH AI@3
>`.pickRestart({
  A: "~@2 a3@2 a#3 d4 ~ f4 a4@2 ~@2 c4@2 ~@2", B: "c#4 f4 ~ c5@4 ~", C: "~ a4 c5 d5 d#5 ~ d5 ~",
  D: "c5 a#4 ~ a#4@3 ~@2", E: "~ c4 ~ b3 a#3 a3@2 f4", F: "~ e4 d#4 d4@3 ~@2", G: "~@5 c4 d4 f4",
  H: "[g4 ~ f4 ~ e4 f4 ~ c4@5 ~ c4 d4 f4]/2", I: "[g4 ~ f4 ~ e4 f4 ~ a4@5 ~ f4@2 c5@4 a#4 ~@2 f4@2]/3",
  J: "c5@3 a#4 ~@2 f4@2", K: "[a4 ~ a4 ~ a4 a#4 ~ g4@5 ~ c4 d4 f4]/2",
  L: "[g4 ~ f4 ~ e4 f4 ~ a4@5 ~ f4@2 c5@3 c5 a#4@3 a4@2]/3", M: "[g4 ~ c4 ~ d4 f4 ~ f4@15 ~@2]/3",
  N: "[~ b3 c4 a4 f#4 a4 f#4 f4@6 g4 f4 e4@11 ~@6]/4", O: "[~ g#3 a3 e4@2 d#4 e4 g4@2 e4 f4 c5@2 ~ a3 ~]/2",
  P: "a#3@3 g3 ~@2 g3 a3", Q: "a#3@3 g3 ~@2 d#4@2", R: "c4/2", S: "[~@2 f4 ~@5 f4 ~@5 d#4@18]/2",
  T: "[g4 ~ f4 ~ e4 f4 ~ c4@6 c4 d4 f4]/2", U: "[g4!2 f4 ~ e4 f4 ~ a4@6 f4!2 c5]/2", V: "a4 g#4 a4 g#4 a4 a#4 f#4 g4",
  W: "~@2 c4 b3 a#3 a3 ~@2", X: "c4 b3 a#3 a3 ~@4", Y: "[~ d4 c4 a#3 a3 f3 ~ f3@2 d4 c#4 c4 ~ f4!2 c5]/2",
  Z: "c5@3 a#4@3 a4@2", AA: "g4", AB: "~ c4", AC: "c4", AD: "f4!2", AE: "g4!2", AF: "~@5 f4 d4 f4",
  AG: "[g4 ~ c4 ~ g4 g#4 g4 f4@2 c4 d4 f4@2 c4 d4 f4@2 c4 d4 f4@2 c4 d4 f4@9]/4", AH: "c#4", AI: "[~ g4@7]/3",
})).s("gm_trumpet").gain(0.4)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D@5 E F ~@30 G H I J ~@10 K@2 L M N@2 O@2 ~@2 P Q R S T U V W ~@7 X Y@2 Z@2 AA AB AC ~@4 AD AE AF AG AH AI AJ AK
  ~ AL@3 AM AN@3
>`.pickRestart({
  A: "~@2 a2@2 a#2 d3 ~ f3 a3@2 ~@2 c3@2 ~@2", B: "c#3 f3 ~ c4@4 ~", C: "~ c4!2 d4 d#4 ~ d4 ~",
  D: "[d#4 c4 ~ d2@4 g2@14 f2 f#2 g2@13 g2 f2 f#2 g2]/5", E: "~@2 g2@3 a2@3", F: "a#2@3 b2@5", G: "~@3 b2",
  H: "c3 ~ g#2@2 a2 ~ c2@2", I: "f2 a2", J: "a#2@6 c3 ~@9", K: "[~ g#2 a2 e3@2 d#3 e3 g3@2 e3 f3 c4@2 ~ a3 ~]/2",
  L: "a#3@3 g3 ~@2 g3 a#3", M: "a#3@3 g3 ~@2 d#4@2", N: "c4/2", O: "[~ g2@2 g#2 g2 d#2 ~ c2@9]/2", P: "a2@4 a#2 ~ a2 ~",
  Q: "a#2 d#3 ~ f#3@4 ~", R: "a2 ~ a2 ~ a2 g#2 f#2 a2", S: "g#2", T: "~@2 a2@2 a#2 ~ a2 ~", U: "a#2 d#3 ~ f#3@4 a#3",
  V: "a3 f#3 d#3 a3 g#3 f3 d3 g#3", W: "f#3 ~", X: "~@5 c3 d3 f3", Y: "[f3 ~ f3 ~ f3!2 ~ d3@6 c3 d3 f3]/2",
  Z: "[f3!3 ~ d3 f3 ~ c4@6 a3!2 c4]/2", AA: "f3@3 f3 ~@2 f3@2", AB: "f3@3 f3 ~@2 g3@2",
  AC: "g3 f#3 g3 f#3 g3 a#3 a3 g3", AD: "~@5 f3 c4 f3", AE: "a#2@3 d3@3 f3@2", AF: "c#3", AG: "~ e2", AH: "d2",
  AI: "g2 a2", AJ: "a#2 b2", AK: "c3 ~ c2@2 ~@4", AL: "[~ c3 d3 f3@2 c3 d3 f3@2 c3 d3 f3@2 c3 d3 f3@9]/3", AM: "f#2",
  AN: "[~ f2@7]/3",
})).s("gm_baritone_sax").gain(0.4)

// other · trumpet
const trumpet_2 = note("<A B C D ~@4 E F G ~@73 H@2 ~ I J@2 K@2 ~ L M N O P ~@4 Q R@4>".pickRestart({
  A: "f4 ~@15", B: "~@5 c5@3", C: "d5 ~@15", D: "~@3 a#4@3 ~@2", E: "~ f4 ~ e4 d#4 d4@2 a4", F: "~ g4 f#4 f4@2 d5 ~ a4",
  G: "c5 ~ a#4 ~ a4 g#4 ~ g4", H: "~@3 f5 ~@4", I: "~ c5@3 d5 ~ f5 ~", J: "[g5 ~ f5 ~ e5 f5 ~ c5@6 c5 d5 f5]/2",
  K: "[g5 ~ f5 ~ e5 f5 ~ a5@6 ~@3]/2", L: "f5@3 d#5@3 c#5@2", M: "a#4 c5 d5 c5 d5 c5 d5 c5 d5 c5 d5 c5 d5 c5 d5 c5",
  N: "~@6 a4 a#4", O: "c5@3 a#4@3 a4 ~", P: "g4", Q: "~@5 d#5 f5 g#5", R: "[a#5 ~ g#5 ~ g5 g#5@4 ~@2 g5@21]/4",
})).s("gm_trumpet").gain(0.45)

// other · trumpet
const trumpet_3 = note("<~@29 A B@2 ~@5 C@3 ~@67>".pickRestart({
  A: "~@2 c5 ~@5 c5 ~@7", B: "[~@14 e4@4 e4@2 e4@2 f4 ~@9]/2", C: "[~@3 g4 f#4 e4 f4 d5@6 c5 b4 c5@7 ~@2]/3",
})).s("gm_trumpet").gain(0.4)

// other · trumpet
const trumpet_4 = note("<~@77 [~@7 c#5] [c5 g#4 f4 c5 b4 g#4 f4 b4] [a4 ~@7] ~@27>").s("gm_trumpet").gain(0.45)

// other · trombone
const trombone = note(`<
  A B C D E F ~@2 G H I ~@15 J K ~@4 L M@2 N O@2 ~@4 P Q R S T@2 U V W X Y S T@2 ~@2 Z AA AB@2 ~@45
>`.pickRestart({
  A: "f3@3 ~@13", B: "~@5 c4@3", C: "d4 ~@15", D: "~@3 a#3@3 ~@2", E: "~ f3 ~ e3 d3 c3@2 a3", F: "~ g3 f3 e3@3 ~@2",
  G: "~@2 a#3@3 a3@3", H: "a#3@3 b3@5", I: "e3 ~ g3 ~ c4 b3 ~ a#3", J: "c4 d4", K: "d4 ~", L: "~ d4",
  M: "[g4@5 ~ f4@2]/2", N: "e4 a3", O: "[d4@5 ~@3]/2", P: "c4 ~@3 c4 ~@3 c4 ~@3 c4 ~@3", Q: "d4@6 c4 ~@5 f3@2 ~@2",
  R: "d4@3 a#3 ~@2 d4 ~", S: "f4@3 e4 ~@2 d4@2", T: "[c4 ~ c4 ~ c4 a#3 ~ a3@5 ~@4]/2", U: "a#3@3 g3 ~@2 a#3@2",
  V: "d4@3 c4 ~@2 a#3 ~", W: "~@2 a3 ~ a#3 ~@3", X: "b3@3 c4 ~@2 f3 ~", Y: "d4@3 a#3 ~@2 d4@2",
  Z: "g#3 ~ g#3 ~ c4 ~ c4 ~", AA: "d#4 ~ d#4 ~ f4 ~ f4 ~", AB: "[~@2 f4 ~@5 f4 ~@5 g#4@18]/2",
})).s("gm_trombone").gain(0.45)

// other · trombone
const trombone_2 = note("<~@71 A@2 B C D E F ~@29>".pickRestart({
  A: "[~@7 c3@5 c#3 ~ c3 ~]/2", B: "c#3 f#3 ~ a3@4 ~", C: "c3 ~ c3 ~ c3 b2 a2 c3", D: "b2", E: "~@2 c3@2 c#3 ~ c3 ~",
  F: "c#3 f#3 ~ a3@3 ~@2",
})).s("gm_trombone").gain(0.45)

// other · trombone
const trombone_3 = note("<~@84 A@2 ~ B C@2 D@2 ~@3 E F G ~ H@4 I J@3>".pickRestart({
  A: "~@3 f4 ~@4", B: "~ c4@3 d4 ~ f4 ~", C: "[g4 ~ f4 ~ e4 f4 ~ c4@6 c4 d4 f4]/2",
  D: "[g4 ~ f4 ~ e4 f4 ~ d#4@6 ~@3]/2", E: "~@3 d4 e4 f#4 e4 d4", F: "c4@3 a#3@3 a3 ~", G: "g3",
  H: "[~@7 d4@4 d4@4 c4@4 c4@4 c4@9]/4", I: "c#4", J: "[~ e4@7]/3",
})).s("gm_trombone").gain(0.45)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B C D@5 E F G ~ H I J K L M N O P Q R S T U V W H X J Y L M N Z P Q R S T O AA AB AC AD AE AF AG AH AI AJ AK AL AM
  AN AO AP AQ AR AS@2 ~@9 AT AU AV AW AX AU@2 ~ AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ ~ BR@4 BS BT@3
>`.pickRestart({
  A: "g2@3 ~@13", B: "~@5 d#2@3", C: "a2 ~@7", D: "[~@3 d2@2 a#2 a2 g2@14 f2 f#2 g2@13 g2 f2 f#2 g2]/5",
  E: "~@2 g2@3 a2@3", F: "a#2@3 b2@5", G: "c3 ~@7", H: "f2 ~@3 c3 ~@3", I: "f3 ~@2 c3 f3 ~ c3 ~", J: "d3 ~@3 a2 ~@3",
  K: "d3 ~@3 d3 ~ c3 ~", L: "a#2 ~@3 f2 ~@3", M: "d#3 ~@3 a#2 ~ a2 ~", N: "g2 ~@3 d3 ~@3", O: "c3 ~@3 c3 ~ e3 ~",
  P: "f3 ~@3 c3 ~@3", Q: "f3 ~@3 f3 ~ d3 ~", R: "c3 ~@3 g3 ~@3", S: "f3 ~@3 c3 ~ b2 ~", T: "a#2 ~@3 d3 ~@3",
  U: "c3 ~@3 c3 ~ a#2 ~", V: "a2 ~@3 g#2 ~@3", W: "g2 ~@3 c3 ~@3", X: "f3 ~@2 a2 c3 ~ c#3 ~", Y: "d3 ~@2 a2 d3 ~ c3 ~",
  Z: "c3 ~@3 g2 c3 ~ e2", AA: "f3 ~ g3 ~ a2 ~ a2 ~", AB: "a#2@3 c3@3 f3 ~", AC: "a#2 d3 g3 f3", AD: "d3 c3 a#2 g2",
  AE: "a2 c3 e3 d#3", AF: "d2 c3 f#2 a2", AG: "g2 a2 a#2 a2", AH: "g2 a#2 d3 a#2", AI: "~ f2 g2 d3",
  AJ: "g#2@2 f2 a2@3 f3 ~", AK: "a#2 d3 f3 d3", AL: "b2 d3 f3 d3", AM: "c3!2 c#3!2", AN: "d3 c3 d2 a2",
  AO: "g2 a2 a#2 b2", AP: "c3 d3 e3 c3", AQ: "c#3!2 c3!2", AR: "a#2!2 g#2!2", AS: "[~ g2 ~@2 g2 ~@2 c3@9]/2",
  AT: "~@2 d#2@3 ~@3 e2@2 ~@2 f2@2 ~@2", AU: "f#2@3 ~@3 c#2@3 ~@3 e2@2 ~@2", AV: "f#2@3 ~@3 e2@3 ~@3 c#2@2 ~@2",
  AW: "d2@3 ~@3 a2@3 ~@3 d2@2 ~@2", AX: "c#2@3 ~@3 g#2@3 ~@3 g2@2 ~@2", AY: "~ c2@3", AZ: "f2 a2 d3 f3",
  BA: "d3 a#2 g2 c3", BB: "d3 c3 a2 f2", BC: "d2 e2 f2 a2", BD: "a#2 c3 d3 a#3", BE: "g3 d#3 a#2 d#3",
  BF: "g2@2 a2@2 a#2@2 d3 c3", BG: "~ c3@3 d#2@2 e2@2", BH: "f2 a2 c3 f3", BI: "e3 d3 a2 a#2", BJ: "c3 d3 e3 g3",
  BK: "f3 f2 c3 f3", BL: "a#2 d3 f3 e3", BM: "d#3 g2 a#2 a2", BN: "g2 c3 e3 a2", BO: "g#2 c3 e3 g#3", BP: "g2 a2",
  BQ: "c3 ~ c3@2 ~@4", BR: "[~@7 b2@4 a#2@4 a2@4 g#2@4 c#3@9]/4", BS: "f#2", BT: "[~ f2@7]/3",
})).s("gm_electric_bass_finger").gain(0.4)

stack(trumpet, baritone_sax, trumpet_2, trumpet_3, trumpet_4, trombone, trombone_2, trombone_3, bass)

More by Koji Kondo