Strudelify

Sing Sing Sing

Louis PrimaBenny Goodman

KeyG majorTempo120 bpm
0:00/0:00
// Sing Sing Sing — Louis PrimaBenny Goodman
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "Soprano Saxophone" named as a reed, played on soprano sax (its electric bass finger patch is not one); ch 3 "Alto Saxophone 1" named as a reed, played on alto sax (its slap bass 1 patch is not one); ch 4 "Alto Saxophone 2" named as a reed, played on alto sax (its slap bass 2 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5912146; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 242 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// chords · soprano sax · "Soprano Saxophone"
const soprano_sax = note(`<
  ~@3 A B ~@2 C D@4 E@4 F G H I J K@2 L M N O P M N Q R M S T U V W X Y Z AA AB AC AD AE AF AG Z AA AB AC AD AH AF AI
  AJ@2 AK AJ@2 AL AM AN Z AA AB AC AD AH AF AO ~@16 AP AQ AR AS AP AQ AT AU AP AQ AR AS AP AQ AT AU ~@8 AV@4 AW@2 AX@2
  AV@4 AW@2 AX@2 ~@2 AY@6 AZ@2 AY@6 BA@2 ~@27 BB BC BD BE ~ BC BD BE ~ BC BD BE ~ BC BD BE ~ BC BD BE ~ BC BD BE ~ BC BD
  BE ~ BC BD BE ~ BC BD BE BF@2 BG BH BG BH BG BH BI BJ BG BH BG BH BG BH BI BJ BG BH BG BH BG BH BI BJ ~@4 BK@2 BL
>`.pickRestart({
  A: "~@2 d#2", B: "e2@3 ~@2 b1@3 ~@4", C: "~@2 d#5", D: "[e5@3 ~@2 b4@3 ~@36 d#2@4, e2@7 ~]/4",
  E: "e2@3 ~@2 b1@3 d#2@4", F: "e4@2 g4 a#4@2 [b1,a#4]@3 g4 e4@2 g4, e2@3 ~@5 d#2@4",
  G: "a#4@2 a#4@3 g4 e4@2 g4 e4@2 d#4, e2@3 ~@2 b1@3 d#2@4", H: "[e2,e4]@3 ~@2 b1@3 d#2@4",
  I: "e2@3 ~@2 b1@3 ~@3 b4, ~@2 d#2", J: "d5@2 d5 ~@3 b4@2 g4@3 e4, e2 e5 ~@2, ~@5 b1@3 d#2@4",
  K: "[a#4@2 a#4 a4@2 g4 ~@3 d#4@2 ~ e2@3 ~@2 b1@3 d#2@4, e2@3 ~@2 b1@3 d#2@4 ~@12, ~@6 e4@3 ~@2 e4@3 ~@10]/2",
  L: "e4@2 f#4 g4@2 a4 b4@2 e5 b4@2 g4", M: "e2@5 ~ b1@5 ~", N: "e2@5 b1@4 ~@3",
  O: "b4@2 a4 b4@2 ~@3 g4 a4@2 g#4, b1@5 a4@3 ~@4, ~@6 a1@5 ~", P: "g1@4 f#1@5 ~ e1@8 ~@6, g4@3 ~@2 e4@3 ~@4",
  Q: "a4@3 a4@3 ~@2 g4 a4@2 ~, a1@5 ~ c#2@5 ~", R: "[d2,d5]@2 [e2,c5] ~@2 f#2@3 [d2,a4]@3 ~, ~@5 b4 ~@6",
  S: "e2@5 ~@3 a#4 b4@2 ~, ~@5 b1@4 ~@3", T: "d5@2 ~ d5@3 ~@2 b4 a4@2 ~, d2@5 ~ a1@5 ~",
  U: "g1@4 f#1@5 ~ [e1,e4]@8 ~@6, g4 ~@3", V: "e1@5 ~ g1@5 ~", W: "b1@5 d2@4 ~@3", X: "a1@5 ~ d2@5 ~",
  Y: "g2@3 f#2@3 e4@2 f#4 g4@2 a4, ~@2 e2 d2", Z: "e2!2 f#2!2, b4@5 ~ a4@5 ~",
  AA: "g2 ~ f#2 b1, g4@5 a4@4 ~@3, ~ g2 ~@2", AB: "~@2 b4 ~@2 b4 f#2@3 f#2@3, e2@3 e2@3 a4@2 ~ a4@2 ~",
  AC: "g4@2 a4 ~@5 e5 e5@2 e5, g2!2 f#2 b1, ~@5 b4@3 ~@4", AD: "e2@3 e2@3 [f#2,e5]@3 ~@2 g5, g5@2 ~ g5@2 ~@4 f#2@3",
  AE: "~@2 g5 ~@2 g5 f#2@3 b1@3, g2@3 g2@3 e5@2 ~@4", AF: "e2 b1 g2 f#2", AG: "f#2@3 b1@3 ~@2 f#4 g4@2 a4, ~@2 e2 b1",
  AH: "~@2 g5 ~@2 g5 [f#2,e5]@3 b1@3, g2!2 ~@2", AI: "f#2@3 b1@3 ~@2 d5 b1@3, ~@6 e2@3 e5@2 ~", AJ: "g2!2 d2!2",
  AK: "d3 c3 b2 a2", AL: "g2@3 g2@3 d2@3 ~@2 b4, ~@3 d2", AM: "~@2 d5 ~@2 b4 d5@2 d#5 d2@3, g2@3 g2@3 d2@3 e5@2 ~",
  AN: "[g2,b4]@3 g4@2 ~ g2@3 f#2@3, ~ g2 ~@2, ~@5 g4@3 ~@4", AO: "f#2 b1 e2 b1", AP: "a1 e1!3, a3 ~@2 c4 ~@2",
  AQ: "a1@3 a1@3 g#1@3 d#4@2 e4, d4@2 ~ c4@2 ~ d4@2 ~ g#1@3", AR: "~@2 a4 e1@3 e1@3 e1@3, a1 ~@3",
  AS: "b3@2 c4 d4@2 d#4 e4@2 d4 c4@2 b3, a1!2 g#1!2", AT: "~@2 a4 e1@3 e1@3 ~@2 a4, a1 ~@2 e1",
  AU: "~@2 a4 g4@2 g4 f4@2 f4 e4@2 e4, a1!2 g#1!2", AV: "[a1@2 ~ e5@3 c5@3 e5@3 c5@6 g#1@6, ~@3 f#1@3 ~@2]/2",
  AW: "[a1@2 ~@7 f#1@9 g#1@6]/2", AX: "[a1@2 ~ e5@3 c5@3 e5@3 c5@3 e5@3 [g#1,c5]@6, ~@3 f#1@3 ~@2]/2",
  AY: "[~@2 c5 e2@3 ~@2 c5 a1@3 ~@2 c5 e5@2 c5 ~@2 c5 g#2@3, a2@3 e5@5 ~ e5@5 ~@10, ~@2 a1 ~ a2!2 g#2 ~]/2",
  AZ: "[a2!2 e2!2 a2!2 a1!2, ~ c5@4 ~@3]/2", BA: "[a2!2 e2!2 a2!2 a1!2, ~ c5@5 ~@2]/2", BB: "~@8 e4 a4@2 c5",
  BC: "e5 f5 e5 d5 e5 d5", BD: "c5 d5 c5 b4 c5 b4", BE: "a4@5 e4@7", BF: "a4/2", BG: "a2 e2 a1!2", BH: "a2!2 g#2!2",
  BI: "a2!2 e2!2", BJ: "a2!2 a1!2", BK: "[~@11 c2@3 ~@10]/2", BL: "c2",
})).s("gm_soprano_sax").gain(0.3)

// chords · soprano sax · "Soprano Saxophone" · soft notes
const soprano_sax_soft = note("<~@211 A@6 B@2 A@6 B@2 A@6 B@2 ~ C@2 ~ D@2 E>".pickRestart({
  A: "[~@2 c5 e5@5 c5 e5@5 c5 e5@2 c5 ~@2 c5 ~@3]/2", B: "[~ c5@4 ~@3]/2", C: "[b4@2 c5 c#5@2 d5@9 ~@10]/2",
  D: "[~@11 e5@3 ~@10]/2", E: "e5",
})).s("gm_soprano_sax").gain(0.2)

// other · alto sax · "Alto Saxophone 1"
const alto_sax = note(`<
  ~@3 A B ~@11 C D E F G H@2 I ~@15 J K L M N ~@3 O K L M N ~@3 P ~@4 Q R S T K L M N ~@24 U V W X Y Z AA@2 AB AC AB AC
  ~@8 AD AE AD AE ~@2 AF AG AD AE AD AE ~@2 AF AG ~@2 AH@6 AI@2 AH@6 AJ@2 ~@32 AK AL AM ~ AK AL AM ~ AK AL AM ~ AK AL AN
  AO AK AL AP AQ AK AL AP AQ AK AL AR AS AK AL AP AT@2 ~@31
>`.pickRestart({
  A: "~@2 d#4", B: "e4@3 ~@2 b3@3 ~@4", C: "e4@2 g4 a#4@2 a#4@3 g4 e4@2 g4", D: "a#4@2 a#4@3 g4 e4@2 g4 e4@2 d#4",
  E: "e4 ~@3", F: "~@11 b4", G: "d5@2 d5 e5@3 b4@2 g4@3 e4", H: "[a#4@2 a#4 a4@2 g4 e4@3 d#4@2 e4@3 ~@10]/2",
  I: "e4@2 f#4 g4@2 a4 b4@2 e5 b4@2 g4", J: "~@6 e4@2 f#4 g4@2 a4", K: "b4@5 ~ a4@5 ~", L: "g4@5 a4@4 ~@3",
  M: "~@2 b4 ~@2 b4 a4@2 ~ a4@2 ~", N: "g4@2 a4 ~@2 b4@4 ~@3", O: "~@8 f#4 g4@2 a4", P: "~@8 d5 e5@2 ~",
  Q: "~@2 d4 d4@2 d4 d4@2 d4@3 d4", R: "~@2 d4 ~@2 d4 d4@2 ~@3 g4", S: "~@2 b4 ~@2 g4 b4@2 c5 c5@2 ~",
  T: "b4@3 c5@2 b4@3 ~@4", U: "e4@2 ~ a4@2 ~ e4@2 ~ a4@2 ~", V: "e4@2 a4 ~@2 e4@7", W: "d4 c4", X: "b3 a3",
  Y: "a3@2 c#4 e4@2 a4 ~@2 a4 ~@2 a4", Z: "~@2 a4 ~@2 a4 g#4@2 a4 e4@2 c#4",
  AA: "[e4@2 d#4 d4@2 c#4 c4@2 b3 ~@2 a3@3 ~@10]/2", AB: "a4 d#4@2 ~", AC: "d#4@5 f4@4 ~@3", AD: "~ c4 a3 c4",
  AE: "a3 ~", AF: "~ c5 a4 c5", AG: "a4 c5 a4@2", AH: "[~@2 a4 c5@5 a4 c5@5 a4 c5@2 a4 ~@2 a4 ~@3]/2",
  AI: "[~ a4@4 ~@3]/2", AJ: "[~ a4@5 ~@2]/2", AK: "c5 d5 c5 b4 c5 b4", AL: "a4 b4 a4 g4 a4 g4", AM: "e4@5 c4@7",
  AN: "~@2 a3!2 c4 e4", AO: "d#4", AP: "~@2 a3!2 c4 g4", AQ: "f#4", AR: "~@2 c4!2 e4 a4", AS: "g#4", AT: "d#4/2",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone 1" · soft notes
const alto_sax_soft = note("<~@211 A@6 B@2 A@6 B@2 A@6 B@2 C@3 ~ D@2 E>".pickRestart({
  A: "[~@2 a4 c5@5 a4 c5@5 a4 c5@2 a4 ~@2 a4 ~@3]/2", B: "[~ a4@4 ~@3]/2", C: "[a4@2 a#4 b4@2 c5@21 ~@10]/3",
  D: "[~@11 e4@3 ~@10]/2", E: "e4",
})).s("gm_alto_sax").gain(0.2)

// other · alto sax · "Alto Saxophone 2"
const alto_sax_2 = note(`<
  ~@3 A B ~@11 C D E F G H@2 I J K L M J K N O ~@7 P Q R S T ~ U V W X Y Z T ~ AA AB AC ~@4 AD AE AF AG Q R S T ~ U V AH
  ~@16 AI AJ AI AJ AI AJ AI AJ AI AJ AI AJ AI AJ AI AJ ~@8 AK AL AK AL ~@2 AM AN AK AL AK AL ~@2 AM AN ~@2 AO@6 AP@2
  AO@6 AQ@2 ~@34 AR AS@3 AR AS@3 AT AU@3 AV AU@3 AW AU@3 AW AU@3 AX AY@3 AW AZ@2 AO@6 AP@2 AO@6 AP@2 AO@6 BA BB BC@3 ~
  BD@2 BE
>`.pickRestart({
  A: "~@2 f#4", B: "g4@3 ~@2 e4@3 ~@4", C: "e3@2 g3 a#3@2 a#3@3 g3 e3@2 g3", D: "a#3@2 a#3@3 g3 e3@2 g3 e3@2 d#3",
  E: "e3 ~@3", F: "~@11 b3", G: "d4@2 d4 e4@3 b3@2 g3@3 e3", H: "[a#3@2 a#3 a3@2 g3 e3@3 d#3@2 e3@3 ~@10]/2",
  I: "g3@2 a3 a#3@2 b3 g4@2 e4 b3@2 g3", J: "b3@5 ~ g3@5 ~", K: "b3@5 g3@4 ~@3", L: "b3@5 ~ a3@5 ~",
  M: "g3@4 f#3@5 ~ b3@8 ~@6", N: "e4@5 ~ g4@5 ~", O: "f#4@4 e4@2 ~@4 d4@6 d4@5 ~@3", P: "~@6 g4@2 a4 b4@2 d5",
  Q: "b4@5 ~ a4@5 ~", R: "g4@5 a4@4 ~@3", S: "~@2 b4 ~@2 b4 a4@2 ~ a4@2 ~", T: "g4@2 a4 ~@2 b4@4 ~@3",
  U: "~@8 b4 b4@2 b4", V: "e5@2 ~ b4@2 ~ a4@2 g4 a4@2 b4", W: "a4@2 g4 ~@2 e4@3 b3 e4@2 f#4", X: "g4@5 ~ f#4@5 ~",
  Y: "e4@5 f#4@4 ~@3", Z: "~@2 g4 ~@2 g4 f#4@2 ~ f#4@2 ~", AA: "~@11 b4", AB: "~@2 b4 g4@3 a4@2 g4 a4@2 b4",
  AC: "a4@2 g#4 g4@2 e4 ~@2 d3 e3@2 ~", AD: "~@2 g4 g4@2 g4 a4@2 b4@3 g4", AE: "~@2 b4 ~@2 b4 a4@2 ~@4",
  AF: "g4@5 ~ a4@5 ~", AG: "g4@5 ~ g4@5 ~", AH: "a4@2 g4 ~@2 e4@3 ~@4", AI: "a4 d#4@2 ~", AJ: "d#4@5 f4@4 ~@3",
  AK: "~ e5 c5 e5", AL: "c5 ~", AM: "~ e4 c4 e4", AN: "c4 e4 c4@2", AO: "[~@2 a4 c5@5 a4 c5@5 a4 c5@2 a4 ~@2 a4 ~@3]/2",
  AP: "[~ a4@4 ~@3]/2", AQ: "[~ a4@5 ~@2]/2", AR: "~@2 a3!2 c4 e4", AS: "d#4/3", AT: "~@2 a3!2 e4 g4", AU: "f#4/3",
  AV: "~@2 a3!2 c4 g4", AW: "~@2 c4!2 e4 g4", AX: "~@2 e4!2 a4 c5", AY: "b4/3", AZ: "g#4/2", BA: "~ a4@3",
  BB: "a4 ~ a4 ~ a4 ~ a4@2 ~ a4@2 ~", BC: "[a4@2 a#4 b4@2 c5@21 ~@10]/3", BD: "[~@11 g4@3 ~@10]/2", BE: "g4",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone 3"
const alto_sax_3 = note(`<
  ~@3 A B ~@8 C D@9 E F G H I F G J K F G L M N O P Q R S T U ~ V W X R S T U ~ Y Z AA ~@6 AB AC R S T U ~ V W AD ~@8 AE
  AF AG AH AE AF AI AJ AE AF AG AH AE AF AI AJ AE AF AG AH AE AF AI AJ ~@8 AK AL AK AL ~@2 AK AM AK AL AK AL ~@2 AK AM
  ~@2 AN@6 AO@2 AN@6 AP@2 ~@34 AQ AR@3 AQ AR@3 AQ AR@3 AQ AR@3 AQ AR@3 AQ AR@3 AQ AR@3 AQ AS@2 ~@31
>`.pickRestart({
  A: "~@2 f#4", B: "g4@3 ~@2 e4@3 ~@4", C: "~@2 d#4", D: "e4@3 ~@2 b3@3 d#4@4", E: "g3@2 a3 a#3@2 b3 e4@2 b3 b3@2 g3",
  F: "g3@5 ~ e3@5 ~", G: "g3@5 e3@4 ~@3", H: "g3@5 ~ f#3@5 ~", I: "e3@4 d#3@5 ~ e3@8 ~@6", J: "c#4@5 ~ e4@5 ~",
  K: "d4@4 e4@2 ~@4 f#4@6 d4@5 ~@3", L: "a3@5 ~ b3@5 ~", M: "g3@4 a3@5 ~ e3@8 ~@6", N: "g3@5 ~ g3@5 ~",
  O: "d4@5 b3@4 ~@3", P: "a3@5 ~ d4@5 ~", Q: "a3@2 g3 ~@2 b3@4 ~@3", R: "b4@5 ~ a4@5 ~", S: "g4@5 a4@4 ~@3",
  T: "~@2 b4 ~@2 b4 a4@2 ~ a4@2 ~", U: "g4@2 a4 ~@2 b4@4 ~@3", V: "~@8 b4 b4@2 b4", W: "e5@2 ~ b4@2 ~ a4@2 g4 a4@2 b4",
  X: "a4@2 g4 ~@2 e4@3 f#4 g4@2 a4", Y: "~@11 b4", Z: "~@2 b4 g4@3 a4@2 g4 a4@2 b4",
  AA: "a4@2 g#4 g4@2 e4 ~@2 d4 e4@2 ~", AB: "d4@5 ~ e4@5 ~", AC: "d4@5 ~ d4@5 ~", AD: "a4@2 g4 ~@2 e4@3 ~@4",
  AE: "a3 ~@2 c4 ~@2", AF: "d4@2 ~ c4@2 ~ d4@2 ~ d#4@2 e4", AG: "~@2 a4 ~@9", AH: "b3@2 c4 d4@2 d#4 e4@2 d4 c4@2 b3",
  AI: "~@2 a4 ~@8 a4", AJ: "~@2 a4 g4@2 g4 f4@2 f4 e4@2 e4", AK: "~ c4 a3 c4", AL: "a3 ~", AM: "a3 c4 a3@2",
  AN: "[~@2 e4 a4@5 e4 a4@5 e4 a4@2 e4 ~@2 e4 ~@3]/2", AO: "[~ e4@4 ~@3]/2", AP: "[~ e4@5 ~@2]/2", AQ: "~@2 a3!2 c4 e4",
  AR: "d#4/3", AS: "d#4/2",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone 3" · soft notes
const alto_sax_soft_2 = note("<~@211 A@6 B@2 A@6 B@2 A@6 B@2 C@3 ~ D@2 E>".pickRestart({
  A: "[~@2 e4 a4@5 e4 a4@5 e4 a4@2 e4 ~@2 e4 ~@3]/2", B: "[~ e4@4 ~@3]/2", C: "[a3@2 a#3 b3@2 c4@21 ~@10]/3",
  D: "[~@11 e4@3 ~@10]/2", E: "e4",
})).s("gm_alto_sax").gain(0.2)

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

// other · baritone sax · "Baritone Saxophone" · soft notes
const baritone_sax_soft = note("<~@211 A B A B A B C@2 A B A B A B C@2 A B A B A B C@2 D@3 ~ E@2 F>".pickRestart({
  A: "a2 ~@2 g#2 ~@2", B: "a2@2 ~@3 g#2 ~@2 g#2 ~@2 g#2", C: "[~ a2@4 ~@3]/2", D: "[a2@2 a#2 b2@2 c3@21 ~@10]/3",
  E: "[~@11 c3@3 ~@10]/2", F: "c3",
})).s("gm_baritone_sax").gain(0.2)

// other · trumpet · "Trumpet 1"
const trumpet = note(`<
  ~@13 A B@2 C D E F G H@2 ~@9 I J K L M N O@2 P Q ~ R S T ~@2 P Q ~ R S U ~ V W ~@3 X F Y Z P Q ~ R S U ~@18 AA AB AA
  AB AA AB AA AB AA AB AA AB AA AB AA AB ~@7 AC AD AE AF@2 AG AH@2 AI AJ AK AL@2 AM AN@2 AO ~@2 AP AQ AP AQ AP AQ AR@2
  AP AQ AP AQ AP AQ AS@2 ~@31 AT AU@2 AV@2 AU@2 AW@2 AX@2 AY@2 AU@2 AZ@2 BA@2 BB@2 BA@2 BC@2 BD@2 BE@2 BA@2 BF BG@2 BH
  AQ AP AQ AP AQ AR@2 AP AQ AP AQ AP AQ AR@2 BI BJ BI BJ BI BJ BK@2 ~ BL@2 ~ BM@2 BN
>`.pickRestart({
  A: "~@2 d#5", B: "e5@3 ~@2 b4@3 d#5@4", C: "e4@2 g4 a#4@2 a#4@3 g4 e4@2 g4", D: "a#4@2 a#4@3 g4 e4@2 g4 e4@2 d#4",
  E: "e4 ~@3", F: "~@11 b4", G: "d5@2 d5 e5@3 b4@2 g4@3 e4", H: "[a#4@2 a#4 a4@2 g4 e4@3 d#4@2 e4@3 ~@10]/2",
  I: "b4@2 ~ e5@2 ~ b4@2 ~ e5@2 ~", J: "b4@2 e5 ~@2 b4 ~@2 a#4 b4@2 ~", K: "d5@2 ~ d5@3 ~@2 b4 a4@2 ~",
  L: "g4@3 ~@2 e4@4 ~@3", M: "e4 g4", N: "b4 d5", O: "[f5@2 ~ e5@3 a#4@2 b4 ~@2 g4@7 ~@6]/2",
  P: "~@2 b4 b4@2 ~@3 a4 a4@2 ~", Q: "~@2 g4 g4@2 ~@3 a4 ~@2 b4", R: "~@8 b4 b4@2 b4", S: "e5@2 ~ e5@2 ~ b4@3 ~@2 e5",
  T: "~@2 e5 ~@2 e5 b4@2 ~@4", U: "~@2 e5 ~@2 e5 b4@3 ~@3", V: "~@11 e5", W: "d5 ~@5", X: "g5 ~@5",
  Y: "~@2 d5 ~@2 b4 d5@2 d#5 e5@2 ~", Z: "b4@3 g4@2 g4 ~@2 c5 ~@3", AA: "a5 e5@2 ~", AB: "e5@5 d5@3 ~@4", AC: "~@3 e4",
  AD: "a4 ~@5", AE: "~ e4 a4 g#4", AF: "[g4@3 e4@3 ~ c4]/2", AG: "e4 c4 e4 c4", AH: "[d#4 d4 c4 a3@5]/2", AI: "~@3 e5",
  AJ: "a5 ~@5", AK: "~ e5 a5 g#5", AL: "[g5@3 e5@3 ~ c5]/2", AM: "e5 c5 e5 c5", AN: "[d#5 d5 c5 c5@5]/2", AO: "c5",
  AP: "e5 ~@2 d#5 ~@2", AQ: "e5@2 ~@3 d#5 ~@2 d#5 ~@2 d#5", AR: "[~@3 e5@12 ~@2 e5 ~@2 e5 ~@2 a5]/2",
  AS: "[~ e5@5 ~@2]/2", AT: "~@2 a3 c4", AU: "[e4 d4@6 c4]/2", AV: "[a3@5 e3@13 a3@3 c4@3]/2",
  AW: "[a3@5 e3@13 a3@2 c4@2 e4@2]/2", AX: "[a4 g#4@6 f4]/2", AY: "[e4@9 a3 c4 d4]/2", AZ: "[a3@5 e3@13 a4@3 c5@3]/2",
  BA: "[e5 d5@6 c5]/2", BB: "[a4@3 g4@2 a4@13 a4@3 c5@3]/2", BC: "[a4@3 g4@2 a4@13 a4@2 c5@2 e5@2]/2",
  BD: "[a5 g#5@6 f5]/2", BE: "[e5@3 d5@2 e5@13 a4@3 c5@3]/2", BF: "a4@3 g4@2 a4@7", BG: "[d#5@23 g#5]/2",
  BH: "a5 ~@2 d#5 ~@2", BI: "a5 ~@2 g#5 ~@2", BJ: "a5@2 ~@3 g#5 ~@2 g#5 ~@2 g#5", BK: "[~ a5@4 ~@3]/2",
  BL: "[b4@2 c5 c#5@2 d5@9 ~@10]/2", BM: "[~@11 e5@3 ~@10]/2", BN: "e5",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note(`<
  ~@13 A B@9 ~@9 C D E F G H I@2 J K ~ L M N ~@2 J K ~ L M O ~ P Q ~@3 Q R S T J K ~ L M O ~@18 U V U V U V U V U V U V
  U V U V ~@7 W X Y Z@2 AA AB@2 AC AD AE AF@2 AG AH@2 AI ~@2 AJ AK AJ AK AJ AK AL@2 AJ AK AJ AK AJ AK AM@2 ~@31 AN AO@2
  AP@2 AO@2 AQ@2 AR@2 AS@2 AO@2 AT@2 AU@2 AV@2 AU@2 AW@2 AX@2 AY@2 AU@2 AZ BA@2 BB AK AJ AK AJ AK AL@2 AJ AK AJ AK AJ AK
  AL@2 AJ AK AJ AK AJ AK BC@2 ~ BD@2 ~ BE@2 BF
>`.pickRestart({
  A: "~@2 f#5", B: "g5@3 ~@2 e5@3 f#5@4", C: "b4@2 ~ e5@2 ~ b4@2 ~ e5@2 ~", D: "b4@2 e5 ~@2 b4 ~@2 a#4 b4@2 ~",
  E: "d5@2 ~ d5@3 ~@2 b4 a4@2 ~", F: "g4@3 ~@2 e4@4 ~@3", G: "e4 g4", H: "b4 d5",
  I: "[f5@2 ~ e5@3 a#4@2 b4 ~@2 g4@7 ~@6]/2", J: "~@2 b4 b4@2 ~@3 a4 a4@2 ~", K: "~@2 g4 g4@2 ~@3 a4 ~@2 b4",
  L: "~@8 b4 b4@2 b4", M: "e5@2 ~ e5@2 ~ b4@3 ~@2 e5", N: "~@2 e5 ~@2 e5 b4@2 ~@4", O: "~@2 e5 ~@2 e5 b4@3 ~@3",
  P: "~@11 c5", Q: "b4 ~@5", R: "~@11 b4", S: "~@2 d5 ~@2 b4 d5@2 d#5 e5@2 ~", T: "b4@3 g4@2 g4 ~@2 a4 ~@3",
  U: "e5 c5@2 ~", V: "c5@5 b4@3 ~@4", W: "~@3 e4", X: "a4 ~@5", Y: "~ e4 a4 g#4", Z: "[g4@3 e4@3 ~ c4]/2",
  AA: "e4 c4 e4 c4", AB: "[d#4 d4 c4 a3@5]/2", AC: "~@3 a4", AD: "c5 ~@5", AE: "~ c5 e5 c5", AF: "[e5@3 c5@3 ~ a4]/2",
  AG: "c5 a4 c5 a4", AH: "[c5 b4 g#4 a4@5]/2", AI: "a4", AJ: "a4 ~@2 g#4 ~@2", AK: "a4@2 ~@3 g#4 ~@2 g#4 ~@2 g#4",
  AL: "[~@3 a4@12 ~@2 a4 ~@2 a4 ~@2 a4]/2", AM: "[~ a4@5 ~@2]/2", AN: "~@2 a3 c4", AO: "[d#4@7 c4]/2",
  AP: "[a3@6 a3 c4]/2", AQ: "[a3@9 a3 c4 e4]/2", AR: "[e4 d4@6 c4]/2", AS: "[a4@5 e4@13 a3@2 c4@2 d4@2]/2",
  AT: "[a3@6 a4 c5]/2", AU: "[d#5@7 c5]/2", AV: "[a4@5 e4@13 a4@3 c5@3]/2", AW: "[a4@5 e4@13 a4@2 c5@2 e5@2]/2",
  AX: "[e5 d5@6 c5]/2", AY: "[c5@5 a4@13 a4@3 c5@3]/2", AZ: "a4@5 e4@7", BA: "[b4@23 b4]/2", BB: "c5 ~@2 g#4 ~@2",
  BC: "[~ a4@4 ~@3]/2", BD: "[b3@2 c4 c#4@2 d4@9 ~@10]/2", BE: "[~@11 c5@3 ~@10]/2", BF: "c5",
})).s("gm_trumpet").gain(0.45)

// other · flute · "Flute 1"
const flute = note(`<
  ~@7 A B ~@7 C D E F G H@2 I ~@2 J K ~@2 L M N O P Q R S T@2 U V W X Y Z ~ AA U V W X Y Z ~@2 AB AC AD AE ~@4 AF AG AH
// … 137 more lines