Strudelify
Tutti Di No No cover art

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, A@4 for four bars: edit a riff to change every repeat.

// chords · tuba
const tuba = note(`<
  ~@8 A@2 B C D E F G ~@19 H 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 ~@7 AH AI AJ AK AL AM M AN AO AA
  AP AQ I@2 K AR ~@10 AS I J K AT AU AV AW AX AY AZ BA ~
>`.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] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5", // F5
  C: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [c4,f4,c5] ~@4 [c4,f4,c5] ~@5 [f3,c4,f4]", // Bb5 F5
  D: "~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4]", // F5
  E: "~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~", // F5
  F: "~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [bb3,f4,bb4] ~", // F5 Bb5
  G: "~@3 [bb3,bb4] f4 ~@4 [c4,f4,c5] ~@5 [c4,f4,c5] ~@8", H: "~@11 [f3,c4,f4] ~@4 [f3,c4] f4 ~@4 [f3,f4] c4",
  I: "~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~", // F5
  J: "~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@4 [f3,c4,f4] ~@5 [f3,c4,f4] ~@2", // F5
  K: "~@3 [f3,c4,f4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [c4,f4,c5] ~@2", // F5 Bb5 F5
  L: "~@3 [c4,f4,c5] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,bb4] f4 ~@2", // F5 Bb5 Bb
  M: "~@2 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@3", // Bb5
  N: "~@2 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4", // Bb5
  O: "~ [bb3,f4,bb4] ~@5 [eb4,bb4,eb5] ~@5 [eb4,bb4,eb5] ~@5 [f4,bb4,f5] ~@4", // Bb5 Eb5 Bb5
  P: "[f4,bb4,f5] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5", // Bb5
  Q: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@4 [bb3,bb4] f4 ~@4 [bb3,f4,bb4]", // Bb5 Bb Bb5
  R: "~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4]", // Bb5
  S: "~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~", // Bb5 F5
  T: "~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~", // Bb5
  U: "~@4 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@2", // Bb5
  V: "~@3 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@2", // C5
  W: "~@2 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@3", // C5
  X: "~@2 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@4 [c4,f4,c5] ~@4", // F5
  Y: "~ [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@4", // F5
  Z: "~ [bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5", // Bb5
  AA: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5", // Bb5
  AB: "[bb3,f4,bb4] ~@4 [bb3,f4] bb4 ~@4 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4]", // Bb5
  AC: "~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [c4,g4,c5] ~", // Bb5 C5
  AD: "~@4 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~", // C5
  AE: "~@4 [c4,g4,c5] ~@5 [c4,g4,c5] ~@5 [c4,g4,c5] ~@4 [c4,f4,c5] ~@2", // C5 F5
  AF: "~@3 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@5 [c4,f4,c5] ~@2", // F5
  AG: "~@3 [c4,f4,c5] ~@5 [c4,f4,c5] ~@4 [f4,c5] c4 ~@8", AH: "~@18 [bb3,f4,bb4] ~@5",
  AI: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~@5 [bb3,g4,bb4] ~@5 [bb3,g4,bb4]", // Bb5 Eb
  AJ: "~@5 [bb3,g4,bb4] ~@5 [bb3,g4,bb4] ~@5 [bb3,f4,bb4] ~@4 [bb3,f4,bb4] ~", // Eb Bb5
  AK: "~@4 [a3,eb4,a4] ~@5 [a3,eb4,a4] ~@5 [bb3,f4,ab4] ~@4 [bb3,ab4] f4 ~", // Adim Bb7
  AL: "~@3 [bb3,f4,ab4] ~@5 [bb3,f4,ab4] ~@5 [bb3,eb4,bb4] ~@5 [bb3,eb4,bb4] ~@2", // Bb7 Eb5
  AM: "~@3 [bb3,eb4,bb4] ~@5 [bb3,eb4,bb4] ~@4 [f4,bb4] bb3 ~@4 [bb3,f4,bb4] ~@3", // Eb5 Bb5
  AN: "~ [a3,eb4,a4] ~@5 [a3,eb4,a4] ~@5 [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4", // Adim Bb5
  AO: "~ [bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@4 [f4,bb4] bb3 ~@4 [bb3,f4,bb4] ~@5", // Bb5
  AP: "[bb3,f4,bb4] ~@5 [bb3,f4,bb4] ~@5 [eb4,bb4,eb5] ~@4 [eb4,bb4,eb5] ~@5 [f4,bb4,f5]", // Bb5 Eb5 Bb5
  AQ: "~@5 [f4,bb4,f5] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4]", AR: "~@3 [c4,f4,c5] ~@20",
  AS: "~@11 [f3,c4,f4] ~@5 [f3,c4,f4] ~@5 [f3,c4,f4]", // F5
  AT: "~@3 [c4,f4,c5] ~@4 [d4,g4] g3 ~@4 [g3,d4,g4] ~@5 [g3,d4,g4] ~@3", // F5 G5
  AU: "~@2 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@3", // G5
  AV: "~ [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@4", // G5
  AW: "~ [g3,d4,g4] ~@5 [c4,g4,c5] ~@4 [c4,c5] g4 ~@4 [d4,g4,d5] ~@5", // G5 C5 C G5
  AX: "[d4,g4,d5] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5", // G5
  AY: "[g3,d4,g4] ~@5 [g3,d4,g4] ~@4 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4]", // G5
  AZ: "~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@5 [g3,d4,g4] ~@4 [d4,g4] g3", // G5
  BA: "~@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@2 C D E@2 F G H@3 I J K L M N O P@2 Q R S ~@4 T U@2 V W@4 X Y Z AA AB AC AD AE@2 AF AG AH AI AJ AK AL AM AN
  ~@7 AO AP AQ AR AS AT@2 AU AV AW AX AY U@2 V AZ@3 BA BB BC BD BE BF BG BH BI U@2 V BJ@3 BK BL BM BN BO BP
>`.pickRestart({
  A: "~@11 f1", B: "~@2 c2 ~@2 f1 ~@2 c2 ~@2 f1", C: "~@3 c2@2 ~@4 f1@2 ~@4 c2@2 ~@4 bb1@2 ~",
  D: "~@3 bb1@2 ~@4 c2@2 ~@4 c2@2 ~@4 f1@2 ~", E: "~ c2 ~@2 f1 ~@2 c2 ~@2 f1 ~",
  F: "~ c2@2 ~@4 f1@2 ~@4 c2@2 ~@4 bb1@2 ~@3", G: "~ bb1@2 ~@4 c2@2 ~@3 bb1@2 ~@4 ab2@2 ~@4",
  H: "[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",
  I: "~@4 ab2@2 ~@3 eb2@2 ~@4 ab2@2 ~@4 eb2@2 ~", J: "~@3 ab2@2 ~@4 eb2@2 ~@4 ab2@2 ~@3 b2@2 ~@2",
  K: "~ bb2 ~@2 eb2 ~@2 f2 ~@2 c2 ~", L: "~@2 f2@2 ~@3 c2@2 ~@4 f2@2 ~@4 c2@2 ~@3",
  M: "~ bb1@2 ~@10 eb2@2 ~@4 bb1@2 ~@3", N: "~ eb2@2 ~@3 bb1@2 ~@4 bb1@2 ~@4 d2@2 ~@4",
  O: "f2 ~@2 bb2 ~@2 bb1 ~@2 d2 ~@2",
  P: "[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",
  Q: "~@2 bb1 ~@2 bb1 ~@2 d2 ~@2 f2", R: "~@4 bb2@2 ~@4 bb1@2 ~@4 bb1@2 ~@3 c2@2 ~",
  S: "~@3 d2@2 ~@4 eb2@2 ~@4 bb1@2 ~@4 eb2@2 ~", T: "~@4 f1 ~@2 c2 ~@2 f1 ~",
  U: "~ c2@2 ~@4 f1@2 ~@4 c2@2 ~@4 f1@2 ~@3", V: "c2 ~@2 bb1 ~@2 bb1 ~@2 c2 ~@2",
  W: "[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 ~@4 f2@2 ~@3 eb2@2 ~@4 eb2@2 ~@4 f2@2 ~@4 f2@2]/4",
  X: "~@3 bb2@2 ~@4 f2@2 ~@4 bb2@2 ~@4 f2@2 ~", Y: "~@3 bb2@2 ~@4 f2@2 ~@4 bb2@2 ~@3 bb2@2 ~@2",
  Z: "~ bb2 ~@2 f2 ~@2 bb2 ~@2 f2 ~", AA: "~@2 bb2@2 ~@4 f2@2 ~@3 c3@2 ~@4 f2@2 ~@3",
  AB: "~ bb1@2 ~@4 bb1@2 ~@7 f2@2 ~@4 f2@2", AC: "~ bb1@2 ~@4 bb1@2 ~@6 bb1@2 ~@4 b1@2 ~",
  AD: "c2@2 ~@4 c2@2 ~@7 g2@2 ~@4 g2@2 ~",
  AE: "[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",
  AF: "~@4 f2@2 ~@7 f2@2 ~@4 f2@2 ~ bb1@2", AG: "~@4 bb1@2 ~@7 f2@2 ~@3 f2@2 ~ bb1@2 ~",
  AH: "~@3 bb1@2 ~@7 f2@2 ~@4 f2@2 ~ bb1@2 ~", AI: "~@3 bb1@2 ~@7 f2@2 ~@3 f2@2 ~ bb1@2 ~@2",
  AJ: "~@2 bb1@2 ~@7 f2@2 ~@4 bb1@2 ~ c2@2 ~@2", AK: "~ c2@2 ~@7 g2@2 ~@4 g2@2 ~ c2@2 ~@3",
  AL: "~ c2@2 ~@7 g2@2 ~@4 g2@2 ~ f2@2 ~@3", AM: "f2@2 ~@7 f2@2 ~@4 c2@2 ~ f2@2 ~@4", AN: "f2@2 ~@7 f2@2 ~@4 f2@2 ~@7",
  AO: "~@15 bb1@2 ~@4 f1@2 ~", AP: "~@3 bb1@2 ~@3 f1@2 ~@4 g1@2 ~@4 d1@2 ~@2", AQ: "~ g1 ~@2 d1 ~@2 bb1 ~@2 f1 ~",
  AR: "~ c2@2 ~@4 f1@2 ~@4 bb1@2 ~@4 ab1@2 ~@3", AS: "~ g1@2 ~@3 f1@2 ~@4 eb1@2 ~@4 eb1@2 ~@4",
  AT: "[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",
  AU: "~@2 f1 ~@2 bb1 ~@2 f2 ~@2 bb1", AV: "~@4 f2@2 ~@4 bb1@2 ~@3 f2@2 ~@4 bb1@2 ~",
  AW: "~@3 f2@2 ~@4 bb1@2 ~@4 f2@2 ~@4 bb1@2 ~", AX: "~@3 f2@2 ~@4 eb2@2 ~@3 eb2@2 ~@4 f2@2 ~@2",
  AY: "~ f2 ~@2 f1 ~@2 c2 ~@2 f1 ~", AZ: "[c2@2 ~@4 f2@2 ~@15 c2@2 ~@16 f2@2 ~@4 e2@2 ~@4 d2@2 ~@4 c2@2 ~@11]/3",
  BA: "~@5 c2@2 ~@15 g1@2", BB: "~@8 c2 ~@2 d2", BC: "~@2 e2 ~@2 f2 ~@6", BD: "~@4 f2@2 ~@15 c2@2 ~",
  BE: "~@15 f2@2 ~@4 f2@2 ~", BF: "~@3 c2@2 ~@4 bb1@2 ~@13", BG: "~@3 bb1@2 ~@15 f2@2 ~@2", BH: "~@7 c2 ~@2 d2 ~",
  BI: "~ e2 ~@2 f1 ~@2 c2 ~@2 f1 ~",
  BJ: "[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",
  BK: "~@4 c2@2 ~@4 c2@2 ~@3 d2@2 ~@4 d2@2 ~", BL: "~@3 g1@2 ~@4 d2@2 ~@4 g1@2 ~@4 d2@2 ~",
  BM: "~@3 g1@2 ~@4 d2@2 ~@3 g1@2 ~@4 d2@2 ~@2", BN: "~ g1 ~@2 d2 ~@2 g1 ~@2 d2 ~",
  BO: "~ c2@2 ~@4 c2@2 ~@4 d2@2 ~@4 d2@2 ~@3", BP: "~ 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@2 Y Z AA AB@2 AC@2 AD AE@2 AF AG AH@2 AI@2 AJ@2 AK@8 AL AM
  AN AO@2 AP@2 AQ AR AS AT AU@2 AV AW AX@3 AY AZ BA BB BC BD BE BF BG@2 AV BH@2 BI BJ BK BL BM@2 BN BO
>`.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]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@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: "~ [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
  Z: "f5 ~@5 [d4,d5]@2 ~ [d4,d5] ~@2 [d4,d5] ~@2 [d4,d5]@3 [bb3,bb4] ~@2 [bb3,bb4]@3", // D Bb
  AA: "[g3,g4] ~@2 [bb3,bb4]@3 ~@3 [bb3,bb4]@2 ~@6 f3@3 g3 ~@2 a3, ~@4 [d4,d5]@3 ~", // G Bb D
  AB: "[~@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
  AC: "[~ [g3,g4]@26 ~@3 [a3,a4]@5 ~ [bb3,bb4]@5 ~ [c4,c5]@5 ~]/2", AD: "[a3,a4] ~@2 [g3,g4]@21",
  AE: "[~@17 [g3,g4]@5 ~ [a3,a4]@25]/2", AF: "~@4 [bb3,bb4]@4 ~@2 [c4,c5]@8 ~ [a3,a4] ~@2 g4@2, ~@7 g3",
  AG: "~ f4@21 ~@2, f3@7 ~", AH: "[~@15 [f3,f4]@5 ~ d5@26 ~, ~@10 d4@13 ~]/2",
  AI: "[~@2 [d4,d5]@4 ~@2 [eb4,eb5]@9 [f4,f5] ~ [d4,d5]@3 [c4,c5]@21 ~@5]/2", AJ: "[~@12 [g3,g4]@5 ~ [a3,a4]@25 ~@5]/2",
  AK: "[[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 …
  AL: "~@3 [f3,f4,f5]@4 ~@2 [f3,f4,f5]@4 ~@2 [bb2,bb3]@9", AM: "~@3 [d3,d4]@4 ~ [f3,f4]@4 ~@2 [g3,g4]@7 ~@2 [d3,d4]",
  AN: "~@2 [g3,g4]@10 ~@2 [bb3,bb4]@9 ~", AO: "[~ [c4,c5]@4 ~@2 [f3,f4]@4 ~@2 [bb3,bb4]@21 ~@2 [g3,g4]@11 ~]/2",
  AP: "[[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 …
  AQ: "~@3 [f3,f4] [e3,e4]@3 [f3,f4]@2 ~ [bb2,bb3,bb4]@3 ~@3 [bb2,bb3,bb4]@4 ~@4", // F E F Bb
  AR: "~ [db3,db4,db5]@3 ~@3 [db3,db4,db5]@2 ~ [bb3,bb4]@4 ~ [bb2,bb3,bb4]@4 ~@5, ~@9 bb2@4 ~@11", // Db Bb
  AS: "[db3,db4,db5]@3 ~@3 [db3,db4,db5]@3 [bb2,bb3,bb4]@5 ~ [bb2,bb3,bb4]@5 ~@4", // Db Bb
  AT: "[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
  AU: "[~@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
  AV: "~@4 [ab2,ab3,ab4]@3 [f2,f3,f4]@4 ~@2 [f2,f3,f4]@4 ~@5 [ab2,ab3,ab4]@2", // Ab F Ab
  AW: "~@3 [f2,f3,f4]@3 [bb2,bb3]@3 bb4 ~ bb4 [bb2,bb3]@3 bb4 ~@2 [c3,c4]@3 c5!2 ~, ~@6 bb4 ~@5 bb4 ~@5 c5 ~@5", // 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: "[~@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
  BI: "~@2 [bb2,bb3,bb4]@3 [g2,g3,g4]@4 ~@2 [g2,g3,g4]@4 ~@5 [bb2,bb3,bb4]@3 ~", // Bb G Bb
  BJ: "~ [bb2,bb3,bb4]@3 [g2,g3,g4]@5 ~ [g2,g3,g4]@5 ~@4 [bb2,bb3,bb4]@4 ~", // Bb G Bb
  BK: "~ [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
  BL: "~@3 [g2,g3,g4]@3 ~@3 [g2,g3,g4]@4 ~@5 [bb2,bb3,bb4]@3 ~@3", // G Bb
  BM: "[[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
  BN: "~ [c3,c4,c5]@4 ~@2 [c3,c4,c5]@4 ~@2 [d3,d4,d5]@4 ~@2 [d3,d4,d5]@4 ~", // C D
  BO: "~ [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@2 AA AB AC AD@2 AE AF AG@2 AH@2 AI@2 AJ@2 AK@2 ~ AL@8 AM
  AN AO AP AQ AR@3 AS AT AU AV@2 W X AW@2 AX AY AZ BA BB BC BD BE BF BG@2 W X BH BI BJ BK BL BM@2 BN@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]@3 [f2,f3]@4 ~@2 [f2,f3]@4 ~@5 [ab2,ab3]@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
  Z: "~@2 [db3,db4]@3 [bb2,bb3]@4 ~@2 [bb2,bb3]@4 ~@5 [db3,db4]@3 ~", // Db Bb Db
  AA: "~ [bb2,bb3]@3 [eb3,eb4]@4 ~@2 [eb3,eb4]@4 ~@2 [f3,f4]@4 ~ [f3,f4]@3", // Bb Eb F
  AB: "~@6 d4@2 ~ d4 ~@2 d4 ~@2 d4@3 bb3 ~@2 bb3@2 ~", AC: "g3 ~@2 bb3@3 ~@3 bb3@2 ~@6 f3@3 g3 ~@2 a3, ~@4 d4@3 ~",
  AD: "[~@2 bb3@3 d4@2 ~ d4 ~@2 d4 ~@2 d4@3 bb3 ~@2 bb3@3 g3@3 bb3 ~ bb3@3 g3@3 f3@7 ~@7]/2",
  AE: "~@16 [bb3,bb4]@2 ~ bb4@2 [c4,c5]@3, ~@6 bb3 ~", AF: "[d4,d5]",
  AG: "[~@15 [c4,c5]@2 ~ c5@2 ~ d5@2 eb5@22 ~@3, ~@17 c4@3 d4@3 eb4@18 ~@7]/2", // C
// … 184 more lines

More by C'est Tout