Strudelify

super mario bros 3 underwater

Emry Tupper

KeyD majorTempo115 bpm
0:00/0:00
// super mario bros 3 underwater — Emry Tupper
// 115 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/3098646; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 86 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(115/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 · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A B C D E F@2 G H B C D E F@2 G H ~ I@2 J ~ K@2 L M B C D E F@2 G N ~ O@2 P@2 Q R S ~@4 T U V ~@7 W X Y Z ~ AA AB ~@11
  AC AD AE AF AG@2 ~@6
>`.pickRestart({
  A: "~@13 c4 d4 f4", B: "g4 ~ f4 ~ e4 f4 ~ c4@5 ~ c4 d4 f4", C: "g4 ~ f4 ~ e4 f4 ~ a4@5 ~ f4!2 c5",
  D: "c5@3 a#4@3 f4 ~ c5@3 a#4@3 f4 ~", E: "a4 ~ a4 ~ a4 a#4 ~ g4@5 ~ c4 d4 f4", F: "~@9 a4 ~@2 a4 ~@3",
  G: "a#4 ~ a#4 ~ c5 ~ c5 ~", H: "f4@2 ~@2 d4@2 ~@2 a4@3 f4 ~@4",
  I: "[~@6 d5@4 d5@2 d5 c5 ~ a#4@5 ~@4 g4@3 a4@3 a#4 ~]/2", J: "a4 ~@3", K: "[~@6 d5@4 d5@2 d5 c5 ~ a#4@5 ~@12]/2",
  L: "e4 ~ e4 ~ f4 ~ f4 ~ f#4 ~ f#4 g4@3 g4@2", M: "~ c5 ~@2 c5 ~@2 c5@5 ~@4",
  N: "b4@2 ~@2 e5@2 ~@2 a#4@2 ~@3 e5@2 ~@8 d5@2 ~@7",
  O: "[~@3 a#4@4 a#4@2 ~@2 a#4@2 ~@2 g4@2 ~ a#4@2 a4@6 g4@2 e4@2 ~@2 c4@2 ~ d#4@2 ~@27, ~@10 g4@2 ~@2 a4@2 ~@15 d#4@2 ~@31]/2",
  P: "[~@6 a#4@2 g4@2 e4@2 ~@2 a4@2 ~@2 d4@2 ~ a4@2 g4@4 b3@2 g3@2 e3@2 ~@31, ~@13 a#4@2 ~@2 f#4@2 ~@45]/2",
  Q: "~@9 a#4@4 a#4@2 g4@2 a#4@2 ~@2 g4@2 ~@2 a4@7, ~@10 a4 ~ a#4 ~@3", R: "g4@2 e4@2 d#4@2 c4@2 ~ d#4@2 ~@21",
  S: "~@6 a#4 g4 e4 a#4 a4 ~ d4 ~ g4 ~, ~@23 f#4@2 ~@2 a4@2 ~@3", T: "~@23 b4@2 ~@5 b4@2", U: "~@2 b4 ~@13",
  V: "~@19 d5@2 ~@11", W: "~@26 d4 ~ d5@4", X: "~@2 c5 ~@29", Y: "~@5 d4 ~@2 d5@5 c5 ~@18",
  Z: "~@16 d4 ~@2 d5@5 c5 ~@7", AA: "~@14 g5 ~", AB: "~ f5@2 ~@29", AC: "a#3@6 d#4@2 ~@3 a#4@18 ~@3",
  AD: "c5@5 a#4@2 ~@2 g#4@2 ~@2 g4@4 ~@3 g#4@4 ~@3 g4@5", AE: "~ d#4@2 ~@3 a#3@18 ~@3 c5@5",
  AF: "a#4@2 ~@2 g#4@2 ~ g4@4 ~@4 g#4@4 ~@3 g4@6 a#4@2 ~@2",
  AG: "[~ d#5@2 ~@6 g4@11 g#4@5 g4@6 f4@2 ~ d#4@4 ~@4 f4@4 ~@18]/2",
})).s("gm_alto_sax").gain(0.47)

// other · alto sax · "Alto Saxophone" · soft notes
const alto_sax_soft = note("<~@79 A@6 B>".pickRestart({
  A: "[~@17 f4@59 d#4@29 d#4@29 ~ f4@2 f4@2 ~ f4@2 ~@2 d#4@2 ~@2 c4@2 a#3@14 g3@6 g#3@5 c4@2 ~@2 b3@7 d4@6]/6",
  B: "~@2 d#4@29 ~",
})).s("gm_alto_sax").gain(0.24)

// other · alto sax · "Alto Saxophone"
const alto_sax_2 = note(`<
  A ~@4 B C D@2 ~@4 B C D@2 ~@7 E F ~@4 B C G@2 H ~ I ~ J@2 K L M N@2 ~ O P Q ~@7 R S T U ~ V W ~@11 X Y Z AA AB@7 AC
>`.pickRestart({
  A: "c5 ~ a#4 ~ a4 g#4 ~ g4@4 c5 ~@4", B: "g4 ~ f4 ~ e4 f4 ~ c4@5 ~ c4 d4 f4", C: "g4 ~ f4 ~ e4 f4 ~ a4@5 ~ f4!2 c5",
  D: "[c5@3 a#4@3 a4 ~ g4 ~ c4 ~ d4 f4 ~ f4@5 ~@12]/2", E: "c4 ~ c4 ~ d4 ~ d4 ~ d#4 ~ d#4 e4@3 e4@2",
  F: "~ g4 ~@2 g4 ~@2 g#4@5 ~ c4 d4 f4",
  G: "[c5@6 a#4@6 a4@2 ~@2 g4@2 ~@2 c4@2 ~@2 d4@2 f4@2 ~@4 b4@2 ~@2 e5@2 ~@2 a#4@2 ~@3 e5@2 ~@8 d5@2 ~@7, ~@15 f4@5 ~@12]/2",
  H: "~ a#3@8 ~ b3@2 ~@2 a#3@2 ~@2 b3@2 ~ e4@2 ~@2 g4@2 ~@5",
  I: "~@9 a#3@2 ~@2 b3@2 ~@2 a#3@2 ~@2 b3@2 ~ e4@2 ~@2 g4@2 ~@2",
  J: "[~@7 a#3@8 ~ b3@2 ~@2 a#3@2 ~@2 b3@2 ~ e4@2 ~@2 g4@2 ~@31]/2", K: "~@14 a#3@2 ~@3 b3@2 ~@2 a#3@2 ~@2 b3@2 e4@2 ~",
  L: "~ g4 ~@14", M: "~@17 e4@2 ~@2 d4@2 ~ e4@2 ~@4 e4@2",
  N: "[~@5 e4@2 ~@3 e4@2 ~@7 e4@2 ~@2 d4@2 e4@2 ~@4 e4@2 ~@5 e4@2 ~@4 e4@2 ~@18]/2", O: "~@23 b3@2 ~@5 b3@2",
  P: "~@2 b3 ~@13", Q: "~@19 g#3@2 ~@11", R: "~@26 d4 ~ a4@4", S: "~@2 g#4 ~@29", T: "~@5 d4 ~@2 a4@5 g#4 ~@18",
  U: "~@16 d4 ~@2 a4@5 g#4 ~@7", V: "~@14 a4 ~", W: "~ a#4@2 ~@29", X: "g3@6 a#3@2 ~@3 g4@18 ~@3",
  Y: "g#4@5 g4@2 ~@2 f4@2 ~@2 d#4@4 ~@3 f4@4 ~@3 d#4@5", Z: "~ c4@2 ~@3 g3@18 ~@3 g#4@5",
  AA: "g4@2 ~@2 f4@2 ~ d#4@4 ~@4 f4@4 ~@3 d#4@6 g4@2 ~@2",
  AB: "[~ c5@2 ~@6 d#4@11 f4@5 d#4@6 d4@2 ~ c4@4 ~@4 d4@4 ~@3 d#4@29 ~ c#4@29 c4@29 b3@29 ~ d4@2 d#4@2 ~ d4@2 ~@2 a#3@2 ~@2 g3@2 g3@14 g3@6 g#3@5 c4@2 ~@2 b3@7 d4@6]/7",
  AC: "~@2 a#3@29 ~",
})).s("gm_alto_sax").gain(0.46)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A B C D E F@2 G H B C D E F@2 G H I J@2 K I J@2 ~ L B C D E F@2 G M N ~ O ~ P@2 Q R S T@4 U V ~@7 W X Y Z ~ AA AB ~@11
  AC AD AE AF AG@2 ~@5 AH
>`.pickRestart({
  A: "~@13 c4 d4 f4", B: "g4 ~ f4 ~ e4 f4 ~ c4@5 ~ c4 d4 f4", C: "g4 ~ f4 ~ e4 f4 ~ a4@5 ~ f4!2 c5",
  D: "c5@3 a#4@3 f4 ~ c5@3 a#4@3 f4 ~", E: "a4 ~ a4 ~ a4 a#4 ~ g4@5 ~ c4 d4 f4", F: "f4@2 ~@7 f4 ~@2 f4 ~@3",
  G: "a#4 ~ a#4 ~ a4 ~ a4 ~", H: "f3@2 ~@2 a#3@2 ~@2 b3@3 c4 ~@4", I: "d3", J: "[c3@6 d4@4 d4@2 d4 c4 ~ a#3@5 ~@12]/2",
  K: "e3@4 f3@4 f#3@3 g3 ~@4", L: "~ e3 ~@2 e3 ~@2 e3@5 ~@4",
  M: "e3@2 ~@2 b3@2 ~@2 e3@2 ~@3 a#3@2 ~@2 a3@2 b3@2 c4@2 d4@2 ~@7",
  N: "~ a#2@8 ~ b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@5",
  O: "~@9 a#2@2 ~@2 b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@2",
  P: "[~@7 a#2@8 ~ b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@31]/2", Q: "~@14 a#2@2 ~@3 b2@2 ~@2 a#2@2 ~@2 b2@2 e3@2 ~",
  R: "~ g3 ~@14", S: "~@17 e3@2 ~@2 d3@2 ~ e3@2 ~@4 e3@2",
  T: "[~@5 e3@2 ~@3 e3@2 ~@7 e3@2 ~@2 d3@2 e3@2 ~@4 g3@2 ~@2 b3@2 ~ e3@2 ~@4 e3@2 ~@6 e3@2 ~@2 d3@2 ~ e3@2 ~@2 e3@2 e3@2 ~@2 e3@2 ~@6 e3@2 ~@2 e3@33 ~@5 b4@2 ~@5 b4@2, ~@15 e3 ~ a3 ~@46]/4",
  U: "~@2 b4 ~@13", V: "~@19 d4@2 ~@11", W: "~@26 d3 ~ a3@4", X: "~@2 g#3 ~@29", Y: "~@5 d3 ~@2 a3@5 g#3 ~@18",
  Z: "~@16 d3 ~@2 a3@5 g#3 ~@7", AA: "~@14 a3 ~", AB: "~ a#3@2 ~@29", AC: "g3@6 a#3@2 ~@3 g4@18 ~@3",
  AD: "g#4@5 g4@2 ~@2 f4@2 ~@2 d#4@4 ~@3 f4@4 ~@3 d#4@5", AE: "~ c4@2 ~@3 g3@18 ~@3 g#4@5",
  AF: "g4@2 ~@2 f4@2 ~ d#4@4 ~@4 f4@4 ~@3 d#4@6 g4@2 ~@2",
  AG: "[~ c5@2 ~@6 d#4@11 f4@5 d#4@6 d4@2 ~ c4@4 ~@4 d4@4 ~@18]/2", AH: "~@2 g3@29 ~",
})).s("gm_tenor_sax").gain(0.4)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D E F G H I B C D E F G H I J K ~@2 J K ~@2 L B C D E F G H M N ~ O ~ P@2 Q R S T@4 U V ~@7 W X Y Z ~@2 AA@3
  AB@2 ~ AC@2 AD@2 AE@2 ~@4 AF@6 ~ AG
>`.pickRestart({
  A: "c4 ~ a#3 ~ a3 g#3 ~ g3@4 c4 g3 ~ c3 ~", B: "[f2,f3] ~ [c2,c3] ~ [f2,f3] ~ f3 e3",
  C: "d3@2 ~@2 a2@2 ~@2 d3@2 ~@2 d3!2 c3@2", D: "a#2@2 ~@2 f2@2 ~@2 a#2@2 f2!2 a#2@2 b2@2",
  E: "c3@2 ~@2 g2@2 ~@2 c3@2 c3!2 d3@2 e3@2", F: "f3@2 ~@2 c3@2 ~@2 f3@2 f3!2 a2@2 e3@2", G: "d3 ~ a2 ~ d3 ~ a2 ~",
  H: "g2 ~ g2 ~ c3 ~ c3 ~", I: "f2@2 ~@2 f2@2 ~@2 e2@3 f2 ~@4", J: "a#3 ~ f3 ~ a#3 ~@3", K: "a3 ~ d3 ~ a2 ~@3",
  L: "~ c2 ~@2 c2 ~@2 c2@5 ~@4", M: "b2@2 ~@6 a#2@2 ~@7 a2@6 b2@2 ~@7",
  N: "~ a#2@8 ~ b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@5",
  O: "~@9 a#2@2 ~@2 b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@2",
  P: "[~@7 a#2@8 ~ b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@31]/2", Q: "~@14 a#2@2 ~@3 b2@2 ~@2 a#2@2 ~@2 b2@2 e3@2 ~",
  R: "~ g3 ~@8 d3@4 e3@2", S: "~@17 e3@2 ~@2 d3@2 ~ e3@2 ~@4 e3@2",
  T: "[~@5 e3@2 ~@3 e3@2 ~@7 e3@2 ~@2 d3@2 e3@2 ~@4 g3@2 ~@2 b3@2 ~ e3@2 ~@4 e3@2 ~@6 e3@2 ~@2 d3@2 ~ e3@2 ~@2 e3@2 e3@2 ~@2 e3@2 ~@6 e3@2 ~@2 b2@33 ~@5 b3@2 ~@5 b3@2, ~@15 e3 ~ a3 ~@46]/4",
  U: "~@2 b3 ~@13", V: "~@19 d3@2 ~@11", W: "~@26 d3 ~ d4@4", X: "~@2 c4 ~@29", Y: "~@5 d3 ~@2 d4@5 c4 ~@18",
  Z: "~@16 d3 ~@2 d4@5 c4 ~@7", AA: "[~@9 f2@14 g#2@24 ~@6 b2@13 c3@24 ~@6]/3", AB: "[c3@7 d#4@12 ~@13]/2",
  AC: "[~@31 a#2@5 d#3@2 ~@4 a#3@18 ~@4]/2", AD: "[~@25 g3@6 d#3@2 ~@3 a#2@18 ~@10]/2",
  AE: "[~@6 g2@5 a#2@2 ~@4 c3@2 ~@5 g3@11 g#3@6 g3@5 f3@2 ~@2 d#3@7 f3@7]/2",
  AF: "[~@31 c4@2 ~ g#3@4 ~@4 a#3@4 ~@3 a#3@59 a#3@29 b3@29 ~@26]/6", AG: "~@2 d#2@29 ~",
})).s("gm_baritone_sax").gain(0.3)

// other · trombone
const trombone = note(`<
  A B C D E B C F G B C D E B C F G H I J K H I L M N B C D E B C F O P ~ Q ~ R@2 S T ~@4 U V W X ~ Y ~@5 Z AA AB AC AD
  AE@3 AF@3 AG@2 AH@4 ~@5 AI@2 ~@2 AJ@2 AK
>`.pickRestart({
  A: "~@12 g3 ~ c4 ~", B: "f4 ~ c4 ~ f4 ~ c4 ~", C: "d4 ~ a3 ~ d4 ~ a3 ~", D: "a#3 ~ f3 ~ a#3 ~ f3 ~",
  E: "c4 ~ g3 ~ c4 ~ e4 ~", F: "a#3 ~ a#3 ~ c4 ~ c4 ~", G: "f3@2 ~@2 g3@2 ~@2 g#3@3 a3 ~@2 f3@2",
  H: "d4@3 a#3@3 d4 ~ f4@3 e4@3 d4 ~", I: "c4 ~ c4 ~ c4 a#3 ~ a3@5 ~@4", J: "a#3@3 g3@3 a#3 ~ d4@3 c4@3 a#3 ~",
  K: "a3@4 a#3@4 b3@3 c4 ~@2 f3@2", L: "a#3@3 g3@3 g3 a3 a#3@3 g3@3 d#4@2", M: "c4", N: "~ c4 ~@2 c4 ~@2 c4@5 ~@4",
  O: "e3@2 ~@6 g3@2 ~@7 f#3@6 b3@2 ~@7", P: "~ a#2@8 ~ b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@5",
  Q: "~@9 a#2@2 ~@2 b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@2",
  R: "[~@7 a#2@8 ~ b2@2 ~@2 a#2@2 ~@2 b2@2 ~ e3@2 ~@2 g3@2 ~@31]/2", S: "~@14 a#2@2 ~@3 b2@2 ~@2 a#2@2 ~@2 b2@2 e3@2 ~",
  T: "~ g3 ~@14", U: "~@23 b3@2 ~@5 b3@2", V: "~@2 b3 ~@13", W: "~@19 d4@2 ~@11", X: "~@11 c4 ~@2 d4 ~",
  Y: "~@2 g#3@2 ~@3 g#3@2 ~@23", Z: "~@12 a3@3 c4 ~@2 d4 ~@2 g#3@11", AA: "~@24 g#3@2 f3 ~@2 d3 ~@2", AB: "f3@11 ~@21",
  AC: "~@3 a3@3 c4 ~ d4 ~@2 f3@5 ~ f3@2 g3 ~@2 a3@5 c4@3 d4 ~", AD: "~ c4 ~@2 g#4@2 g4@19 ~@3 g4@2 ~@2",
  AE: "[~ f4@2 ~@6 b3@14 c4@24 ~@6 d4@13 d#4@24 ~@6]/3", AF: "[e4@14 g4@24 ~@5 d4@14 f#4@24 ~@15]/3",
  AG: "[~@16 g3@5 a#3@2 ~@4 g4@18 ~@2 g#4@6 g4@2 ~ f4@2 ~@2 d#4@4]/2",
  AH: "[~@3 f4@4 ~@4 d#4@5 c4@2 ~@4 g3@18 ~@2 g#4@5 g4@2 ~@2 f4@2 ~@2 d#4@4 ~@3 f4@4 ~@4 d#4@5 g4@2 ~@4 c4@2 ~@5 d#4@11 f4@6 d#4@5 d4@2 ~@2 c4@7 d4@7]/4",
  AI: "[~@17 f4@6 d#4@2 ~@3 d#4@15 a#3@2 c4@2 ~@17]/2", AJ: "[~@7 g4@2 g#4@2 ~ g4@2 ~@2 d#4@2 ~@2 c4@2 a#3@15 ~@27]/2",
  AK: "~@2 c4@29 ~",
})).s("gm_trombone").gain(0.3)

// other · trombone
const trombone_2 = note(`<
  A B C D E B C F G B C D E B C F G H I J K H I ~@2 L B C D E B C F M N O ~@2 P@2 ~ Q ~@6 R ~@13 S@3 T@3 ~@17 U
>`.pickRestart({
  A: "~@12 g3 ~ c3 ~", B: "f3 ~ c3 ~ f3 ~ c3 ~", C: "d3 ~ a2 ~ d3 ~ a2 ~", D: "a#2 ~ f3 ~ a#2 ~ f3 ~",
  E: "c3 ~ g2 ~ c3 ~ e3 ~", F: "g2 ~ g2 ~ c3 ~ c3 ~", G: "f3@2 ~@2 e3@2 ~@2 d3@3 c3 ~@4",
  H: "d3 ~ d3!3 ~ d3!3 ~ d3!2 d3@2 d3 ~", I: "c3@2 c3!2 c3@2 c3@2 c3@8", J: "a#2@4 a#2@4 a#2@2 a#2@2 a#2!2 a#2@2",
  K: "a3@4 a#3@4 b3@3 c4 ~@4", L: "~ g3 ~@2 g3 ~@2 g#3@5 ~@4", M: "b2@2 ~@6 a#2@2 ~@7 a2@6 b2@2 ~@7", N: "~ g3@31",
  O: "~@7 e3@4 ~@3 g3@4 ~@2 b3@4 ~@8", P: "[~@7 g3@33 ~@5 e3@4 ~@3 g3@4 ~ b3@4 ~@3]/2",
  Q: "~@16 b3@2 ~@5 d4@2 ~@3 e4@2 ~@2", R: "~@19 g#3@2 ~@11", S: "[~@9 f3@11 f3@3 g#3@24 ~@6 b3@13 c4@24 ~@6]/3",
  T: "[b3@14 c4@24 ~@5 d4@14 d#4@24 ~@15]/3", U: "~@2 d#3@29 ~",
})).s("gm_trombone").gain(0.2)

// chords · vibraphone
const vibraphone = note(`<
  A B C ~@2 D E F@2 B C ~@2 D E F@2 ~ G@2 H ~ I@2 ~@2 B C ~@2 D E F@2 J@3 K@2 L M@2 N@4 ~@40
>`.pickRestart({
  A: "c6@2 a#5@2 a5 g#5@2 g5@4 c6 ~@4", B: "[f5,a5]@4 ~@4 [g5,a#5]@4 ~@4 [a5,c6]@6 [g5,a#5] ~@9",
  C: "[f5,a5]@4 ~@4 [e5,g5]@4 ~@4 [d5,f5]@6 [e5,g5] ~@9", D: "[f4,a4,c5] ~ [c4,e4,g4] ~ [f4,a4,c5] ~@3",
  E: "[d4,f4,a4]@4 ~ [a3,d4]@2 [d4,f4,a4]@4 ~@5", F: "[c5@3 a#4@3 a4 ~ g4 ~ c4 ~ d4 f4 ~ f4@5 ~@12]/2",
  G: "[~@6 d5@4 d5@2 d5 c5 ~ a#4@5 ~@4 g4@3 a4@3 a#4 ~]/2", H: "a4@4 a#4@4 b4@3 c5 ~@4",
  I: "[~@6 d5@4 d5@2 d5 c5 ~ a#4@5 ~@12]/2",
  J: "[~ a#4@7 e5@2 g5@4 e5@4 e6@8 ~ g5@2 e5@2 b4@2 g4@2 a#4@4 a#4@2 ~@2 a#4@2 ~@2 g4@2 ~ a#4@2 a4@6 g4@2 e4@2 ~@2 c4@2 ~@2 e4@2 ~ g4@2 b4@2 e5@2 g5@2 ~@2 e5@2 ~@2 e6@8 g5@2 ~, ~@42 g4@2 ~@2 a4@2 ~@15 d#4@2 ~@2 d#4@2 ~@27]/3",
  K: "[e5@2 b4@2 g4@2 a#5@2 g5@2 e5@2 ~@2 a5@2 ~@2 d5@2 ~ a5@2 g5@4 b4@2 g4@2 e4@2 g3@2 ~@4 a#4@7 e5@2 g5@4 e5@4 e6@8, ~@13 a#5@2 ~@2 f#5@2 ~@19 g4@2 ~@24]/2",
  L: "g5@2 ~ e5@2 b4@2 g4@2 a#4@4 a#4@2 g4@2 a#4@2 ~@2 g4@2 ~@2 a4@7, ~@10 a4 ~ a#4 ~@3",
  M: "[g4@2 e4@2 d#4@2 c4@2 ~@2 e4@2 ~@2 b4@2 ~ e5@2 g5@2 ~@2 e5@2 ~@2 e6@8 g5@2 ~@2 b4@2 ~ g4@2 a#5@2 g5@2 e5@2 a#5@2 a5@2 ~@2 d5@2 ~@2 g5@2 ~@2, ~@9 d#4@2 ~@2 g4@2 ~@23 e5@2 ~@15 f#5@2 ~@2 a5@2 ~@3]/2",
  N: "[~@5 [g5,b5]@4 [f#5,a#5]@4 [e5,a5]@7 [d#5,g5]@6 [a#4,e5]@12 [g5,b5]@4 [f#5,a#5]@4 ~ [e5,a5]@6 [a4,d5]@6 [b4,e5]@13 [g5,b5]@4 [f#5,a#5]@4 [e5,a5]@7 [d#5,g5]@6 [a#4,e5]@8 [a#4,g5]@4 [a#4,d#5]@4 [a4,d5]@13 ~@6]/4", // G F# A5 D# A#dim G F# A5 …
})).s("gm_vibraphone").gain(0.3)

// chords · epiano1 · "Piano"
const epiano1 = note(`<
  A B C D E F G H I B C D E F G H I ~@9 B C D E F G H J K@3 L@2 M N@2 O@4 ~@3 P Q@3 R S@5 T U V ~@24
>`.pickRestart({
  A: "[c5,c6]@2 [a#4,a#5]@2 [a4,a5] [g#4,g#5]@2 g4@4 c5 ~@4, ~@7 g5 ~@8", // C A# A G#
  B: "[f5,a5]@4 ~@4 [g5,a#5]@4 ~@4 [a5,c6]@6 [g5,a#5] ~@9", C: "[f5,a5]@4 ~@4 [e5,g5]@4 ~@4 [d5,f5]@6 [e5,g5] ~@9",
  D: "a#2 f2 a#2 f2", E: "c2 g1 c2 e2", F: "[f4,a4,c5] ~ [c4,e4,g4] ~ [f4,a4,c5] ~ c2@2, f2 c2 f2 ~",
  G: "[d2,d4,f4,a4]@4 ~ [a3,d4]@2 ~ d2@4 a1@4, ~@4 a1@3 [d4,f4,a4]@4 ~@5", // Dm D5 Dm
  H: "[g4,a#4] ~ [g4,a#4] ~ [a4,c5] ~ [a4,c5] ~, g1!2 c2!2", I: "[f4,a4,c5] ~ f2@2 ~@4, f2 ~@3",
  J: "b3@4 b3@4 a#3@4 ~ a#3@4 a3@2 e4@2 c4@2 d4@2 ~@7",
  K: "[~ a#4@6 ~ e5@2 g5@4 e5@4 e6@8 ~ g5@2 e5@2 b4@2 g4@2 a#4@4 a#4@2 ~@2 a#4@2 ~@2 g4@2 ~ a#4@2 a4@6 g4@2 e4@2 ~@2 c4@2 ~@2 e4@2 ~ g4@2 b4@2 e5@2 g5@2 ~@2 e5@2 ~@2 e6@8 g5@2 ~, ~@42 g4@2 ~@2 a4@2 ~@15 d#4@2 ~@2 d#4@2 ~@27]/3",
  L: "[e5@2 b4@2 g4@2 a#5@2 g5@2 e5@2 ~@2 a5@2 ~@2 d5@2 ~ a5@2 g5@4 b4@2 g4@2 e4@2 g3@2 ~@4 a#4@6 ~ e5@2 g5@4 e5@4 e6@8, ~@13 a#5@2 ~@2 f#5@2 ~@19 g4@2 ~@24]/2",
  M: "g5@2 ~ e5@2 b4@2 g4@2 a#4@4 a#4@2 g4@2 a#4@2 ~@2 g4@2 ~@2 a4@6 ~, ~@10 a4 ~ a#4 ~@3",
  N: "[g4@2 e4@2 d#4@2 c4@2 ~@2 e4@2 ~@2 b4@2 ~ e5@2 g5@2 ~@2 e5@2 ~@2 e6@8 g5@2 ~@2 b4@2 ~ g4@2 a#5@2 g5@2 e5@2 a#5@2 a5@2 ~@2 d5@2 ~@2 g5@2 ~@2, ~@9 d#4@2 ~@2 g4@2 ~@23 e5@2 ~@15 f#5@2 ~@2 a5@2 ~@3]/2",
  O: "[~@5 [g5,b5]@4 [f#5,a#5]@4 [e5,a5]@6 ~ [d#5,g5]@6 [a#4,e5]@12 [g5,b5]@4 [f#5,a#5]@4 ~ [e5,a5]@6 [a4,d5]@6 [b4,e5]@12 ~ [g5,b5]@4 [f#5,a#5]@4 [e5,a5]@6 ~ [d#5,g5]@6 [a#4,e5]@8 [a#4,g5]@4 [a#4,d#5]@4 [a4,d5]@12 ~@7]/4", // G F# A5 D# A#dim G F# A5 …
  P: "~@15 d3",
  Q: "[~ d3@3 c3@2 c3@3 g#2@3 g#2@3 a2@2 a2@3 d3@3 d3@2 c3@3 c3@3 g#3@3 g#3@2 g3@3 f3@3 d3@2 d3@3 c3@3 c3@2 [g#4,c5] ~@2 g#2@3 a2@3 a2@2 [d3,a4]@3 [d3,c5]@3 [c3,d5]@2 g4 ~@2 g#3@3 g#3@3 g3@2 f3@3 d3@3 d3@2 c3@3 c3@3, ~@44 d4 ~@2 [a4,d5]@5 g#2@3 ~@16 c3@3 ~@22, ~@72 g#4@9 ~@7 d4 ~ [a4,d5]@5 ~]/3", // G# D5 D7 Csus2 D5
  R: "[g#4,c5] ~ g#2@3 a2@3 a2@3 [d3,g#4]@2 d3@3 c3@3 c3@2 g#3@3 g#3@3 g3@3 f3@2, g#2@2 ~@11 f4 ~@2 d4 ~@2 f4@10 ~@3", // G# Ddim
  S: "[d3@3 d3@3 c3@2 c3@3 [g#4,c5] ~@2 g#2@2 a2@3 a2@3 [d3,a4]@3 d3@2 c3@3 c3@3 g#3@2 [g#3,f4]@3 [g3,g4]@3 g4 ~@2 d3@2 [d3,g4]@3 [c3,f4]@3 [c3,c4]@2 g#2@3 g#2@3 a2@2 a2@3 d3@3 d3@3 c3@2 c3@3 g#3@3 g#3@2 g3@3 f3@3 d3@3 d3@2 c3@3 c3@3 g#2@2 g#2@3 a2@3 a2@2 d3@3 d3@3 c3@3 c3@2 g#3@3 g#3@3 g3@2 f3@3 d3@3 d3@3 c3@2 c3@3 g#2@3 g#2@2 a2@3 a2@3 d3@2 d3@3 c3@3, ~@3 d4 ~@2 [a4,d5]@5 g#2@3 ~@11 c5 ~ d5 ~@2 f4@5 ~@6 f3@3 ~@116, ~@42 a4@4 ~@8 d4 ~@2 d4@13 ~@90]/5", // G# D5 C# G G5 F5 C D5
  T: "c3@3 g#3@2 g#3@3 g3@3 f3@2 d3@3 d3@3 c3@3 c3@2 g#2@3 g#2@3 a2@2",
  U: "a2@3 d3@3 d3@2 c3@3 c3@3 g#3@3 g#3@2 g3@3 f3@3 d3@2 d3@3 c3@2", V: "~ c3@3 g#2@2 g#2@3 a2@3 a2@3 ~@17",
})).s("gm_epiano1").gain(0.43)

// chords · epiano1 · "Piano" · soft notes
const epiano1_soft = note("<~@68 A B C D E F G H I J K L ~@6>".pickRestart({
  A: "~@16 [g4,a#4,d#5,f5]@2 ~@5 [g4,a#4,d#5,f5]@2 ~@2 [g4,a#4,d#5,f5]@2 ~@3", // D#
  B: "~@2 [g4,a#4,d#5,f5]@2 ~@2 [g4,a#4,d#5,f5]@2 ~@5 [g#4,a#4,c5,f5]@2 ~@6 [g#4,a#4,c5,f5]@2 ~ [g#4,a#4,c5,f5]@2 ~@6", // D# Fm
  C: "[g#4,a#4,c5,f5]@2 ~ [g#4,a#4,c5,f5]@2 ~@6 [g4,a#4,d#5,f5]@2 ~@5 [g4,a#4,d#5,f5]@2 ~@2 [g4,a#4,d#5,f5]@2 ~@5 [g4,a#4,d#5,f5]@2 ~", // Fm D#
  D: "~ [g4,a#4,d#5,f5]@2 ~@5 [g#4,a#4,c5,f5]@2 ~@5 [g#4,a#4,c5,f5]@2 ~@2 [g#4,a#4,c5,f5]@2 ~@6 [g#4,a#4,c5,f5]@2 ~ [g#4,a#4,c5,f5]@2", // D# Fm
  E: "~@6 [f4,g4,a#4,d5]@5 [f4,g4,a#4,d5]@2 ~@19", // Gm7
  F: "~@3 [f4,g#4,c5,d#5]@5 ~ [f4,g#4,c5,d#5]@2 ~@7 [f4,g#4,c5,d#5]@7 [f4,g#4,a#4,d5]@7", // Fm7 A#7
  G: "[g4,a#4,d#5,f5]@2 ~@6 [g4,a#4,d#5,f5]@2 ~ [g4,a#4,d#5,f5]@2 ~@6 [g4,a#4,d#5,f5]@2 ~@2 [g4,a#4,d#5,f5]@2 ~@5 [g#4,a#4,c5,f5]@2", // D# Fm
  H: "~@5 [g#4,a#4,c5,f5]@2 ~@2 [g#4,a#4,c5,f5]@2 ~@5 [g#4,a#4,c5,f5]@2 ~@2 [g#4,a#4,c5,f5]@2 ~@5 [g4,a#4,d#5,f5]@2 ~@3", // Fm D#
  I: "~@3 [g4,a#4,d#5,f5]@2 ~ [g4,a#4,d#5,f5]@2 ~@6 [g4,a#4,d#5,f5]@2 ~ [g4,a#4,d#5,f5]@2 ~@6 [g#4,a#4,c5,f5]@2 ~@5", // D# Fm
  J: "[g#4,a#4,c5,f5]@2 ~@2 [g#4,a#4,c5,f5]@2 ~@5 [g#4,a#4,c5,f5]@2 ~@2 [g#4,a#4,c5,f5]@2 ~@5 [f4,g4,a#4,d5]@5 ~ [f4,g4,a#4,d5]@2 ~@2", // Fm Gm7
  K: "~@20 [f4,g#4,c5,d#5]@5 [f4,g#4,c5,d#5]@2 ~@5", L: "~@2 [f4,g#4,c5,d#5]@7 ~ [f4,g#4,a#4,d5]@7 ~@15",
})).s("gm_epiano1").gain(0.29)

// chords · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note("<~ A B ~@6 A B ~@15 A B ~@58>".pickRestart({
  A: "~@4 [a3,c4]@3 ~@5 [a3,c4]@4 [a3,d4]@6 [a3,c4]@2 ~@8", B: "~@4 [a3,c4]@3 ~@5 [g3,a#3]@4 [f3,a3]@6 [g3,e4]@2 ~@8",
})).s("gm_electric_guitar_clean").gain(0.3)

// bass · electric bass finger · "Electric Bass"
const bass = note(`<
// … 136 more lines