Strudelify

Music from Mario Kart 8

Kenny Kriha

KeyF majorTempo276 bpm
0:00/0:00
// Music from Mario Kart 8 — Kenny Kriha
// 276 bpm, 2/2, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 5 "Tenor Saxophone" named as a reed, played on tenor sax (its piano patch is not one); ch 6 "Baritone Saxophone" named as a reed, played on baritone sax (its piano patch is not one); ch 7 "B♭ Trumpet" named as a brass, played on trumpet (its piano patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/4925228; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 265 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(276/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 · piano
const piano = note(`<
  ~@2 A@2 B@2 C@3 ~ A@2 B@2 D E@2 ~ F@2 G@2 H@2 I@2 J@4 K@4 L@2 M N@2 O P Q R@4 S@2 T@2 U V W X Y Z AA AB AC AD AE AF@2
  AG@3 AH AI AJ AK AL@2 AM AN AO AP AQ AR AS AT AU@4 AV@2 AW@2 AX AY AZ BA BB BC@2 BD BE BF U V W X Y Z AA AB AC AD AE
  AF@2 AG@3 AH AI AJ AK AL@2 AM AN AO AP AQ AR AS AT AU@4 AV@2 AW@2 AX AY AZ BA BB BC@2 BD BE BF ~@119
>`.pickRestart({
  A: "[f4!2 ~ eb4 ~ f4 ~ f4@3 eb4 ~ bb3@4]/2", B: "[f4!2 ~ eb4 ~ f4 ~ eb4@5 ~@4]/2",
  C: "[f4!2 ~ eb4 ~ f4 ~ f4@3 g4 ~ bb3@12]/3", D: "f4!2 ~ eb4 ~ f4 ~ bb4", E: "[~ bb3@7]/2",
  F: "[f4!2 ~ eb4 ~ f4 ~ f4@3 eb4 ~ bb4@4]/2", G: "[f5!2 ~ eb5 ~ f5 ~ c6@5 ~@4]/2",
  H: "[gb4!2 ~ e4 ~ gb4 ~ gb4@3 b4 ~@3 db5 ~]/2", I: "[b4@2 gb4!2 ~ e4 ~ b3@5 ~@4]/2",
  J: "[f4!2 ~ eb4 ~ f4 ~ f4@2 eb4 bb4@18 ~@4]/4",
  K: "[f4@2 f4@2 ~@2 eb4@2 ~@2 f4@2 ~@2 f4@4 [f4,g4] [a4,b4] c5@36 ~@4 c5@4]/4", L: "[bb4@10 a4@4 bb4 ~]/2",
  M: "f4@3 eb4@3 f4 ~", N: "[bb3@3 ~]/2", O: "~@2 bb3 c4 eb4 f4 g4 bb4", P: "c5 d5@5 c5@6 bb4@4", Q: "bb4@2 eb5 f5",
  R: "[~@4 g5@7 eb5 bb5@18 c6@2]/4", S: "[bb5@11 ab5 g5 ab5 ~ g5]/2", T: "[ab5@2 g5 f5 ~ eb5 bb4@8 ~@2]/2",
  U: "~@4 gb4 g4 bb4 a4", V: "ab4 bb4 c5 eb5 g5@2 ab5 g5", W: "~@4 f5@2 eb5@2 c5 d5@7", X: "c5@2 bb4 c5 g4 bb4@3",
  Y: "bb4 c5@3 ~@4", Z: "~ c5@2 c5@2 b4 c5 d5", AA: "eb5 c5 ab4 f4 gb4 bb4 d5 c5",
  AB: "bb4@2 g4@2 ab4@2 bb4 ab4 g4@2 ab4@2 bb4@2 c5@2", AC: "f4 g4@7 f4@4 eb4@2 d4@2", AD: "~ d5@3 bb4 g4 c5 g4",
  AE: "bb4@3 c5@5", AF: "[~@3 c5@2 eb5 g5 ab5]/2",
  AG: "[g5@4 f5@4 eb5@4 bb5@8 f5 gb5@3 f5@4 eb5@8 c5@4 ~@4 d5@2 f5@2]/3", AH: "eb5 c5 b4 d5 db5 bb4 c5 ab4",
  AI: "g4 f4 bb4 g4 ab4 bb4 b4 ab4", AJ: "eb5@2 b4@2 bb4@2 a4@2 ab4@2 bb4@2 g4@2 ab4 g4", AK: "f4 g4 ~@4 ab5 a5",
  AL: "[ab5 e5 b4 a4 b4 ab4 a4 e5@3 db5@2 e5@2 gb5@2]/2", AM: "e5 ~ e5@2 db5@4", AN: "~@4 g5@2 f5 eb5",
  AO: "d5 c5 b4 c5 eb5 c5 ab4 f4", AP: "d5 c5 bb4 ab4 g4 c4 d4 c4", AQ: "g4 bb4 ab4 gb4 g4 bb4 c5 eb5",
  AR: "d5 f5 e5 d5 eb5 c5@2 ~", AS: "~ bb4 c5 eb5", AT: "g5 bb5 c6 eb6", AU: "[f6 g6@13 ~@2]/4",
  AV: "[eb6@2 c6@2 bb5 gb5 f5 eb5@3 c5@4 ~@2]/2", AW: "[~ bb4 c5 eb5 g5@2 ab5 g5@2 ab5@2 g5@3 f5 eb5]/2",
  AX: "c5 d5@3 f5@2 d5@6 db5 c5 bb4@2", AY: "c5 g4 bb4@6", AZ: "~@2 f4 bb4 d5 eb5 d5 bb4",
  BA: "f4 bb4 d5 eb5 d5 bb4 f4 bb4", BB: "d5 eb5 d5 bb4 f4 bb4 d5 eb5",
  BC: "[d5@2 bb4@2 f4@2 bb4@2 d5@2 f5@2 c5 d5@7 c5@2 bb4@2 c5@2 g4@2 bb4@4]/2", BD: "bb5", BE: "~@4 g5 ab5@5 gb5@6",
  BF: "eb5",
})).s("gm_piano").gain(0.4)

// other · piano
const piano_2 = note(`<
  ~@165 A@2 ~@3 B@3 C@4 ~@3 D E@2 F ~@4 G@2 H I ~@4 J K@2 L ~@3 M@8 ~ N@3 O@8 P@3 Q R S T U@2 V@2 W X Y ~@3 Z AA AB AC
  AD@2 AE AF AG@2 ~@2 AH AI AJ AK AL@2 AM@2 AN@3 ~ AO
>`.pickRestart({
  A: "[~@2 e4@2 b3@4 d4@4 gb4@2 e4@5 d4@4 ~@9]/2", B: "[~@13 f3@31 ~@2 ab4@2]/3",
  C: "[eb4@2 ~@2 gb4@2 ~@2 bb4@2 ~@2 ab4@6 gb4@4 ~@4 gb4@5 f4@2 ~@2 eb4@2 eb4@2 f4@2 ~@2 eb4@2 eb4@2 db4@2 eb4@4 ~@11]/4",
  D: "~@11 ab4@2 eb4@2 ~", E: "[~ gb4@2 ~ bb4@2 ~@2 ab4@6 gb4@4 ~@14]/2", F: "~@5 gb4@2 ~@2 g4@2 ~@2 ab4@2 ~",
  G: "[~@9 ab4@4 eb4@2 gb4@2 ~@2 bb4@2 ab4@4 gb4@4 ~@3]/2", H: "~ db5@3 c5 ~ bb4 ~", I: "c5 ~ bb4!2 ab4 bb4@2 ~",
  J: "~@5 eb4@2 ~@2 gb4@2 ~@2 bb4@2 ~, ~@2 ab4 ~@5", K: "[~ ab4@6 gb4@4 ~@4 ab4@6 ab4 ~@2 gb4@4 ~@2 gb4@2]/2",
  L: "~ g4@2 ab4 ~@4", M: "[~@14 db4@4 ~@4 db4@47 ~@7 b3@52]/8", N: "[~@2 bb3@23 eb4@16 e4@7]/3",
  O: "[~@9 ab4@31 b4@31 gb4@54 ~@3]/8", P: "[~@5 ab4@31 g4 ~ g4 ~@9]/3", Q: "g4 ~ g4 ~@8 g4 ~ g4 ~@2",
  R: "~@3 g4 ~ g4 ~@9 g4", S: "~ g4 ~@12 bb4 [b4,c5]",
  T: "[db5,d5] [eb5,e5,f5] g5@2 ~@2 f5@2 e5@2 c5@2 d5@2 eb5@2, ~@2 gb5 ~@13", // Dmaj7
  U: "[d5@6 f4@2 g4@2 bb4@2 db5@3 bb4@2 c5@2 bb4@2 g4@2 f4@2 bb4@2 bb4@5]/2",
  V: "[~ d5@4 eb5@4 f5@2 [c5,db5] [bb4,b4] [ab4,a4] ~@2 c5@2 bb4@14, ~@15 g4@2 ~@15]/2", W: "d5@2 ~@4 f4 bb4",
  X: "f5@3 f5 ~ f5@2 ~@2 f5@3 ~ f5@2 ~", Y: "~ f5@3 ~ f5@10 ~", Z: "~@13 bb4@3", AA: "~ bb4@2 c5@2 ~@2 bb4@2 ~ a4@6",
  AB: "a4 ~@3 c5 ~ eb5@2", AC: "d5 ~ c5 d5 ~ eb5 ~@2",
  AD: "[~@5 eb5@2 db5@2 ab4@2 c5@4 c5@2 d5@2 ~@2 f5@2 ~@2 eb5@5 bb4@2]/2", AE: "~@3 eb4@2 ab4 ~ ab4",
  AF: "~ ab4 c5@2 bb4 ~@3", AG: "[~@9 eb5@4 eb5@2 f5@2 ~@2 ab5@4 gb5@6 db5@3]/2", AH: "~@7 bb4@4 bb4@2 c5@2 ~",
  AI: "~ bb4@2 ~@2 a4@6 a4@2 ~@3", AJ: "~@3 c5@2 ~@2 eb5@3 d5@2 ~@2 c5@2", AK: "d5 ~ eb5 ~@5",
  AL: "[~@6 bb4@4 ~ c5@2 ~@2 bb4@2 ~@2 a4@6 a4@2 ~@5, ~@5 bb4 ~@10]/2", AM: "[~ eb4@2 f4@2 g4@8 eb4@7 d4@6 f4@2 ~@4]/2",
  AN: "[gb4@12 gb4@2 gb4 gb4@2 ab4@17 ~@14]/3", AO: "~ ab4@4 ~@3",
})).s("gm_piano").gain(0.45)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  ~@2 A B ~ C D ~@2 E F ~@9 G@2 H@2 I@2 ~@2 J K L@4 M N M N O P Q R S@4 T@2 U@2 ~@96 V@2 ~@2 G@2 ~@2 V@2 W@2 X Y Z AA
  AB@2 ~ AC@2 ~@3 AD@3 AE@4 ~@3 AF AG@2 AH ~@4 AI@2 AJ AK ~@4 AL AM@2 AN ~@9 AO@3 AP@3 AQ@2 AR@6 AS@3 AT AU@2 AV AW AX
  AY@2 AZ@2 ~@7 BA@2 BB BC BD BE@2 ~@2 BF BG@2 BH BI@4 BJ@3 ~ BK
>`.pickRestart({
  A: "eb3 ~@3", B: "~@6 eb2!2", C: "~@2 f2 ab2 bb2 f3 eb3 d3", D: "g3 ~@7", E: "eb3 f3 g3 f3 eb3 bb2 c3 d3",
  F: "eb3 ~@7", G: "[f2!2 ~ eb2 ~ f2 ~ c3@5 ~@4]/2", H: "[gb2!2 ~ e2 ~ gb2 ~ gb2@3 b2 ~@3 db3 ~]/2",
  I: "[b2@2 gb2!2 ~ e2 ~ b2@5 ~@4]/2", J: "~@2 g3@3 g3 ~@2", K: "f3@4 f3 ~ f3@2",
  L: "[f2@2 f2@2 ~@2 eb2@2 ~@2 f2@2 ~@2 f2@4 [f2,g2] [a2,b2] c3@36 ~@8]/4", M: "~@2 bb2@3 bb2 ~@2",
  N: "bb2@4 bb2 ~ bb2@2", O: "~@2 c3@3 c3 ~@2", P: "~@2 bb2 c3 eb3 f3 g3 bb3", Q: "c4 d4@5 c4@6 bb3@4",
  R: "bb3@2 eb4 f4", S: "[~@4 g2@7 eb2 bb2@18 c3@2]/4", T: "[bb2@11 ab3 g3 ab3 ~ g3]/2",
  U: "[ab3@2 g3 f3 ~ eb3 bb2@8 ~@2]/2", V: "[f2!2 ~ eb2 ~ f2 ~ f2@3 ~@6]/2", W: "[f2!2 ~ eb2 ~ f2 ~ c2@5 ~@4]/2",
  X: "f2!2 ~ eb2 ~ f2 ~@2", Y: "bb2!2 ~ ab2 ~ bb2 ~@2", Z: "c2!2 ~@2 c2!2 ~@2", AA: "db2!2 ~@2 db2!2 ~@2",
  AB: "e2!2 ~@2 e2!2 ~@2", AC: "[~@2 e3@2 b2@4 d3@4 gb3@2 e3@5 d3@4 ~@9]/2", AD: "[~@13 f3@31 ~@2 ab3@2]/3",
  AE: "[eb3@2 ~@2 gb3@2 ~@2 bb3@2 ~@2 ab3@6 gb3@4 ~@4 bb2@5 bb2@2 ~@2 ab2@4 ab2@2 ~@2 ab2@2 ab2@2 g2@2 ab2@4 ~@11]/4",
  AF: "~@11 ab3@2 eb3@2 ~", AG: "[~ gb3@2 ~ bb3@2 ~@2 ab3@6 gb3@4 ~@6 eb3@4 eb3@2 gb3@2]/2",
  AH: "~@2 eb3@3 gb3@2 ~@2 g3@2 ~@2 ab3@2 ~", AI: "[~@9 ab3@4 eb3@2 gb3@2 ~@2 bb3@2 ab3@4 gb3@4 ~@3]/2",
  AJ: "~ ab3@3 ab3 ~ ab3 ~", AK: "ab3 ~ gb3!3 gb3@2 ~", AL: "~@5 eb3@2 ~@2 gb3@2 ~@2 bb3@2 ~, ~@2 ab3 ~@5",
  AM: "[~ ab3@6 gb3@4 ~@4 ab3@6 ab3 ~@2 gb3@4 ~@2 gb3@2]/2", AN: "~ g3@2 ab3 ~@4",
  AO: "[~@3 ab2@8 db3@8 eb3@4 c3@2 b2@2 db3@2 eb3@2 eb3@2 f3@2 ab3@2 ~ bb3@2 a3@2 ab3@4 ~@2, ~@37 b3@2 ~@9]/3",
  AP: "[~@2 ab3@39 ~@7]/3", AQ: "[~ bb2@2 c3@2 db3@2 d3@2 eb3@11 db3@2 c3@2 b2@8]/2",
  AR: "[b2@4 a2@4 ab2@11 d3 gb3 ab3@10 gb3@8 eb3@11 gb3 b3 db4@10 b3@8 eb4@12 ab3@14]/6",
  AS: "[~@5 a3@31 a3 ~ a3 ~@9]/3", AT: "a3 ~ a3 ~@8 a3 ~ a3 ~@2",
  AU: "[~@7 f2@2 g2@2 bb2@4 g2@2 bb2@2 c3@2 g3@2 ~@9]/2", AV: "~@3 g2 ~ bb2 ~ d3", AW: "~ f3@3 eb3 ~@3",
  AX: "~@5 c3@2 ~@2 eb3@2 ~@2 g3@2 ~", AY: "[~ bb3@6 ab3@2 ~@4 bb2@2 g2@9 bb2@2 ~@2 d3@2 ~@2]/2",
  AZ: "[f3 e3 eb3 d3 ~@2 g3@6 ~@4]/2", BA: "[~@4 f4@2 f4@2 ~@2 db4@2 ~ db4@8 db4@4 ab3@2 ~@5]/2",
  BB: "~@3 c4@2 ~@9 eb3@2", BC: "~@3 eb3@2 ab3 ~ g3", BD: "~ ab3 c4 ~ bb3 ~@3",
  BE: "[~@9 b3@4 b3@2 b3@2 ~@2 b3@4 bb3@6 gb3@2 ~]/2", BF: "~@7 f3@2 f3@2 ~@2 eb3@2 ~",
  BG: "[~ f3@2 ~@2 f3@6 eb3@2 ~@2 bb2@8 f3 f3@2 ~@2 eb3@2 ~@2]/2", BH: "f3 ~ eb3@5 ~",
  BI: "[~@6 f3@2 f3@2 ~ eb3@2 ~@2 f3@2 ~@2 f3@6 g3@2 ~@2 bb2@23 bb2@6 bb2@2 ~@4]/4",
  BJ: "[b2@12 b2@2 b2 b2@2 db3@17 ~@14]/3", BK: "~ ab2@4 ~@3",
})).s("gm_baritone_sax").gain(0.45)

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  ~@2 A ~@8 B ~ C ~@4 D E F@2 G@2 H@2 ~@2 I J ~@2 K L M@2 N O@2 P Q P R@4 S@2 T@2 U@2 V@2 W@2 X@2 Y@2 W@2 X@2 Z@2 AA@4
  AB@4 AA@4 AC@4 AD@8 ~@4 AA@4 U@2 V@2 W@2 X@2 Y@2 W@2 X@2 Z@2 AA@4 AB@4 AA@4 AC@4 AD@8 ~@4 AA@4 AE@2 ~@2 AF@2 ~@2 AG@2
  AF@2 AH AI AJ AK AL@2 ~ AM@2 ~@3 AN@3 AO@2 ~@4 AP@2 AQ@2 AR ~@4 AS@2 AT AU ~ AV@2 ~ AW AX@2 AY ~@3 AZ@8 ~ BA@3 BB@8
  BC@3 BD BE BF BG BH BI BJ@2 BK@2 BL@4 BM BN BO BP ~@3 BQ BR@2 ~@2 BS BT BU BV BW@2 ~@2 BX@3 ~ BY
>`.pickRestart({
  A: "eb5 ~@3", B: "~@6 eb4!2", C: "~@2 f4!6", D: "~@2 eb4@3 eb4 ~@2", E: "eb4 f5", F: "[~@2 f4@3 f4 ~ g5@5 ~@4]/2",
  G: "[gb4!2 ~ e4 ~ gb4 ~ gb4@3 b4 ~@3 db5 ~]/2", H: "[b4@2 gb4!2 ~ e4 ~ b3@5 ~@4]/2", I: "~@2 c5@3 c5 ~@2",
  J: "bb4@4 bb4 ~ bb4@2", K: "eb4!8", L: "eb4 ~@2 c5", M: "[bb4@10 a4@4 bb4 ~]/2", N: "f4@3 eb4@3 f4 ~",
  O: "[bb3@3 ~]/2", P: "f4@4 f4 ~ f4@2", Q: "~@2 f4@3 f4 ~@2", R: "[~@4 g4@7 eb4 bb4@18 c5@2]/4",
  S: "[bb4@11 ab4 g4 ab4 ~ g4]/2", T: "[ab4@2 g4 f4 ~ eb4 bb3@8 ~@2]/2", U: "[eb4@3 g4]/2", V: "[ab4@3 c5]/2",
  W: "[bb4@3 d5]/2", X: "[c5@3 g5]/2", Y: "[f5@3 c5]/2", Z: "f5/2", AA: "bb4/4", AB: "b4/4", AC: "c5/4", AD: "bb4/8",
  AE: "[f5!2 ~ eb5 ~ f5 ~ f5@3 ~@6]/2", AF: "[f5!2 ~ eb5 ~ f5 ~ c6@5 ~@4]/2", AG: "[f4!2 ~ eb4 ~ f4 ~ f4@3 ~@6]/2",
  AH: "f4!2 ~ eb4 ~ f4 ~@2", AI: "bb4!2 ~ ab4 ~ bb4 ~@2", AJ: "c4!2 ~@2 c4!2 ~@2", AK: "db4!2 ~@2 db4!2 ~@2",
  AL: "e4!2 ~@2 e4!2 ~@2", AM: "[~@2 e4@2 b3@4 d4@4 gb4@2 e4@5 d4@4 ~@9]/2", AN: "[~@13 db4@31 ~@2 ab4@2]/3",
  AO: "[eb4 ~ gb4 ~ bb4 ~ ab4@3 gb4@2 ~@5]/2", AP: "[~ db5@4 b4@19 ~@3 ab4@2 eb4@2 ~]/2",
  AQ: "[~ gb4@2 ~ bb4@2 ~@2 ab4@6 gb4@4 ~@6 eb4@4 eb4@2 gb4@2]/2", AR: "~@2 eb4@3 gb4@2 ~@2 g4@2 ~@2 ab4@2 ~",
  AS: "[~@9 ab4@4 eb4@2 gb4@2 ~@2 bb4@2 c5@4 bb4@4 ~@3]/2", AT: "~ ab4@3 ab4 ~ ab4 ~", AU: "ab4 ~ gb4!3 gb4@2 ~",
  AV: "[~@3 eb5@4 db5@2 b4@2 db5@4 b4@4 ~@13]/2", AW: "~@5 eb4@2 ~@2 gb4@2 ~@2 bb4@2 ~, ~@2 ab4 ~@5",
  AX: "[~ ab4@6 gb4@4 ~@4 ab4@6 ab4 ~@2 gb4@4 ~@2 gb4@2]/2", AY: "~ g4@2 ab4 ~@4",
  AZ: "[~@14 db4@4 ~@4 db4@47 ~@7 b3@52]/8", BA: "[~@2 bb3@23 eb4@16 e4@7]/3", BB: "[~@9 ab4@62 eb4@54 ~@3]/8",
  BC: "[~@5 a3@31 db4 ~ db4 ~@9]/3", BD: "db4 ~ db4 ~@8 e4 ~ e4 ~@2", BE: "~@3 eb4 ~ eb4 ~@9 eb4",
  BF: "~ eb4 ~@8 eb4 ~ eb4 ~@3", BG: "~@2 eb4 ~ eb4 ~@9 eb4 ~", BH: "eb4 ~@5 eb4@2 ~@2 e4 ~ e4 ~@3",
  BI: "~ bb4 ~ bb4 ~@9 bb4 ~ bb4", BJ: "[~@13 bb3@2 g3@9 bb3@2 ~@2 d4@2 ~@2]/2",
  BK: "[d4 db4 ~ c4 b3 ~ bb3@2 ~@4 f4@12 ~@8]/2",
  BL: "[~@15 c4@4 ~ eb4@2 ~@2 eb4@2 ~@2 f4@6 c5@4 ~@4 f4@2 ~@2 f4@4 f4@2 ~@2 f4 f4@2 ~@2 f4@2 ~@3, ~@19 c4@2 ~@43]/4",
  BM: "~@13 c4@3", BN: "~ c4@2 eb4@2 ~@2 eb4@2 ~ f4@6", BO: "f4@2 ~@2 c5 ~ f4@2", BP: "f4 ~ f4!2 ~ f4 ~@2",
  BQ: "~@12 c5@3 ~", BR: "[bb4@2 ~@7 b4@4 b4@2 b4@2 ~@2 b4@4 bb4@6 gb4@2 ~]/2", BS: "~@7 g3@4 g3@2 g3@2 ~",
  BT: "~ g3@2 ~@2 a3@6 a3@4 ~", BU: "~@3 bb3@2 ~@2 bb3@3 bb3@2 ~@2 bb3@2", BV: "bb3 ~ bb3 ~@5",
  BW: "[~@6 g3@4 g3 g3@2 ~@2 g3@2 ~@2 a3@6 a3@4 ~@3]/2", BX: "[b4@12 b4@2 b4 b4@2 ab4@17 ~@14]/3", BY: "~ ab5@4 ~@3",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "B♭ Trumpet"
const trumpet_2 = note(`<
  ~@2 A ~@8 B ~ C ~@4 D E F@2 G@2 H@2 ~@2 I J ~@2 K L M N M N D O P Q R@4 S@2 T@2 ~@16 U@4 V@4 W X@2 Y Z@2 AA@2 AB@2
  AC@2 U@4 AB@2 AC@2 U@4 ~@16 U@4 V@4 W X@2 Y Z@2 AA@2 AB@2 AC@2 U@4 AB@2 AC@2 U@4 AD@2 ~@2 AE@2 ~@2 AD@2 AF@2 AG AH AI
  AJ AK@2 ~ AL@2 ~@3 AM@3 AN@2 ~ AO AP AQ AR@2 AS@2 AT AU AV AW AX AY@2 AZ BA BB@3 BC BD BE BF BG BH@4 BI@2 BJ@5 BK@3 BL
  BM@8 BN BO@5 ~@2 BP BQ@2 BR@2 BS@4 BT BU BV BW ~@3 BX BY@2 ~@2 BZ CA@2 CB CC@4 CD@3 ~ CE
>`.pickRestart({
  A: "eb5 ~@3", B: "~@6 eb5!2", C: "~@2 c5!6", D: "~@2 f4@3 f4 ~@2", E: "f4 bb5", F: "[~@2 ab4@3 ab4 ~ c6@5 ~@4]/2",
  G: "[gb5!2 ~ e5 ~ gb5 ~ gb5@3 b5 ~@3 db6 ~]/2", H: "[b5@2 gb5!2 ~ e5 ~ b4@5 ~@4]/2", I: "~@2 eb5@3 eb5 ~@2",
  J: "d5@4 d5 ~ d5@2", K: "bb5!8", L: "bb5 ~@3", M: "~@2 eb4@3 eb4 ~@2", N: "eb4@4 eb4 ~ eb4@2",
  O: "~@2 bb3 c4 eb4 f4 g4 bb4", P: "c5 d5@5 c5@6 bb4@4", Q: "bb4@2 eb5 f5", R: "[~@4 g5@7 eb5 bb5@18 c6@2]/4",
  S: "[bb5@11 ab5 g5 ab5 ~ g5]/2", T: "[ab5@2 g5 f5 ~ eb5 bb4@8 ~@2]/2", U: "f5/4", V: "gb5/4", W: "f5", X: "g5",
  Y: "bb5", Z: "f5/2", AA: "c5/2", AB: "[d5@3 g5]/2", AC: "[f5@3 g5]/2", AD: "[f4!2 ~ eb4 ~ f4 ~ f4@3 ~@6]/2",
  AE: "[f4!2 ~ eb4 ~ f4 ~ c5@5 ~@4]/2", AF: "[f5!2 ~ eb5 ~ f5 ~ c6@5 ~@4]/2", AG: "f4!2 ~ eb4 ~ f4 ~@2",
  AH: "bb4!2 ~ ab4 ~ bb4 ~@2", AI: "c5!2 ~@2 c5!2 ~@2", AJ: "db5!2 ~@2 db5!2 ~@2", AK: "e5!2 ~@2 e5!2 ~@2",
  AL: "[~@2 e5@2 b4@4 d5@4 gb5@2 e5@5 d5@4 ~@9]/2", AM: "[~@13 f5@31 ~@2 ab5@2]/3",
  AN: "[eb5 ~ gb5 ~ bb5 ~ ab5@3 gb5@2 ~@5]/2", AO: "~@11 db4@2 ~ gb4@2, ~@13 eb4@2 ~", AP: "ab4 b4 db5 eb5 eb5@3 gb5",
  AQ: "g5@2 ab5@4 ab5@2 gb5@2 eb5@2 db5 eb5 db5@2", AR: "[~ f5@4 eb5@19 ~@3 ab5@2 eb5@2 ~, b4 ~@15]/2",
  AS: "[~ gb5@2 ~ bb5@2 ~@2 ab5@6 gb5@4 ~@14]/2", AT: "~@5 gb5@2 ~@2 g5@2 ~@2 ab5@2 ~",
  AU: "~@3 ab5@4 gb5 ab5@3 ab5@2 gb5 ab5@2", AV: "~ ab5@2 f5@2 ab5@2 gb5@8 ~", AW: "~@3 b5 ab5 gb5 ab5 gb5",
  AX: "eb5@2 db5@2 eb5@2 db5@2 b4@2 ~ gb4@2 ~@3, ~@5 ab4 ~@2",
  AY: "[~@9 ab5@4 eb5@2 gb5@2 ~@2 bb5@2 ab5@4 gb5@4 ~@3]/2", AZ: "~ db6@3 c6 ~ bb5 ~",
  BA: "c6@2 ~@2 bb5@2 bb5@2 ab5@2 bb5@4 ~ eb5, ~@7 db5",
  BB: "[~ eb5@2 db5@2 eb5 ~ eb5@2 db5@2 eb5 ~ eb5@2 db5@2 eb5@2 gb5@4 f5@2 eb5@2 f5@4 eb5@3 b5@2 ab5@2 gb5@2 ab5@2 gb5@2 eb5@2 db5@2]/3",
  BC: "eb5 db5 b4 ab4 gb4@3 ~", BD: "~@5 eb5@2 ~@2 gb5@2 ~@2 bb5@2 ~, ~@2 ab5 ~@5", BE: "~ ab5@6 gb5@4 ~@5",
  BF: "~@7 gb5", BG: "~ g5@2 ab5 ~ b5 ab5 gb5",
  BH: "[ab5@2 gb5@2 eb5@2 db5@2 ~ db5@2 b4@2 ab4@2 b4@2 ab4@2 gb4@2 eb4@2 db4@2 b3@2 db4@2 eb4@2 b3@2 ab3@2 gb3@2 ab3@2 b3@2 eb4@2 ~ ab4@2 b4@8 ~@2 bb4@2 b4@2 db5@2 eb5 e5, ~@8 eb5@2 ~@33 gb4@2 ~@19]/4",
  BI: "[eb5@9 ~ db5@2 c5@2 b4@7 a4@8 ab4 a4 bb4]/2",
  BJ: "[b4 c5 db5 d5 eb5 e5 f5 gb5 g5 ab5@11 gb5@8 eb5@12 ab4@25 ~@15]/5",
  BK: "[~@3 ab4@2 ~ bb4@2 a4@2 bb4@12 c5@2 db5@2 gb5@8 f5@7 e5 ~ f5 gb5 ~ g5 ab5, ~@5 b4@2 ~@41]/3",
  BL: "~ a5 bb5 ~ b5 c6@11", BM: "[~ bb5@6 ~@2 ab5@58 ~@4 gb5@11 e5@12 eb5@8 gb5@12 ab5@12 ~@2]/8",
  BN: "~ ab4@2 a4@2 b4@11", BO: "[~ a4@2 ab4@2 gb4@7 e4@8 e4@8 g4@8 b4@7 e5@8 f5@27 ~@2]/5",
  BP: "~ f5 ~ f5 ~@9 f5 ~ f5", BQ: "[~@13 bb4@2 g4@9 bb4@2 ~@2 d5@2 ~@2]/2", BR: "[f5 e5 eb5 d5 ~@2 g5@6 ~@4]/2",
  BS: "[~@15 bb4@4 ~ c5@2 ~@2 bb4@2 ~@2 a4@6 f5@4 ~@4 c5@2 ~@2 eb5@4 d5@2 ~@3 d5@2 ~@2 eb5@2 ~@3, ~@19 bb4@2 ~@33 c5@2 ~@8]/4",
  BT: "~@13 bb4@3", BU: "~ bb4@2 c5@2 ~@2 bb4@2 ~ a4@6", BV: "f5@2 ~@2 c5 ~ eb5@2", BW: "d5 ~ c5 d5 ~ eb5 ~@2",
  BX: "~@12 eb5@3 ~", BY: "[eb5@2 ~@7 eb5@4 eb5@2 f5@2 ~@2 ab5@4 gb5@6 db5@3]/2", BZ: "~@7 f5@2 f5@2 ~@2 eb5@2 ~",
  CA: "[~ f5@2 ~@2 f5@6 eb5@2 ~@2 bb4@8 f5 f5@2 ~@2 eb5@2 ~@2]/2", CB: "f5 ~ eb5@5 ~",
  CC: "[~@6 f5@2 f5@2 ~ eb5@2 ~@2 f5@2 ~@2 f5@6 g5@2 ~@2 bb4@23 ~@12]/4", CD: "[gb5@12 gb5@2 gb5 gb5@2 f5@17 ~@14]/3",
  CE: "~ eb5@4 ~@3",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note(`<
  ~@2 A@2 B@2 C@2 D@2 E@2 C@2 F@2 G@2 H@4 I@4 J K L@2 M@2 N@2 O P O P Q R Q R S@4 T@2 U@2 ~@96 V@2 ~@2 W@2 ~@2 V@2 X@2 Y
  Z AA AB AC@2 ~ AD@2 ~@3 AE@3 AF@2 ~@5 AG AH@2 AI ~@4 AJ@2 AK AL ~@4 AM AN@2 AO ~@3 AP@8 ~ AQ@3 AR@8 AS@3 AT AU AV AW
  AX AY AZ@2 BA@2 BB@4 BC BD BE BF ~@3 BG BH@2 BI BJ@2 BK BL BM BN@2 ~@2 BO@3 ~ BP
>`.pickRestart({
  A: "[eb3@3 g3]/2", B: "[ab3@3 c4]/2", C: "[bb3@3 d4]/2", D: "[c4@3 g3]/2", E: "[f3@3 c4]/2", F: "[c4@3 g4]/2",
  G: "f4/2", H: "bb3/4", I: "b3/4", J: "f3", K: "g3", L: "bb3/2", M: "f3/2", N: "c4/2", O: "~@2 d3@3 d3 ~@2",
  P: "d3@4 d3 ~ d3@2", Q: "~@2 eb3@3 eb3 ~@2", R: "eb3@4 eb3 ~ eb3@2", S: "[~@4 g3@7 eb3 bb3@18 c4@2]/4",
  T: "[bb3@11 ab3 g3 ab3 ~ g3]/2", U: "[ab3@2 g3 f3 ~ eb3 bb2@8 ~@2]/2", V: "[f2!2 ~ eb2 ~ f2 ~ f2@3 ~@6]/2",
  W: "[f2!2 ~ eb2 ~ f2 ~ c3@5 ~@4]/2", X: "[f3!2 ~ eb3 ~ f3 ~ c4@5 ~@4]/2", Y: "f2!2 ~ eb2 ~ f2 ~@2",
  Z: "bb2!2 ~ ab2 ~ bb2 ~@2", AA: "c2!2 ~@2 c2!2 ~@2", AB: "db2!2 ~@2 db2!2 ~@2", AC: "e2!2 ~@2 e2!2 ~@2",
  AD: "[~@2 e3@2 b2@4 d3@4 gb3@2 e3@5 d3@4 ~@9]/2", AE: "[~@13 eb3@31 ~@2 ab3@2]/3",
  AF: "[eb3 ~ gb3 ~ bb3 ~ ab3@3 gb3@2 ~@5]/2", AG: "~@11 ab3@2 eb3@2 ~",
  AH: "[~ gb3@2 ~ bb3@2 ~@2 ab3@6 gb3@4 ~@6 eb3@4 eb3@2 gb3@2]/2", AI: "~@2 eb3@3 gb3@2 ~@2 g3@2 ~@2 ab3@2 ~",
  AJ: "[~@9 ab3@4 eb3@2 gb3@2 ~@2 bb3@2 ab3@4 gb3@4 ~@3]/2", AK: "~ db4@3 c4 ~ bb3 ~", AL: "c4 ~ bb3!2 ab3 bb3@2 ~",
  AM: "~@5 eb3@2 ~@2 gb3@2 ~@2 bb3@2 ~, ~@2 ab3 ~@5", AN: "[~ ab3@6 gb3@4 ~@4 ab3@6 ab3 ~@2 gb3@4 ~@2 gb3@2]/2",
  AO: "~ g3@2 ab3 ~@4", AP: "[~@14 gb3@4 ~@4 gb3@47 ~@7 ab3@52]/8", AQ: "[~ bb3@23]/3", AR: "[~@9 db4@62 ab3@54 ~@3]/8",
  AS: "[~@5 a3@31 a3 ~ a3 ~@9]/3", AT: "a3 ~ a3 ~@8 a3 ~ a3 ~@2", AU: "~@3 bb3 ~ bb3 ~@9 bb3",
  AV: "~ bb3 ~@8 bb3 ~ bb3 ~@3", AW: "~@2 bb3 ~ bb3 ~@9 bb3 ~", AX: "bb3 ~@5 c4@2 ~@2 c4 ~ c4 ~@3",
  AY: "~ e4 ~ e4 ~@9 e4 ~ e4", AZ: "[~@13 bb2@2 g2@9 bb2@2 ~@2 d3@2 ~@2]/2",
  BA: "[d3 db3 ~ c3 b2 ~ bb2@2 ~@4 g3@12 ~@8]/2",
  BB: "[~@15 g3@4 g3 g3@2 ~@2 g3@2 ~@2 a3@6 a3@4 ~@4 bb3@2 ~@2 bb3@4 bb3@2 ~@2 bb3 bb3@2 ~@2 bb3@2 ~@3]/4",
  BC: "~@13 g3@3", BD: "~ g3@2 g3@2 ~@2 g3@2 ~ a3@6", BE: "a3@2 ~@2 bb3 ~ bb3@2", BF: "bb3 ~ bb3!2 ~ bb3 ~@2",
  BG: "~@12 eb4@3 ~", BH: "[eb4@2 ~@7 eb4@4 eb4@2 eb4@2 ~@2 eb4@4 db4@6 bb3@2 ~]/2", BI: "~@3 bb3",
// … 215 more lines