Strudelify

avengers endgame - portals

Daniel Coffin

KeyE majorTempo145 bpm
0:00/0:00
// avengers endgame - portals — Daniel Coffin
// 145 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 7, 4/4 at bar 14, 2/4 at bar 22, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5879399; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 326 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(145/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 · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A@2 B@2 C@2 D E F G H I J@2 K ~ L M N ~@2 O ~@5 P Q R S T U ~@3 V W ~@4 X Y ~@15 Z AA AB AC@3 AD@4 AE@2 ~@8 AF@5 ~@4
  AG@2 AH@2 AI AJ AK@2 AL AM AN AO@2 AP AQ@4 AR@2 ~@3 AS AT AU@2 ~ AV@2 ~ AW@5 ~@2 AX@3 AY@2 AZ@2 BA BB BC BD ~@5 BE@5
  BF BG ~ BH@6 ~@12 BI ~@3 BJ BK BL BM BN BO@2 BP BQ BR@2 BS@2 BT@3 BU@2 BV BW@3 BX BY BZ CA@3 CB@6 ~@2 CC CD CE CF CG@2
  ~@5 CH CI@5 CJ@4 ~@18 CK CL CM@6 ~ CN@8 ~@7 CO CP CQ CR@8 CS CT@4 CU CV@8 CW CX CY CZ@8 DA@2 DB@5 DC DD DE DF@3 DG DH
  DI DJ@3
>`.pickRestart({
  A: "[~@18 d5@12 d5@2 ~@2 d#5@2 ~@2 d#5@2 ~@2 d5 ~@5]/2", B: "[~@9 d5@6 d5 ~ d#5 ~ c5 ~ d5@3]/2",
  C: "[~@9 f5@2 f5@2 f5@8 f4!3]/2", D: "a4!3 c5!3 f5!3 d5@3", E: "a4@2 d5 a4 d5@2 a4@2", F: "d5 a4 c5@2 g4@2 f4 a4",
  G: "c5@2 a5!2", H: "a5@2 a5!2 a5@2 a5@2", I: "a5!2 f5@2 e5@2 d5 f5", J: "[g5@3 a5@3 d5 ~]/2",
  K: "d5@2 ~@2 d#5@2 ~@2 d#5@2 ~@2 d5@3 ~@9", L: "~@6 a#5 a5 f#5 d5 f#5 a5",
  M: "a#5@2 a5@2 f#5@2 d6@2 a#5@2 c6@2 d6@3 ~@3 a5 ~ a5 ~ a5 ~", N: "a5 ~@3", O: "~@4 a5 ~@3", P: "~@4 c5 a#4 f5 e5",
  Q: "d5@3 d5 ~ a4 d5 e5", R: "f5@3 d5 g5@3 a5", S: "d5", T: "~ d5@2 d5 f5 ~ e5 ~", U: "d5@6 f4 ~ a4 ~ c5 ~ d5@6 ~@6",
  V: "~@6 g4 a4 a#4 [c5,d5] e5 f5 g5@12", W: "[a5,c#6]", X: "~@6 c6 g5 ~ e5 c5 ~ g5 e5 ~ c5 g4 ~ e5 c5 ~ g4 e4 ~",
  Y: "c4", Z: "~@22 a4 d5", AA: "f#5 ~ g5@2 ~ f#5@2 ~ g5 ~ g5 ~ a5@10 ~@2", AB: "~ a4 d5 f#5 g5@2 ~@2 f#5@2 ~ e5@13",
  AC: "[~@4 a4 d5 f#5 g5@2 ~ f#5@2 ~@2 g5 a5 ~ a#5@10 a5@10 e5@2 ~@2 a5@10 e5@2 ~ a5@3 ~@5 c#5@2 e5@2 ~ a5@3 ~@2, ~@61 a4@2 ~@3 g#5@2 ~@4]/3",
  AD: "[~@9 d5@11 ~ d5@2 g5@4 ~@3 f#5@4 ~@4 g4@29 d5@11 ~ d5@2 g5@4 ~@3 f#5@4 ~@4, ~@10 a4 ~@28 a4 ~@8]/4",
  AE: "[c5@7 c#5@7 ~@10]/2",
  AF: "[~@3 a#4@2 c5@2 ~ e5@2 f5@2 d5@27 ~@6 d5@7 d5@10 a5@3 g5@20 f5@3 ~ e5@3 a5@13 [g5,a5]@13 ~@2, ~@2 a4@2 ~@3 d5@2 ~@111]/5", // Gsus2
  AG: "[~ d5@3 e5@3 f5@6 d5@6 a#5@11 a5@12 b5@3 g5@3]/2", AH: "[g5@41 ~@5 d5@2]/2", AI: "~ e5@3 f5@6 d5@6 ~@5 f5@3",
  AJ: "g5 a5@2 f5@2 ~@2 e5", AK: "[f5@2 g5@6 e5@6 a5@23 ~@11]/2", AL: "~ d5@4 e5@4 f5@3 e5@12", AM: "g5 ~",
  AN: "~@11 f5@3 e5 ~@2 e5 ~@2 e5 ~ f5@2", AO: "[~ e5 ~@2 e5 ~@2 e5 ~@2 d5@23 ~@15]/2",
  AP: "~@8 d5@2 d5@2 d5@2 d5@3 ~@3 e5@2 e5@2",
  AQ: "[e5@2 e5@3 ~@3 f5@11 a4@4 d5@4 a5@4 a#5@11 f5@12 a5@12 c6@11 g5@12 g5@2 ~@2 g5@2 ~]/4",
  AR: "[~ g5@2 ~ e5@12 a5@12 ~@20]/2", AS: "~@15 d5 ~ d5 ~ d5 ~ c5 ~@2",
  AT: "c5 ~ c5 ~ a#4 ~ a#4 ~@2 a#4 ~ a4 ~ a4 ~ a4 ~ g5 ~@2 g5 ~ g5 ~",
  AU: "[f5 ~ f5 ~@2 f5 ~ e5 ~ e5 ~ e5 ~@2 d5 ~ d5 ~ d5 ~ d5@27 ~]/2", AV: "[~@8 d6@2 ~ f6@2 e6@2 d6@13 ~@20]/2",
  AW: "[~@23 a4@4 ~ c5@4 d5@4 ~ f5@20 g5@7 a5@23 g5@2 ~ a#5@27 ~@3, ~@89 a5@2 ~@29]/5",
  AX: "[~@3 d5@23 c5@2 ~ a4@13 ~ f4@13 c6@10 a5@2 c6@2 b5@2, ~@14 a#4 ~@21]/3",
  AY: "[~@2 b5@2 ~@3 b5@2 ~@10 f5@2 a5@2 ~ d6@17 ~@7, ~@18 d5@2 ~@3 c6@2 ~@23]/2",
  AZ: "[~@23 g4@2 b4@2 ~ f5@2 g5@13 ~@5, ~@27 d5@2 ~@19]/2", BA: "~@15 d4@2 f4@2 ~ c5@2 d5 ~, ~@19 a4@2 ~@3",
  BB: "~@3 d5 ~@4 d5 ~@2 d5 ~@4 f5 ~@4 f5 ~@2", BC: "~@2 f5 ~@2 f5 ~@4 d5 ~@4 d5 ~@4 d5 ~@2 d5",
  BD: "~@4 c#5 ~@4 c#5 ~@4 d5 ~@2 c#5 ~@6",
  BE: "[~ [d5,e5] f5 [g5,a5] ~@4 a5 ~@4 a#5 ~@2 a5 ~@4 a5@20 ~ g5@5 f5@5 e5@30 g5@20 ~ f5@5 e5@5 d5@5 g4@2]/5", // Dsus2 Gsus2
  BF: "b4@2 ~ b4@2 d5@2 f#5@2 g5@3 ~@7 e5@5, ~ d5 ~@10", BG: "f5@5 ~@3",
  BH: "[~@3 a5@5 g5@5 f5@31 g5@31 b5@30 a5@31 ~@8]/6", BI: "~@12 a5!2 ~ a5 ~@4 g5 ~ g5!2", BJ: "~@20 d5 ~@3",
  BK: "~ a5 ~@5 g5 ~@2 a5 ~@2 a#5 ~@4 f5 ~ f5 ~ f5 ~", BL: "a5 ~ a5 ~ a5 d5 ~@5 a5 ~@5 g5 ~ a5 ~@2 b5 ~",
  BM: "~@4 g5 ~ g5 ~ g5 b5 ~ b5 ~ b5 ~ d5 ~@5 a5 ~@2", BN: "~@2 f5 ~@2 a5 ~@2 d6 ~@5 f5!2 ~ f5 ~ a5 ~ a5 ~ a5",
  BO: "[~ d5@11 d5@6 e5@5 a5@6 c#6@5 a5@11 ~@3]/2", BP: "~@9 a5@11 ~@4", BQ: "~@7 a#5@11 ~@6",
  BR: "[~@17 f5@11 e5@11 ~@9]/2", BS: "[~@3 f5@11 e5@6 g5@5 e5@11 ~@12]/2",
  BT: "[~@11 f5@5 e5@6 g5@39 c5 ~ c5 ~@2 c5@2 ~@2 c5 ~]/3",
  BU: "[~ c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 d#5 ~ d#5 ~@2 d#5@2 ~@2 d#5 ~@2 d#5 ~ d#5@2 ~@3 d#5@2 d#5 d#5@2 ~@5 d#5]/2",
  BV: "~ d#5 ~@2 d#5@2 ~@2 d#5 ~@2 d#5 ~ d#5@2 ~@3 d#5@2 d#5 d#5@2 ~",
  BW: "[~@4 d#5 ~ d#5 ~@2 d#5@2 ~@2 d#5 ~@2 d#5 ~ d#5@2 ~@3 d#5@2 d#5 d#5@2 ~@5 c5 ~ c5 ~@2 c5@2 ~@2 c5 ~@2 c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 d#5 ~ d#5 ~@2 d#5@2 ~@2 d#5]/3",
  BX: "~@2 d#5 ~ d#5@2 ~@3 d#5@2 d#5 d#5@2 ~@5 g#5 ~ g#5 ~@2",
  BY: "g#5@2 ~@2 g#5 ~@2 g#5 ~ g#5@2 ~@3 g#5@2 g#5 g#5@2 ~@5",
  BZ: "g#5 ~ g#5 ~@2 g#5@2 ~@2 g#5 ~@2 g#5 ~ g#5@2 ~@3 g#5@2 g#5 g#5@2",
  CA: "[~@5 c6@23 a#5@2 ~ g5@23 ~ f5@2 ~ a5@13 ~, ~@30 a5@2 ~@25 g5@2 ~@13]/3",
  CB: "[e5@13 f5@23 f5@2 g5@2 g#5@27 [g#5,a#5]@26 c6@47 ~@4]/6", CC: "~@4 e5 ~ e5 ~@4 e5",
  CD: "~ e5@2 ~@8 e5@2 ~@2 e5@2 ~@7", CE: "~ g5@2 ~ g5@2 ~ f#5@2 ~@2 f#5@2 ~ a5@2 ~ a5@2 ~@5",
  CF: "~@3 a5@2 ~@2 a5@2 ~@8 e5@2 ~ e5@2 ~@2", CG: "[~@6 g5@2 ~ g5@2 ~@2 f#5@2 ~ f#5@2 ~ e5@13 ~ [d5,e5]@13 ~@2]/2",
  CH: "~@19 e5@5", CI: "[~ e5@10 ~ b5@3 c#6@13 a5@13 ~ b5@26 e5@33 ~ e5@7 e5@10 b5]/5",
  CJ: "[~@2 a5@27 g5@13 f#5@33 ~@21]/4", CK: "~@8 d#5 ~ d#5 ~ d#5 ~ d#5 ~ d#5 ~ d#5 ~ [d#5,f5]@2 ~@2",
  CL: "[d#5,f5]@2 ~ [d#5,f5]@2 ~@2 c5@12 d5@5", // D#sus2
  CM: "[~ d#5@5 f5@12 d5@23 d#5@6 d5@6 a#4@11 f4@12 a4@12 c5@11 f4@12 a#4@6 a4@5 g4@22]/6",
  CN: "[~@15 g4@12 g4@12 ~ d5@12 d5@12 ~ a#4@12 a4@12 ~ f4@12 g4@75 ~@15]/8", CO: "~ d5@4 d5@3", CP: "~ f5@3 f5@2",
  CQ: "~@5 c5@12 c5@7", CR: "[~@6 d#5@12 d#5@62 d#5@12 ~ d#5@12 f#5@12 f#5@12 ~ b4@12 c#5@12 ~ d#5@12 e5@25]/8",
  CS: "c#5@19 e5@3 ~@2", CT: "[~ f#5@74 d5@12 ~ a5@8]/4", CU: "~@4 a5@12 ~ f5@7",
  CV: "[~@5 e5@12 ~ c5@12 d5@25 ~@12 a4@12 ~ a4@12 c5@12 ~ c5@12 g4@12 g4@12 ~ a#4@12 a#4@25 ~@13]/8", CW: "a#4!2",
  CX: "c#5@12 ~ c#5@11", CY: "~ f#5@12 ~ g#5@10",
  CZ: "[~@2 a#5@12 ~ b5@24 g#5@19 b5@3 ~@3 c#6@25 g#5@19 b5@3 ~@3 c#6@25 g#5@25 e5@9 b5@10 b5@9]/8",
  DA: "[~ g5@9 a5@19 ~ e5@14 g5@2 ~@2]/2",
  DB: "[~ a5@19 a5@19 ~ e5@19 e5@19 e5@2 ~@2 e5@2 ~@8 e5@2 ~ e5@2 ~@8 e5@2 ~ e5@2 ~@8 g5@2]/5",
  DC: "~@2 g5@2 ~ f#5@2 ~@2 f#5@2 ~ a5@2 ~ a5@2 ~@7", DD: "~ a5@2 ~@2 a5@2 ~@8 e5@2 ~ e5@2 ~@4",
  DE: "~@4 g5@2 ~ g5@2 ~@2 f#5@2 ~ f#5@2 ~ a5@2 ~@2 a5@2 ~",
  DF: "[~@7 a5@2 ~ a5@2 ~@8 g5@13 ~ a5@13 e5@2 ~ e5@2 ~@8 e5@2 ~@2 e5@2 ~@6]/3",
  DG: "~@2 e5@2 ~ e5@2 ~@8 g5@2 ~ g5@2 ~@2 f#5@2", DH: "~ f#5@2 ~ a5@2 ~@2 a5@2 ~@8 a5@2 ~ a5@2 ~",
  DI: "~@7 f#5@2 ~@2 e5@2 ~@8 e5@2 ~", DJ: "[f#5 ~@4 [e5,b5]@27 ~@4]/3",
})).s("gm_trumpet").gain(0.72)

// other · trumpet · "B♭ Trumpet"
const trumpet_2 = note(`<
  A@2 B@2 C@2 D E F G H I J@2 K L M N O ~@2 P ~@5 Q R S T U V W X W Y Z AA@2 AB@2 AC@2 AD@2 ~@13 AE AF AG AH@3 AI@4 AJ@2
  ~@8 AK@5 ~@4 AL@2 AM@2 AN AO AP@2 AQ AR AS AT@2 AU AV@4 AW@2 ~@3 AX AY AZ@2 ~ BA@2 ~ BB@5 ~@2 BC@3 BD@2 BE@2 BF BG BH
  BI ~@5 BJ@5 BK BL ~ BM@6 ~@12 BN ~@3 BO BP BQ BR BS BT@2 BU BV BW@2 BX@2 BY@3 BZ@2 CA CB@3 CC CD CE CF@3 CG@6 ~@2 CH
  CI CJ CK CL@2 ~@5 CM CN@5 CO@4 ~@18 CP CQ CR@6 ~@22 CS@5 CT CU CV@3 CW CX@8 CY CZ DA DB@8 DC@2 DD@5 DE DF DG DH@3 DI
  DJ DK DL@3
>`.pickRestart({
  A: "[~@18 a4@12 a4@2 ~@2 a#4@2 ~@2 a#4@2 ~@2 a4 ~@5]/2", B: "[~@9 a4@6 a4 ~ a#4 ~ g4 ~ a4@3]/2",
  C: "[~@9 c5@2 c5@2 c5@8 f4!3]/2", D: "a4!3 c5!6 f#4@3", E: "d4@2 f#4 d4 f#4@2 d4@2", F: "f#4 d4 f4@2 c4@2 a3 c4",
  G: "f4@2 f5 f#5", H: "d5@2 f#5 d5 f#5@2 d5@2", I: "f#5 d5 f5@2 c5@2 a4 c5", J: "[f5@3 e5@3 a4 ~]/2",
  K: "a4@2 ~@2 a#4@2 ~@2 a#4@2 ~@2 a4@3 ~@9", L: "~@6 a#4 a4 f#4 d4 f#4 a4",
  M: "a#4 a4 f#4 d5 a#4 a4 a#4 a4 f#4 d4 f#4 a4", N: "a#4@2 a4@2 f#4@2 d5@2 a#4@2 c5@2 d5@3 ~@3 d5 ~ d5 ~ d5 ~",
  O: "d5 ~@3", P: "~@4 d5 ~@3", Q: "~@4 c5 a#4 c5 a#4", R: "a4@3 a4 ~ a4 d5 e5", S: "d5@3 a4 e5@3 f5", T: "a4",
  U: "~ d5@2 d5 c5 ~ c5 ~", V: "a4@6 a4 ~ a4 ~ a4 ~ a4@6 ~@6", W: "f4 ~ d4@4 ~@2", X: "e4 ~ d4@4 ~@2", Y: "a#4",
  Z: "c#5", AA: "[d5@13 f5 e5 c5]/2", AB: "[d5@13 a4 d5 a4]/2", AC: "[c5@13 a4 d5 a4]/2", AD: "d5/2", AE: "~@22 a4 d5",
  AF: "f#5 ~ g5@2 ~ f#5@2 ~ e5 ~ e5 ~ d5@10 ~@2", AG: "~ a4 d5 f#5 g5@2 ~@2 f#5@2 ~ g4@13",
  AH: "[~@4 a4 d5 f#5 g5@2 ~ f#5@2 ~@2 g4 a4 ~ a#4@10 e5@10 c#5@2 ~@2 c#5@10 c#5@2 ~ c#5@3 ~@10 e5@3 ~@2]/3",
  AI: "[~@9 f#4@11 ~ d5@2 b4@4 ~@3 a4@4 ~@4 d4@29 f#4@11 ~ d5@2 b4@4 ~@3 a4@4 ~@4, ~@10 a4 ~@28 a4 ~@8]/4",
  AJ: "[g4@7 a4@7 ~@10]/2",
  AK: "[~@3 a#4@2 c5@2 ~ e5@2 f5@2 a4@27 ~@6 a4@7 a4@10 d5@3 b4@20 b4@3 ~ a4@3 f5@13 [e5,f5]@13 ~@2, ~@2 a4@2 ~@3 d5@2 ~@111]/5", // Fmaj7
  AL: "[~ d5@3 e5@3 f5@6 d5@6 a#4@11 a4@12 b4@3 c5@3]/2", AM: "[d5@41 ~@5 d5@2]/2", AN: "~ e5@3 f5@6 d5@6 ~@5 f5@3",
  AO: "g5 a5@2 f5@2 ~@2 e5", AP: "[f5@2 g5@6 c5@6 d5@23 ~@11]/2", AQ: "~ d5@4 e5@4 f5@3 e5@12", AR: "g5 ~",
  AS: "~@11 d5@3 c#5 ~@2 c#5 ~@2 c#5 ~ d5@2", AT: "[~ c#5 ~@2 c#5 ~@2 c#5 ~@2 a4@23 ~@15]/2",
  AU: "~@8 d5@2 d5@2 d5@2 d5@3 ~@3 d5@2 d5@2",
  AV: "[d5@2 d5@3 ~@3 d5@11 a4@4 d5@4 a4@4 d5@11 a#4@12 a4@12 d5@11 c5@12 c5@2 ~@2 c5@2 ~]/4",
  AW: "[~ c5@2 ~ c#5@12 e5@12 ~@20]/2", AX: "~@15 d5 ~ d5 ~ d5 ~ c5 ~@2",
  AY: "c5 ~ c5 ~ a#4 ~ a#4 ~@2 a#4 ~ a4 ~ a4 ~ a4 ~ g4 ~@2 g4 ~ g4 ~",
  AZ: "[f4 ~ f4 ~@2 f4 ~ e4 ~ e4 ~ e4 ~@2 d4 ~ d4 ~ d4 ~ a4@27 ~]/2", BA: "[~@8 d5@2 ~ f5@2 e5@2 d5@13 ~@20]/2",
  BB: "[~@23 a4@4 ~ c5@4 d5@4 ~ f5@20 g5@7 a4@23 g4@2 ~ a#4@27 ~@3, ~@89 a4@2 ~@29]/5",
  BC: "[~@3 a#4@23 a4@2 ~ f4@13 ~ d4@13 a5@10 f5@2 a5@2 g5@2, ~@14 g4 ~@21]/3",
  BD: "[~@2 g5@2 ~@3 g5@2 ~@10 f4@2 a4@2 ~ d5@17 ~@7, ~@18 d4@2 ~@3 c5@2 ~@23]/2",
  BE: "[~@23 g4@2 b4@2 ~ f5@2 g5@13 ~@5, ~@27 d5@2 ~@19]/2", BF: "~@15 d4@2 f4@2 ~ c5@2 d5 ~, ~@19 a4@2 ~@3",
  BG: "~@3 d5 ~@4 d5 ~@2 d5 ~@4 f5 ~@4 f5 ~@2", BH: "~@2 f5 ~@2 f5 ~@4 d5 ~@4 d5 ~@4 d5 ~@2 d5",
  BI: "~@4 a4 ~@4 a4 ~@4 a#4 ~@2 a4 ~@6",
  BJ: "[~ [a4,a#4] c5 [d5,e5] ~@4 e5 ~@4 f5 ~@2 e5 ~@4 f5@20 ~ e5@5 d5@5 c5@30 e5@20 ~ d5@5 c5@5 b4@5 d4@2]/5", // A#maj7 Dsus2
  BK: "g4@2 ~ g4@2 b4@2 c#5@2 d5@3 ~@7 c5@5, ~ b4 ~@10", BL: "d5@5 ~@3",
  BM: "[~@3 f5@5 e5@5 d5@31 e5@31 g5@30 f5@31 ~@8]/6", BN: "~@12 d5!2 ~ d5 ~@4 d5 ~ d5!2", BO: "~@20 d4 ~@3",
  BP: "~ a4 ~@5 g4 ~@2 a4 ~@2 a#4 ~@4 f4 ~ f4 ~ f4 ~", BQ: "a4 ~ a4 ~ a4 d4 ~@5 a4 ~@5 g4 ~ a4 ~@2 b4 ~",
  BR: "~@4 g4 ~ g4 ~ g4 b4 ~ b4 ~ b4 ~ d4 ~@5 a4 ~@2", BS: "~@2 f4 ~@2 a4 ~@2 d5 ~@5 f4!2 ~ f4 ~ a4 ~ a4 ~ a4",
  BT: "[~ a4@11 g4@6 a4@5 c#5@6 e5@5 f5@11 ~@3]/2", BU: "~@9 f5@11 ~@4", BV: "~@7 f5@11 ~@6",
  BW: "[~@17 d5@11 c5@11 ~@9]/2", BX: "[~@3 d5@11 c5@6 e5@5 c5@11 ~@12]/2",
  BY: "[~@11 d5@5 c5@6 g4@39 c5 ~ c5 ~@2 c5@2 ~@2 c5 ~]/3",
  BZ: "[~ c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 c5 ~ c5 ~@2 c5@2 ~@2 c5 ~@2 c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 c5]/2",
  CA: "~ c5 ~@2 c5@2 ~@2 c5 ~@2 c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~",
  CB: "[~@4 c5 ~ c5 ~@2 c5@2 ~@2 c5 ~@2 c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 c5 ~ c5 ~@2 c5@2 ~@2 c5 ~@2 c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 c5 ~ c5 ~@2 c5@2 ~@2 c5]/3",
  CC: "~@2 c5 ~ c5@2 ~@3 c5@2 c5 c5@2 ~@5 [d#5,f5] ~ [d#5,f5] ~@2", // D#sus2
  CD: "[d#5,f5]@2 ~@2 [d#5,f5] ~@2 [d#5,f5] ~ [d#5,f5]@2 ~@3 [d#5,f5]@2 [d#5,f5] [d#5,f5]@2 ~@5", // D#sus2
  CE: "[d#5,f5] ~ [d#5,f5] ~@2 [d#5,f5]@2 ~@2 [d#5,f5] ~@2 [d#5,f5] ~ [d#5,f5]@2 ~@3 [d#5,f5]@2 [d#5,f5] [d#5,f5]@2", // D#sus2
  CF: "[~@5 c5@23 a#4@2 ~ g4@23 ~ f4@2 ~ a4@13 ~, ~@30 a4@2 ~@25 g4@2 ~@13]/3",
  CG: "[e5@13 f5@23 f5@2 g5@2 d#5@27 [g#4,d#5]@26 d#5@47 ~@4]/6", CH: "~@4 e4 ~ e4 ~@4 e4",
  CI: "~ e4@2 ~@8 e4@2 ~@2 e4@2 ~@7", CJ: "~ g4@2 ~ g4@2 ~ f#4@2 ~@2 f#4@2 ~ a4@2 ~ a4@2 ~@5",
  CK: "~@3 a4@2 ~@2 a4@2 ~@8 e4@2 ~ e4@2 ~@2", CL: "[~@6 g4@2 ~ g4@2 ~@2 f#4@2 ~ f#4@2 ~ c5@13 ~ a4@13 ~@2]/2",
  CM: "~@19 e5@5", CN: "[~ e5@10 ~ b5@3 c#6@13 a5@13 ~ b5@26 e5@33 ~ e5@7 e5@10 b5]/5",
  CO: "[~@2 a5@27 g5@13 f#5@33 ~@21]/4", CP: "~@8 c5 ~ c5 ~ c5 ~ c5 ~ c5 ~ c5 ~ [c5,d5]@2 ~@2",
  CQ: "[c5,d5]@2 ~ [c5,d5]@2 ~@2 c5@12 d5@5", // Csus2
  CR: "[~ d#5@5 f5@12 d5@23 d#5@6 d5@6 a#4@11 f4@12 a4@12 c5@11 f4@12 a#4@6 a4@5 g4@22]/6",
  CS: "[~@8 d#5@12 ~ d#5@12 f#5@12 f#5@12 ~ b4@12 c#5@12 ~ d#5@12 e5@25]/5", CT: "c#5@19 e5@3 ~@2", CU: "~ c#5@23",
  CV: "[~@2 d#5@49 d5@12 ~ a5@8]/3", CW: "~@4 a5@12 ~ f5@7",
  CX: "[~@5 e5@12 ~ c5@12 d5@25 ~@12 a4@12 ~ a4@12 c5@12 ~ c5@12 g4@12 g4@12 ~ a#4@12 a#4@25 ~@13]/8", CY: "a#4!2",
  CZ: "c#5@12 ~ c#5@11", DA: "~ f#4@12 ~ g#4@10",
  DB: "[~@2 a#4@12 ~ b4@24 g#4@19 b4@3 ~@3 c#5@25 g#4@19 b4@3 ~@3 c#5@25 c#5@25 e4@9 b4@10 b4@9]/8",
  DC: "[~ g4@9 a4@19 ~ e4@14 g4@2 ~@2]/2",
  DD: "[~ e5@19 f#5@19 ~ c5@19 d5@19 e5@2 ~@2 e5@2 ~@8 e5@2 ~ e5@2 ~@8 e5@2 ~ e5@2 ~@8 g5@2]/5",
  DE: "~@2 g5@2 ~ f#5@2 ~@2 f#5@2 ~ a5@2 ~ a5@2 ~@7", DF: "~ a5@2 ~@2 a5@2 ~@8 e5@2 ~ e5@2 ~@4",
  DG: "~@4 g5@2 ~ g5@2 ~@2 f#5@2 ~ f#5@2 ~ a5@2 ~@2 a5@2 ~",
  DH: "[~@7 a5@2 ~ a5@2 ~@8 c5@13 ~ d5@13 e5@2 ~ e5@2 ~@8 e5@2 ~@2 e5@2 ~@6]/3",
  DI: "~@2 e5@2 ~ e5@2 ~@8 g5@2 ~ g5@2 ~@2 f#5@2", DJ: "~ f#5@2 ~ a5@2 ~@2 a5@2 ~@8 a5@2 ~ a5@2 ~",
  DK: "~@7 d5@2 ~@2 c5@2 ~@8 c5@2 ~", DL: "[d5 ~@4 e5@27 ~@4]/3",
})).s("gm_trumpet").gain(0.72)

// other · trumpet · "B♭ Trumpet"
const trumpet_3 = note(`<
  A@2 B@2 C@2 D E F G H I J@2 K L M N O ~@2 P ~@5 Q R S T U V W@3 T X Y@2 Z@2 AA@2 AB@2 ~@18 AC ~@2 AD ~ AE@2 ~@8 AF AG
  AH AI@2 ~@4 AJ@2 AK@2 AL AM AN@2 AO AP@2 AQ@2 AR AS@4 AT@2 ~@3 AU AV AW@2 ~ AX@2 ~ AY@5 ~@2 AZ@3 BA@2 BB@2 BC BD BE BF
  ~@5 BG ~@3 BH BI BJ ~ BK@6 ~@12 BL ~@3 BM BN BO BP BQ BR@2 BS BT BU@2 BV@2 BW@3 BX@2 BY BZ@3 CA CB CC CD@3 CE@6 ~@2 CF
  CG CH CI CJ@2 CK@3 CL@2 CM CN@2 CO@7 ~@18 CP CQ ~@28 CR@5 CS CT@4 CU CV@8 CW CX CY CZ@8 DA@2 DB@5 DC DD DE DF@3 DG@3
  DH@3
>`.pickRestart({
  A: "[~@18 f#4@12 f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~@2 f#4 ~@5]/2", B: "[~@9 f#4@6 f#4 ~ g4 ~ e4 ~ f#4@3]/2",
  C: "[~@9 a4@2 b4@2 c5@8 f4!3]/2", D: "a4!9 a4@3", E: "a4@2 a4!2 a4@2 a4@2", F: "a4!2 f4@2 f4@2 f4!2", G: "f4@2 d5!2",
  H: "a4@2 d5 a4 d5@2 a4@2", I: "d5 a4 d5@2 d5@2 d5!2", J: "[c5@3 c#5@3 f#4 ~]/2",
  K: "f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~@2 f#4@3 ~@9", L: "~@6 a#4 a4 f#4 d4 f#4 a4",
  M: "a#4 a4 f#4 d5 a#4 a4 a#4 a4 f#4 d4 f#4 a4", N: "a#4@2 a4@2 f#4@2 d5@2 a#4@2 c5@2 d5@3 ~@3 a4 ~ a4 ~ a4 ~",
  O: "a4 ~@3", P: "~@4 a4 ~@3", Q: "~@4 f4!2 e4 c4", R: "d4@3 d4 ~ a4 d5 e5", S: "a4@3 f4 a4@3 c5", T: "f4",
  U: "~ a4@2 a4 g4 ~ g4 ~", V: "d4@6 f4 ~ e4 ~ c4 ~ d4@6 ~@6", W: "d4 ~ a3@4 ~@2", X: "a4", Y: "[a4@13 d5 c5 g4]/2",
  Z: "[a4@13 f4 a4 f4]/2", AA: "[[g4,a4]@13 f4 a4 f4]/2", AB: "[f4,a4]/2", AC: "~@19 c#5@3 ~@2",
  AD: "~@4 g4@2 b4@2 d5@2 ~ a5@2 ~@2 a5@2 ~@7, ~@5 f#5 ~@6", AE: "[d4@7 e4@7 ~@10]/2", AF: "~@12 d5@3 f5@3 f5@3 ~ d5@2",
  AG: "~ d5@3 ~ f5@3 f5@3 d5@3 ~ d5@3 f5@3 f5@3", AH: "~ d5@3 d5@3 f5@3 ~ f5@3 d5@3 d5@3 ~ f5@3",
  AI: "[f5@3 d5@3 ~ d5@3 f5@3 f5@3 ~ d5@3 d5@13 [c5,d5]@13 ~@2]/2", // Csus2
  AJ: "[~ d4@3 e4@3 f4@6 d4@6 a#4@11 a4@12 g4@3 a4@3]/2", AK: "[b4@41 ~@5 d4@2]/2", AL: "~ e4@3 f4@6 d4@6 ~@5 f4@3",
  AM: "g4 a4@2 f4@2 ~@2 e4", AN: "[f4@2 g4@6 e4@6 f4@23 ~@11]/2", AO: "~ d4@4 e4@4 f4@3 e4@12",
  AP: "[g4@12 f4@3 e4 ~ e4 ~@2 e4 ~@2 f4@3 e4 ~@2 e4 ~@2 e4 ~@2 f4@3 e4 ~@2 e4 ~@2 e4 ~ f4@2]/2",
  AQ: "[~ e4 ~@2 e4 ~@2 e4 ~@2 d4@23 ~@15]/2", AR: "~@8 a#4@2 a#4@2 a#4@2 a#4@3 ~@3 a#4@2 a#4@2",
  AS: "[a#4@2 a#4@3 ~@3 f4@11 a3@4 d4@4 a4@4 a#4@11 f4@12 a4@12 f4@11 e4@12 e4@2 ~@2 e4@2 ~]/4",
  AT: "[~ e4@2 ~ a4@12 c#5@12 ~@20]/2", AU: "~@15 f4 ~ f4 ~ f4 ~ f4 ~@2",
  AV: "f4 ~ f4 ~ f4 ~ f4 ~@2 f4 ~ f4 ~ f4 ~ f4 ~ g4 ~@2 g4 ~ g4 ~",
  AW: "[f4 ~ f4 ~@2 f4 ~ e4 ~ e4 ~ e4 ~@2 d4 ~ d4 ~ d4 ~ f4@27 ~]/2", AX: "[~@8 d4@2 ~ f4@2 e4@2 d4@13 ~@20]/2",
  AY: "[~@23 a3@4 ~ c4@4 d4@4 ~ f4@20 g4@7 d4@26 a#3@27 ~@3]/5",
  AZ: "[~@3 f4@23 f4@2 ~ d4@13 ~ a3@13 f5@10 d5@2 f5@2 d5@2, ~@14 e4 ~@21]/3",
  BA: "[~@2 d5@2 ~@3 d5@2 ~@10 f4@2 a4@2 ~ d5@17 ~@7, ~@18 d4@2 ~@3 c5@2 ~@23]/2",
  BB: "[~@23 g3@2 b3@2 ~ f4@2 g4@13 ~@5, ~@27 d4@2 ~@19]/2", BC: "~@15 d4@2 f4@2 ~ c5@2 d5 ~, ~@19 a4@2 ~@3",
  BD: "~@3 d4 ~@4 d4 ~@2 d4 ~@4 f4 ~@4 f4 ~@2", BE: "~@2 f4 ~@2 f4 ~@4 d4 ~@4 d4 ~@4 d4 ~@2 d4",
  BF: "~@4 c#4 ~@4 c#4 ~@4 d4 ~@2 c#4 ~@6", BG: "~ [g4,g#4] a#4 [c5,c#5] ~@4 c#5 ~@4 d5 ~@2 c#5 ~@7", BH: "~@11 b3",
  BI: "d4@2 ~ d4@2 g4@2 a4@2 b4@3 ~@7 a4@5, ~ g4 ~@10", BJ: "a#4@5 ~@3",
  BK: "[~@3 a4@5 g4@5 a4@31 c5@31 e5@30 d5@31 ~@8]/6", BL: "~@12 a4!2 ~ a4 ~@4 g4 ~ g4!2", BM: "~@20 d4 ~@3",
  BN: "~ a4 ~@5 g4 ~@2 a4 ~@2 a#4 ~@4 f4 ~ f4 ~ f4 ~", BO: "a4 ~ a4 ~ a4 d4 ~@5 a4 ~@5 g4 ~ a4 ~@2 b4 ~",
  BP: "~@4 g4 ~ g4 ~ g4 b4 ~ b4 ~ b4 ~ d4 ~@5 a4 ~@2", BQ: "~@2 f4 ~@2 a4 ~@2 d5 ~@5 f4!2 ~ f4 ~ a4 ~ a4 ~ a4",
  BR: "[~ e4@11 d4@6 e4@5 a4@6 c#5@5 d5@11 ~@3]/2", BS: "~@9 d5@11 ~@4", BT: "~@7 d5@11 ~@6",
  BU: "[~@17 a4@11 g4@11 ~@9]/2", BV: "[~@3 a4@11 g4@6 c5@5 a4@11 ~@12]/2",
  BW: "[~@11 a4@5 g4@6 g4@39 g4 ~ g4 ~@2 g4@2 ~@2 g4 ~]/3",
  BX: "[~ g4 ~ g4@2 ~@3 g4@2 g4 g4@2 ~@5 g4 ~ g4 ~@2 g4@2 ~@2 g4 ~@2 g4 ~ g4@2 ~@3 g4@2 g4 g4@2 ~@5 g#4]/2",
  BY: "~ g#4 ~@2 g#4@2 ~@2 g#4 ~@2 g#4 ~ g#4@2 ~@3 g#4@2 g#4 g#4@2 ~",
  BZ: "[~@4 g#4 ~ g#4 ~@2 g#4@2 ~@2 g#4 ~@2 g#4 ~ g#4@2 ~@3 g#4@2 g#4 g#4@2 ~@5 g4 ~ g4 ~@2 g4@2 ~@2 g4 ~@2 g4 ~ g4@2 ~@3 g4@2 g4 g4@2 ~@5 g4 ~ g4 ~@2 g4@2 ~@2 g4]/3",
  CA: "~@2 g4 ~ g4@2 ~@3 g4@2 g4 g4@2 ~@5 [g#4,c5] ~ [g#4,c5] ~@2", // G#
  CB: "[g#4,c5]@2 ~@2 [g#4,c5] ~@2 [g#4,c5] ~ [g#4,c5]@2 ~@3 [g#4,c5]@2 [g#4,c5] [g#4,c5]@2 ~@5", // G#
  CC: "[g#4,c5] ~ [g#4,c5] ~@2 [g#4,c5]@2 ~@2 [g#4,c5] ~@2 [g#4,c5] ~ [g#4,c5]@2 ~@3 [g#4,c5]@2 [g#4,c5] [g#4,c5]@2", // G#
// … 532 more lines