Strudelify

Tutti Di No No

C'est Tout

KeyB♭ majorTempo128 bpm
0:00/0:00
// Tutti Di No No — C'est Tout
// 128 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 107 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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 · tuba
const tuba = note(`<
  ~@8 A B C D E F G H ~@19 I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH ~@7 AI AJ AK AL AM AN AO AP AQ AB
  AR AS J@2 L AT ~@10 AU J K L AV AW AX AY AZ BA BB BC ~
>`.pickRestart({
  A: "~ [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@4", // F5
  B: "~ [f3,c4,f4] ~@5 [f3,c4,f4] ~@4 f3 [c4,f4] ~@4 [f3,c4,f4] ~@5", // F5
  C: "[f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5", // F5
  D: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [c4,f4,c5] ~@4 [c4,f4,c5] ~@5 [f3,c4,f4]", // Bb5 F5
  E: "~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4]", // F5
  F: "~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~", // F5
  G: "~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [bb3,f4,bb4] ~", // F5 Bb5
  H: "~@3 [bb3,bb4] f4 ~@4 [c4,f4,c5] ~@5 [c4,f4,c5] ~@8", I: "~@11 [f3,c4,f4] ~@4 [f3,c4] f4 ~@4 [f3,f4] c4",
  J: "~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~", // F5
  K: "~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@2", // F5
  L: "~@3 [f3,c4,f4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [c4,f4,c5] ~@2", // F5 Bb5 F5
  M: "~@3 [c4,f4,c5] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,bb4] f4 ~@2", // F5 Bb5 Bb
  N: "~@2 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@3", // Bb5
  O: "~@2 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4", // Bb5
  P: "~ [bb3,f4,bb4] ~@5 [eb4,bb4,eb5] ~@5 [eb4,bb4,eb5] ~@5 [f4,bb4,f5] ~@4", // Bb5 Eb5 Bb5
  Q: "[f4,bb4,f5] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5", // Bb5
  R: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@4 [bb3,bb4] f4 ~@4 [bb3,f4,bb4]", // Bb5 Bb Bb5
  S: "~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4]", // Bb5
  T: "~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~", // Bb5 F5
  U: "~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~", // Bb5
  V: "~@4 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@2", // Bb5
  W: "~@3 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@2", // C5
  X: "~@2 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@3", // C5
  Y: "~@2 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@4 [c4,f4,c5] ~@4", // F5
  Z: "~ [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@4", // F5
  AA: "~ [bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5", // Bb5
  AB: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5", // Bb5
  AC: "[bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4]", // Bb5
  AD: "~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [c4,g4,c5] ~", // Bb5 C5
  AE: "~@4 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~", // C5
  AF: "~@4 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@4 [c4,f4,c5] ~@2", // C5 F5
  AG: "~@3 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@2", // F5
  AH: "~@3 [c4,f4,c5] ~@5 [c4,f4,c5] ~@4 [f4,c5] c4 ~@8", AI: "~@18 [bb3,f4,bb4] ~@5",
  AJ: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [bb3,g4,bb4] ~@5 [bb3,g4,bb4]", // Bb5 Eb
  AK: "~@5 [bb3,g4,bb4] ~@5 [bb3,g4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~", // Eb Bb5
  AL: "~@4 [a3,eb4,a4] ~@5 [a3,eb4,a4] ~@5 [bb3,f4,ab4] ~@4 [bb3,ab4] f4 ~", // Adim Bb7
  AM: "~@3 [bb3,f4,ab4] ~@5 [bb3,f4,ab4] ~@5 [bb3,eb4,bb4] ~@5 [bb3,eb4,bb4] ~@2", // Bb7 Eb5
  AN: "~@3 [bb3,eb4,bb4] ~@5 [bb3,eb4,bb4] ~@4 [f4,bb4] bb3 ~@4 [bb3,f4,bb4] ~@3", // Eb5 Bb5
  AO: "~@2 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@3", // Bb5
  AP: "~ [a3,eb4,a4] ~@5 [a3,eb4,a4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4", // Adim Bb5
  AQ: "~ [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [f4,bb4] bb3 ~@4 [bb3,f4,bb4] ~@5", // Bb5
  AR: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [eb4,bb4,eb5] ~@4 [eb4,bb4,eb5] ~@5 [f4,bb4,f5]", // Bb5 Eb5 Bb5
  AS: "~@5 [f4,bb4,f5] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4]", AT: "~@3 [c4,f4,c5] ~@20",
  AU: "~@11 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4]", // F5
  AV: "~@3 [c4,f4,c5] ~@4 [d4,g4] g3 ~@4 [g3,d4,g4] ~@5 [g3,d4,g4] ~@3", // F5 G5
  AW: "~@2 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@3", // G5
  AX: "~ [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@4", // G5
  AY: "~ [g3,d4,g4] ~@5 [c4,g4,c5] ~@4 [c4,c5] g4 ~@4 [d4,g4,d5] ~@5", // G5 C5 C G5
  AZ: "[d4,g4,d5] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5", // G5
  BA: "[g3,d4,g4] ~@5 [g3,d4,g4] ~@4 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4]", // G5
  BB: "~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@4 [d4,g4] g3", // G5
  BC: "~@4 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [d4,g4,d5] ~@5 [d4,g4,d5] ~", // C5 G5
})).s("gm_tuba").gain(0.32).pan(0.2)

// bass · tuba
const bass = note(`<
  ~@7 A B C D E F G H I J@3 K L M N O P Q R@2 S T U ~@4 V W@2 X Y@3 Z AA AB AC AD AE AF AG AH@2 AI AJ AK AL AM AN AO AP
  AQ ~@7 AR AS AT AU AV AW@2 AX AY AZ BA BB BC W BD BE@3 BF BG BH BI BJ BK BL BM BN BC BO X BP@3 BQ BR BS BT BU BV
>`.pickRestart({
  A: "~@11 f1", B: "~@2 c2 ~@2 f1 ~@2 c2 ~@2 f1", C: "~@4 c2@2 ~@4 f1@2 ~@4 c2@2 ~@3 f1@2 ~",
  D: "~@3 c2@2 ~@4 f1@2 ~@4 c2@2 ~@4 bb1@2 ~", E: "~@3 bb1@2 ~@4 c2@2 ~@4 c2@2 ~@4 f1@2 ~",
  F: "~ c2 ~@2 f1 ~@2 c2 ~@2 f1 ~", G: "~@2 c2@2 ~@4 f1@2 ~@4 c2@2 ~@3 f1@2 ~@3",
  H: "~ c2@2 ~@4 f1@2 ~@4 c2@2 ~@4 bb1@2 ~@3", I: "~ bb1@2 ~@4 c2@2 ~@3 bb1@2 ~@4 ab2@2 ~@4",
  J: "[eb2@2 ~@4 ab2@2 ~@4 eb2@2 ~@3 ab2@2 ~@4 b2@2 ~@4 bb2@2 ~@4 eb2@2 ~@4 eb2@2 ~@4 bb1@2 ~@4 eb2@2 ~@3 bb1@2 ~@4 eb2@2 ~@4 bb1@2]/3",
  K: "~@4 ab2@2 ~@3 eb2@2 ~@4 ab2@2 ~@4 eb2@2 ~", L: "~@3 ab2@2 ~@4 eb2@2 ~@4 ab2@2 ~@3 b2@2 ~@2",
  M: "~ bb2 ~@2 eb2 ~@2 f2 ~@2 c2 ~", N: "~@2 f2@2 ~@3 c2@2 ~@4 f2@2 ~@4 c2@2 ~@3",
  O: "~ bb1@2 ~@10 eb2@2 ~@4 bb1@2 ~@3", P: "~ eb2@2 ~@3 bb1@2 ~@4 bb1@2 ~@4 d2@2 ~@4",
  Q: "f2 ~@2 bb2 ~@2 bb1 ~@2 d2 ~@2",
  R: "[f2@2 ~@3 bb2@2 ~@4 eb2@2 ~@4 bb1@2 ~@4 eb2@2 ~@4 bb1@2 ~@4 eb2@2 ~@4 bb1@2 ~@3 eb2@2]/2",
  S: "~@2 bb1 ~@2 bb1 ~@2 d2 ~@2 f2", T: "~@4 bb2@2 ~@4 bb1@2 ~@4 bb1@2 ~@3 c2@2 ~",
  U: "~@3 d2@2 ~@4 eb2@2 ~@4 bb1@2 ~@4 eb2@2 ~", V: "~@4 f1 ~@2 c2 ~@2 f1 ~",
  W: "~ c2@2 ~@4 f1@2 ~@4 c2@2 ~@4 f1@2 ~@3", X: "c2 ~@2 bb1 ~@2 bb1 ~@2 c2 ~@2",
  Y: "[c2@2 ~@4 bb1@2 ~@4 f2@2 ~@4 bb1@2 ~@3 f2@2 ~@4 bb1@2 ~@4 f2@2 ~@4 bb1@2 ~@4 f2@2 ~@4 bb1@2 ~@4 f2@2 ~@4 bb1@2 ~@3 f2@2]/3",
  Z: "~@2 eb2 ~@2 eb2 ~@2 f2 ~@2 f2", AA: "~@3 bb2@2 ~@4 f2@2 ~@4 bb2@2 ~@4 f2@2 ~",
  AB: "~@3 bb2@2 ~@4 f2@2 ~@4 bb2@2 ~@3 bb2@2 ~@2", AC: "~ bb2 ~@2 f2 ~@2 bb2 ~@2 f2 ~",
  AD: "~@2 bb2@2 ~@4 f2@2 ~@3 c3@2 ~@4 f2@2 ~@3", AE: "~ bb1@2 ~@4 bb1@2 ~@7 f2@2 ~@4 f2@2",
  AF: "~ bb1@2 ~@4 bb1@2 ~@6 bb1@2 ~@4 b1@2 ~", AG: "c2@2 ~@4 c2@2 ~@7 g2@2 ~@4 g2@2 ~",
  AH: "[c2@2 ~@3 c2@2 ~@7 g2@2 ~@4 g2@2 ~ f2@2 ~@4 f2@2 ~@7 c2@2 ~@3 c2@2 ~ f2@2]/2",
  AI: "~@4 f2@2 ~@7 f2@2 ~@4 f2@2 ~ bb1@2", AJ: "~@4 bb1@2 ~@7 f2@2 ~@3 f2@2 ~ bb1@2 ~",
  AK: "~@3 bb1@2 ~@7 f2@2 ~@4 f2@2 ~ bb1@2 ~", AL: "~@3 bb1@2 ~@7 f2@2 ~@3 f2@2 ~ bb1@2 ~@2",
  AM: "~@2 bb1@2 ~@7 f2@2 ~@4 bb1@2 ~ c2@2 ~@2", AN: "~ c2@2 ~@7 g2@2 ~@4 g2@2 ~ c2@2 ~@3",
  AO: "~ c2@2 ~@7 g2@2 ~@4 g2@2 ~ f2@2 ~@3", AP: "f2@2 ~@7 f2@2 ~@4 c2@2 ~ f2@2 ~@4", AQ: "f2@2 ~@7 f2@2 ~@4 f2@2 ~@7",
  AR: "~@15 bb1@2 ~@4 f1@2 ~", AS: "~@3 bb1@2 ~@3 f1@2 ~@4 g1@2 ~@4 d1@2 ~@2", AT: "~ g1 ~@2 d1 ~@2 bb1 ~@2 f1 ~",
  AU: "~ c2@2 ~@4 f1@2 ~@4 bb1@2 ~@4 ab1@2 ~@3", AV: "~ g1@2 ~@3 f1@2 ~@4 eb1@2 ~@4 eb1@2 ~@4",
  AW: "[eb1@2 ~@4 eb1@2 ~@4 bb1@2 ~@3 f1@2 ~@4 bb1@2 ~@4 f1@2 ~@4 bb1@2 ~@4 f1@2 ~@3 c2@2]/2",
  AX: "~@2 f1 ~@2 bb1 ~@2 f2 ~@2 bb1", AY: "~@4 f2@2 ~@4 bb1@2 ~@3 f2@2 ~@4 bb1@2 ~",
  AZ: "~@3 f2@2 ~@4 bb1@2 ~@4 f2@2 ~@4 bb1@2 ~", BA: "~@3 f2@2 ~@4 eb2@2 ~@3 eb2@2 ~@4 f2@2 ~@2",
  BB: "~ f2 ~@2 f1 ~@2 c2 ~@2 f1 ~", BC: "~@2 c2@2 ~@3 f1@2 ~@4 c2@2 ~@4 f1@2 ~@3",
  BD: "~ c2@2 ~@3 bb1@2 ~@4 bb1@2 ~@4 c2@2 ~@4",
  BE: "[c2@2 ~@4 f2@2 ~@15 c2@2 ~@16 f2@2 ~@4 e2@2 ~@4 d2@2 ~@4 c2@2 ~@11]/3", BF: "~@5 c2@2 ~@15 g1@2",
  BG: "~@8 c2 ~@2 d2", BH: "~@2 e2 ~@2 f2 ~@6", BI: "~@4 f2@2 ~@15 c2@2 ~", BJ: "~@15 f2@2 ~@4 f2@2 ~",
  BK: "~@3 c2@2 ~@4 bb1@2 ~@13", BL: "~@3 bb1@2 ~@15 f2@2 ~@2", BM: "~@7 c2 ~@2 d2 ~",
  BN: "~ e2 ~@2 f1 ~@2 c2 ~@2 f1 ~", BO: "~ c2@2 ~@4 f1@2 ~@4 c2@2 ~@3 f1@2 ~@4",
  BP: "[c2@2 ~@4 g1@2 ~@3 d2@2 ~@4 g1@2 ~@4 d2@2 ~@4 g1@2 ~@4 d2@2 ~@4 g1@2 ~@4 d2@2 ~@3 g1@2 ~@4 d2@2 ~@4 g1@2 ~@4 d2@2]/3",
  BQ: "~@4 c2@2 ~@4 c2@2 ~@3 d2@2 ~@4 d2@2 ~", BR: "~@3 g1@2 ~@4 d2@2 ~@4 g1@2 ~@4 d2@2 ~",
  BS: "~@3 g1@2 ~@4 d2@2 ~@3 g1@2 ~@4 d2@2 ~@2", BT: "~ g1 ~@2 d2 ~@2 g1 ~@2 d2 ~",
  BU: "~ c2@2 ~@4 c2@2 ~@4 d2@2 ~@4 d2@2 ~@3", BV: "~ g2@2 ~@4 d2@2 ~@3 g2@2 ~@10",
})).s("gm_tuba").gain(0.4)

// other · brass section · "BRASS 1"
const brass_section = note(`<
  A@8 B@3 C D E F G H I J K L@3 M N O P@4 Q R S@3 T@2 U V W X Y Z AA AB AC@2 AD@2 AE AF@2 AG AH AI@2 AJ@2 AK@2 AL@8 AM
  AN AO AP@2 AQ@2 AR AS AT AU AV@2 AW@2 AX@3 AY AZ BA BB BC BD BE BF BG@2 BH BI@2 BJ BK BL BM BN@2 BO BP
>`.pickRestart({
  A: "[[f2,f3]@3 ~@3 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@2 ~ f3@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@2 [f2,f3]@5 ~@2 [f2,f3]@5 ~@4 [ab2,ab3]@4 ~ [f2,f3]@3 ~ bb3@3 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~@2 [c3,c4]@4 ~@2 [f2,f3]@3 ~@3 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@5 ~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~ [c3,c4]@4 ~@2 [f2,f3]@2, ~@23 f2@4 ~@44 bb2@4 ~@117]/8", // F Ab F Ab F Ab F Bb …
  B: "[~@4 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@2 [ab2,ab3]@3 [f2,f3]@5 ~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@3]/3", // F Ab F Ab F Ab F Bb
  C: "~@3 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~@2 c4@4 ~@2 [f2,f3,f4]@3, ~@7 c3@2 ~@3", // Bb C F
  D: "~@2 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@3 ~@3 [ab2,ab3,ab4]@3 [f2,f3,f4]@4", // F Ab F
  E: "~@2 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@3 ~@2 [ab2,ab3,ab4]@3 [f2,f3,f4]@5", // F Ab F
  F: "~ [f2,f3,f4]@5 ~@4 [ab2,ab3,ab4]@4 ~@2 [f2,f3,f4]@3 [bb2,bb3]@3 bb4!2, ~@19 bb4 ~@4", // F Ab F Bb
  G: "bb4 ~@2 bb4 ~@2 [c3,c4]@3 c5 ~ c5 [c3,c4]@3 ab4@3 eb5 ~@5, ~ [bb2,bb3]@4 ~ c5 ~@5 c5 ~@2 c5 ~@8", // C Bb
  H: "~@3 ab4@3 eb5 ~@8 eb5@2 db5 ~@2 c5@3 bb4", I: "~@2 ab4@3 g4 ~@8 f4@3 bb4 ~@6",
  J: "~ f4@3 bb4 ~@8 eb4@3 f4 ~@2 g4@3 ab4 ~", K: "~ bb4@2 c5 ~@8 ab4@3 eb5 ~@8",
  L: "[ab4@3 eb5 ~@8 eb5@2 db5 ~@2 c5@3 bb4 ~@2 ab4@3 g4 ~@8 g4@3 c5 ~@8 g4@3 c5 ~@7 g4@3 a4 ~@2 c5@3 eb5 ~@2 a4@2]/3",
  M: "~ bb4@9 ~@3 eb5@4 ~@2 eb5@4 ~", N: "~ d5@5 c5@5 ~ c5@5 ~ bb4@5 ~", O: "f4@9 ~@3 c5@5 ~ bb4@5 ~",
  P: "[f4@9 ~@2 c5@5 ~ bb4@5 ~ g4@9 ~@3 eb5@4 ~@2 eb5@4 ~@2 d5@5 c5@5 ~ c5@5 ~ bb4@5 ~ f4@9 ~@3 f4 ~@2 g4 ~ ab4 ~@2 bb4 ~@2 c5 ~@2]/4",
  Q: "d5 ~@2 eb5 ~@2 f5 ~@2 eb5 ~@5 bb4@2 ~@4 eb5@2 ~", R: "~@9 [f2,f3]@3 ~@3 [f2,f3]@4 ~@5",
  S: "[[ab2,ab3]@3 ~@3 [ab2,ab3]@2 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@5 ~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4]/3", // Ab F Ab F Ab F Bb C
  T: "[~@2 [c3,c4]@4 ~@2 [f2,f3]@3 ~@3 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@2 [ab2,ab3]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@2]/2", // C F Ab F Ab
  U: "~@4 [ab2,ab3]@2 [f2,f3]@5 ~@2 f2@5 ~@3 [ab2,ab3]@3, ~@3 f3 ~@2", // Ab F Ab
  V: "~@3 [f2,f3]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~@2", // F Bb C
  W: "[c3,c4]@4 ~@2 [bb2,bb3,bb4]@3 ~@3 [bb2,bb3,bb4]@4 ~@5 [db3,db4,db5]@3", // C Bb Db
  X: "~@2 [db3,db4,db5]@3 [bb2,bb3,bb4]@4 ~@2 [bb2,bb3,bb4]@4 ~@5 [db3,db4,db5]@3 ~", // Db Bb Db
  Y: "~@2 [db3,db4,db5]@2 ~ [bb3,bb4]@4 ~@2 bb2@5 ~@3 [db3,db4,db5]@4 ~, ~@4 bb2@5 ~ [bb3,bb4]@4 ~@10", // Db Bb Db Bb
  Z: "~ [bb2,bb3,bb4]@3 [eb3,eb4]@3 eb5!2 ~ [eb3,eb4]@3 eb5 ~@2 [f3,f4]@3 f5!2 [f3,f4]@3, ~@4 eb5 ~@5 eb5 ~@5 f5 ~@4 f5 ~@2", // Bb Eb F
  AA: "f5 ~@5 [d4,d5]@2 ~ [d4,d5] ~@2 [d4,d5] ~@2 [d4,d5]@3 [bb3,bb4] ~@2 [bb3,bb4]@3", // D Bb
  AB: "[g3,g4] ~@2 [bb3,bb4]@3 ~@3 [bb3,bb4]@2 ~@6 f3@3 g3 ~@2 a3, ~@4 [d4,d5]@3 ~", // G Bb D
  AC: "[~@2 bb3@3 [d4,d5]@2 ~ [d4,d5] ~@2 [d4,d5] ~@2 [d4,d5]@3 [bb3,bb4] ~@2 [bb3,bb4]@3 [g3,g4]@3 [bb3,bb4] ~ [bb3,bb4]@3 [g3,g4]@3 [f3,f4]@7 ~@2 [f3,f4]@5]/2", // D Bb G Bb G F
  AD: "[~ [g3,g4]@26 ~@3 [a3,a4]@5 ~ [bb3,bb4]@5 ~ [c4,c5]@5 ~]/2", AE: "[a3,a4] ~@2 [g3,g4]@21",
  AF: "[~@17 [g3,g4]@5 ~ [a3,a4]@25]/2", AG: "~@4 [bb3,bb4]@4 ~@2 [c4,c5]@8 ~ [a3,a4] ~@2 g4@2, ~@7 g3",
  AH: "~ f4@21 ~@2, f3@7 ~", AI: "[~@15 [f3,f4]@5 ~ d5@26 ~, ~@10 d4@13 ~]/2",
  AJ: "[~@2 [d4,d5]@4 ~@2 [eb4,eb5]@9 [f4,f5] ~ [d4,d5]@3 [c4,c5]@21 ~@5]/2", AK: "[~@12 [g3,g4]@5 ~ [a3,a4]@25 ~@5]/2",
  AL: "[[a3,a4]@4 ~ [bb3,bb4]@5 ~ [c4,c5]@5 ~@2 [bb2,bb4]@3 ~@2 [bb2,bb3,bb4]@4 ~@5 [db3,db4,db5]@3 ~@3 [db3,db4,db5]@3 [bb2,bb3,bb4]@4 ~@2 [bb2,bb3,bb4]@4 ~@5 [db3,db4,db5]@3 ~@3 [db3,db4,db5]@3 [bb2,bb3,bb4]@5 ~ [bb2,bb3,bb4]@5 ~@4 [db3,db4,db5]@4 ~@2 [bb2,bb3,bb4]@2 ~ [eb3,eb4]@4 ~ [eb3,eb4,eb5]@4 ~@2 [f3,f4,f5]@4 ~@2 [f3,f4,f5]@4 ~@2 [bb2,bb3,bb4]@3 ~@3 [bb2,bb3,bb4]@4 ~@5 [db3,db4,db5]@3 ~@3 [db3,db4,db5]@3 [bb2,bb3,bb4]@4 ~@2 [bb2,bb3,bb4]@4 ~@5 [db3,db4,db5]@3 ~@3 [db3,db4,db5]@2 [bb2,bb3,bb4]@5 ~@2 bb2@5 ~@3 [db3,db4,db5]@4 ~@2 [bb2,bb3,bb4]@3 [eb3,eb4,eb5]@4 ~@2 [eb3,eb4,eb5]@3, ~@17 bb3@3 ~@68 eb5@4 ~@73 [bb3,bb4]@4 ~@23]/8", // A Bb C Bb Db Bb Db Bb …
  AM: "~@3 [f3,f4,f5]@4 ~@2 [f3,f4,f5]@4 ~@2 [bb2,bb3]@9", AN: "~@3 [d3,d4]@4 ~ [f3,f4]@4 ~@2 [g3,g4]@7 ~@2 [d3,d4]",
  AO: "~@2 [g3,g4]@10 ~@2 [bb3,bb4]@9 ~", AP: "[~ [c4,c5]@4 ~@2 [f3,f4]@4 ~@2 [bb3,bb4]@21 ~@2 [g3,g4]@11 ~]/2",
  AQ: "[[bb3,bb4]@4 ~@2 [g3,g4]@5 ~ [f3,f4]@4 ~ [g3,g4]@5 ~ [a3,a4]@5 ~ [bb3,bb4]@5 ~ [d4,d5] ~@3 [f3,f4] [e3,e4]@3 ~ f4@2 [c4,c5] ~, ~@43 f3@3 ~@2]/2", // Bb G F G A Bb D F …
  AR: "~@3 [f3,f4] [e3,e4]@3 [f3,f4]@2 ~ [bb2,bb3,bb4]@3 ~@3 [bb2,bb3,bb4]@4 ~@4", // F E F Bb
  AS: "~ [db3,db4,db5]@3 ~@3 [db3,db4,db5]@2 ~ [bb3,bb4]@4 ~ [bb2,bb3,bb4]@4 ~@5, ~@9 bb2@4 ~@11", // Db Bb
  AT: "[db3,db4,db5]@3 ~@3 [db3,db4,db5]@3 [bb2,bb3,bb4]@5 ~ [bb2,bb3,bb4]@5 ~@4", // Db Bb
  AU: "[db3,db4,db5]@4 ~@2 [bb2,bb3,bb4]@3 [eb3,eb4,eb5]@4 ~ [eb3,eb4,eb5]@4 ~@2 [f3,f4,f5]@4", // Db Bb Eb F
  AV: "[~@2 [f3,f4,f5]@4 ~@2 [f2,f3,f4]@3 ~@3 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@3 ~@2 [ab2,ab3,ab4]@3 [f2,f3,f4]@4 ~@2 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@2]/2", // F Ab F Ab
  AW: "[~@4 [ab2,ab3,ab4]@3 [f2,f3,f4]@5 ~ [f2,f3,f4]@5 ~@4 [ab2,ab3,ab4]@4 ~ [f2,f3,f4]@3 [bb2,bb3]@3 bb4 ~ bb4 [bb2,bb3]@3 bb4 ~@2 [c3,c4]@3 c5!2 ~, ~@30 bb4 ~@5 bb4 ~@5 c5 ~@5]/2", // Ab F Ab F Bb C
  AX: "[[c3,c4]@3 c5 ~@2 [c4,c5] ~ [c4,c5]@2 ~ [d4,d5] f3 ~@4 [c4,c5] ~@5 [c4,f4,f5]@3 ~@15 [f3,c4,c5]@2 ~@4 [d4,d5]@2 ~@4 [d4,d5]@2 ~@4 [e3,c4,c5]@3 ~@10, c5 ~@5 f3@2 ~@9 f3@2 ~@28 f3 ~@5 f3 ~@18]/3", // C D C F5 D C
  AY: "~@5 [e3,c4,c5]@2 [c4,c5]@2 ~ [e3,d4,d5] ~@5 [e3,c4,c5] ~@5 [c4,g4,g5]@2", AZ: "~@8 [e3,c4,c5] ~@2 [e3,d4,d5]",
  BA: "~@4 [e3,d4,d5]@2 ~@4 [f3,c4,c5]@3 ~@11", // E7 F5
  BB: "~@4 [f3,c4,c5]@2 [c4,c5]@2 ~ [d4,d5] f3@2 ~@3 [f3,c4,c5]@2 ~@4 [c4,f4,f5]@3", // F5 C D F5
  BC: "~@15 [f3,f4,f5]@2 ~@4 [g3,f4,f5]@2 ~", BD: "~@3 [a3,e4,e5]@2 ~@4 [bb3,d4,d5]@3 ~@12",
  BE: "~@3 [ab3,d4,d5]@2 [d4,d5]@2 ~ [e4,e5] ab3@2 ~@3 [ab3,d4,d5]@2 ~@4 [a3,f4,f5]@3 ~", // Abdim D E Abdim Dm
  BF: "~@7 [bb3,d4,d5] ~@2 [a3,d4,d5] ~", // Bb D5
  BG: "[~@2 [g3,c4,c5]@2 ~@4 [f2,f3,f4]@3 ~@3 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@3 ~@2 [ab2,ab3,ab4]@3 [f2,f3,f4]@4 ~@2 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@2]/2", // C5 F Ab F Ab
  BH: "~@4 [ab2,ab3,ab4]@2 [f2,f3,f4]@5 ~ [f2,f3,f4]@5 ~@4 [ab2,ab3,ab4]@3", // Ab F Ab
  BI: "[~@3 [f2,f3,f4]@3 [bb2,bb3,bb4]@4 ~@2 [bb2,bb3,bb4]@4 ~@2 [c3,c4,c5]@4 ~@2 [c3,c4]@4 ~@2 [g2,g3,g4]@3 ~@2 [g2,g3,g4]@4 ~@5 [bb2,bb3,bb4]@3 ~, ~@23 c5@4 ~@21]/2", // F Bb C G Bb
  BJ: "~@2 [bb2,bb3,bb4]@3 [g2,g3,g4]@4 ~@2 [g2,g3,g4]@4 ~@5 [bb2,bb3,bb4]@3 ~", // Bb G Bb
  BK: "~ [bb2,bb3,bb4]@3 [g2,g3,g4]@5 ~ [g2,g3,g4]@5 ~@4 [bb2,bb3,bb4]@4 ~", // Bb G Bb
  BL: "~ [g2,g3,g4]@3 [c3,c4,c5]@4 ~@2 [c3,c4,c5]@4 ~ [d3,d4,d5]@4 ~@2 [d3,d4,d5]@3", // G C D
  BM: "~@3 [g2,g3,g4]@3 ~@3 [g2,g3,g4]@4 ~@5 [bb2,bb3,bb4]@3 ~@3", // G Bb
  BN: "[[bb2,bb3,bb4]@2 ~ [g3,g4]@4 ~ [g2,g3,g4]@4 ~@5 [bb2,bb3,bb4]@3 ~@3 [bb2,bb3,bb4]@3 [g2,g3,g4]@5 ~ [g2,g3,g4]@5 ~@4 [bb2,bb3,bb4]@4 ~ [g2,g3,g4]@2, ~ g2@2 ~@21]/2", // Bb G Bb G Bb G
  BO: "~ [c3,c4,c5]@4 ~@2 [c3,c4,c5]@4 ~@2 [d3,d4,d5]@4 ~@2 [d3,d4,d5]@4 ~", // C D
  BP: "~ [g3,g4,g5]@2 ~@4 g3@2 ~@3 [g3,g4,g5]@3 ~@9, ~@2 [g4,g5] ~@5", // G
})).s("gm_brass_section").gain(0.56)

// other · trombone
const trombone = note(`<
  A@8 B@3 C D E F G H I J K L M N O P Q R@4 S T U@3 V@2 W X Y Z AA AB AC AD AE@2 AF AG AH@2 AI@2 AJ@2 AK@2 AL@2 ~ AM@8
  AN AO AP AQ AR AS@3 AT AU AV AW@2 AX@2 AY@2 AZ BA BB BC BD BE BF BG BH BI@2 BJ X BK BL BM BN BO BP@2 BQ@2
>`.pickRestart({
  A: "[[f2,f3]@3 ~@3 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@2 ~ f3@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@2 [f2,f3]@5 ~@2 [f2,f3]@5 ~@4 [ab2,ab3]@4 ~ [f2,f3]@3 ~ bb3@3 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~@2 [c3,c4]@4 ~@2 [f2,f3]@3 ~@3 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@5 ~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~ [c3,c4]@4 ~@2 [f2,f3]@2, ~@23 f2@4 ~@44 bb2@4 ~@117]/8", // F Ab F Ab F Ab F Bb …
  B: "[~@4 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@2 [ab2,ab3]@3 [f2,f3]@5 ~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@3]/3", // F Ab F Ab F Ab F Bb
  C: "~@3 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~@2 c4@4 ~@2 [f2,f3]@3, ~@7 c3@2 ~@3", // Bb C F
  D: "~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@4", // F Ab F
  E: "~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@2 [ab2,ab3]@3 [f2,f3]@5", // F Ab F
  F: "~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@4 ~", // F Ab F Bb
  G: "~ [bb2,bb3]@4 ~ [c3,c4]@4 ~@2 [c3,c4]@4 ~@5 [ab3,c4] ~@2", // Bb C Ab
  H: "[ab3,c4] ~@7 [ab3,c4] ~@2 [ab3,c4] ~@8 [ab3,c4] ~@3", // Ab
  I: "~@2 [b3,d4] ~@5 [g3,db4] ~@2 [g3,db4] ~@8 [g3,db4] ~@2 [g3,db4]", J: "~@7 [g3,db4] ~@2 [g3,db4] ~@8 [g3,db4] ~@4",
  K: "[g3,db4] ~@5 [ab3,c4] ~@2 [ab3,c4] ~@8 [ab3,c4] ~@2 [ab3,c4] ~@2", // Gdim Ab
  L: "~@6 [ab3,c4] ~@2 [ab3,c4] ~@7 [ab3,c4] ~@5 [b3,d4]", M: "~@5 [g3,db4] ~@2 [g3,db4] ~@8 [a3,f4] ~@2 [a3,f4] ~@3",
  N: "~@4 [a3,f4] ~@2 [a3,f4] ~@5 [f3,c4]@4 ~@2 [a3,c4]@4 ~", O: "~ [bb3,d4]@10 ~@2 eb4@4 ~@2 eb4@4 ~",
  P: "~ d4@5 c4@5 ~ c4@5 ~ bb3@5 ~", Q: "f3@9 ~ bb3 ~ c4@5 ~ bb3@5 ~, ~@11 b3@2 ~@11",
  R: "[f3@9 ~ bb3 c4@5 ~ bb3@5 ~ g3@9 ~@3 eb4@4 ~@2 eb4@4 ~@2 d4@5 c4@5 ~ c4@5 ~ bb3@5 ~ f3@9 ~ eb3 ~ f3 ~ g3 ~@2 ab3 ~@2 bb3 ~@2 c4 ~@2, ~@10 b3@2 ~@69 e3@2 ~@13]/4",
  S: "d4 ~@2 eb4 ~@2 f4 ~@2 eb4 ~@4 [b3,c4] bb3@2 ~@3 [db4,d4] eb4@2 ~", T: "~@9 [f2,f3]@3 ~@3 [f2,f3]@4 ~@5",
  U: "[[ab2,ab3]@3 ~@3 [ab2,ab3]@2 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@3 [ab2,ab3]@3 [f2,f3]@5 ~ [f2,f3]@5 ~@4 [ab2,ab3]@4 ~@2 [f2,f3]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4]/3", // Ab F Ab F Ab F Bb C
  V: "[~@2 [c3,c4]@4 ~@2 [f2,f3]@3 ~@3 [f2,f3]@4 ~@5 [ab2,ab3]@3 ~@2 [ab2,ab3]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@2]/2", // C F Ab F Ab
  W: "~@4 [ab2,ab3]@2 [f2,f3]@5 ~@2 f2@5 ~@3 [ab2,ab3]@3, ~@3 f3 ~@2", // Ab F Ab
  X: "~@3 [f2,f3]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@2 [c3,c4]@4 ~@2", // F Bb C
  Y: "[c3,c4]@4 ~@2 [bb2,bb3]@3 ~@3 [bb2,bb3]@4 ~@5 [db3,db4]@3", // C Bb Db
// … 208 more lines

More by C'est Tout