Strudelify

Four Brothers

Herman

KeyF minorTempo220 bpm
0:00/0:00
// Four Brothers — Herman
// 220 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 180 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(220/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 · piano
const piano = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z K AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV AW AX AY AZ BA BB BC I AG BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG
  CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CP CX CY CZ DA DB DC DD DE DF DG CC DH DI DJ DK DL DM DN CZ DO DP DQ
  DR DS DT DU DV DW DX DY DZ A EA EB EC DW D ED EE EF EG EH EI EJ EK EL EM AN EA EE EN EO D EP@2 ~ EQ ~ ER@2 ES@2 ET@2
  ~@11
>`.pickRestart({
  A: "~@8 [ab3,d4,g4,c5]@2 ~ [ab3,d4,g4,c5] ~@4", B: "~@3 [ab3,db4,f4,bb4] ~@7 [g3,c4,db4,f4] ~@4",
  C: "~@8 [f3,c4,eb4,ab4]@2 ~ [f3,c4,eb4,ab4] ~@4", D: "~@8 [a3,d4,eb4,g4]@2 ~ [a3,d4,eb4,g4] ~@4",
  E: "~@8 [ab3,db4,f4,c5]@2 ~ [ab3,db4,f4,c5] ~@4", F: "c3@2 ~ [bb3,eb4,g4,c5]@2 ~@6 [a3,b3,eb4,g4,d5] ~@4",
  G: "~@3 [ab3,db4,f4,c5] ~@5 g3@3 ~@4, ~@8 [db4,f4,db5,f5,bb5]@3 ~@5", // Dbmaj7 Bbm
  H: "[f3,f4,ab4,eb5]@7 ~@3 [g3,a3,c4,e4]@2 [a3,b3,d4,eb4,g4]@3 ~", I: "~@3 [ab3,d4,g4,c5] ~@4 [ab3,d4,g4,c5]@7 ~",
  J: "bb2@2 ~ [ab3,db4,f4,bb4]@2 ~@6 [g3,c4,db4,f4] ~@4", K: "~@3 [f3,ab3,c4,eb4] ~@4 [f3,ab3,c4,eb4]@7 ~",
  L: "~@8 [eb3,g3,a3,c4]@2 ~ [eb3,g3,a3,c4] ~@4", M: "~@12 ab3@3 f4, [f4,bb4]@13 ~@3, ~@11 db3@4 ~",
  N: "~@3 [bb3,eb4,g4,d5] ~@7 [a3,c4,eb4,g4] ~@4", // Ebmaj7 Am7b5
  O: "[ab3,f4,c5]@3 ab3 db4 ~ f4 c5 ~ g3@3 ~@4, ~@8 [db4,f4,db5,f5,c6]@3 ~@5", // Fm Dbmaj7
  P: "[c4,eb4,ab4]@3 ~ f4 db4 c4 g3 ~ c4@3 ~@4, ~@8 [ab4,c5,ab5,c6,eb6]@3 ~@5", // Ab
  Q: "~ b3@3 ~@7 [e3,ab3,bb3,eb4] ~@4, [e4,ab4,e5,ab5,db6]@3 ~@13", R: "~@8 [b3,eb4,gb4]@2 ~ [b3,eb4,gb4] ~@4",
  S: "[d3,d4,gb4,b4]@7 ~ a2@2 ~ [g3,db4,gb4,b4]@2 ~@3", T: "~@8 [gb3,b3,d4,a4]@2 ~ [gb3,b3,d4,a4] ~@4",
  U: "[f3,f4,a4,e5]@7 ~@4 [f3,b3,eb4,ab4] ~@4", V: "[e3,e4,g4,e5]@7 ~ db3@2 ~ [e3,bb3,db4,g4]@2 ~@3",
  W: "d3@2 ~ [f3,c4,d4,a4]@2 ~@3 [f3,c4,e4,a4]@3 ~ ab4 f4 eb4 b3", // Dm7 Fmaj7
  X: "[eb3,bb3,c4,g4]@3 ~ [eb3,a3,b3,d4,g4]@3 ~@2 a3@3 ~@4, ~@8 [eb4,g4,eb5,g5,d6]@3 ~@5", // Cm7 G Ebmaj7
  Y: "ab3@10 ~@3 d4@2 f4, [d4,f4,c5]@12 ab3@3 ~, d3@8 ~@3 d3@5", // Dm7
  Z: "bb2@2 ~ [ab3,db4,f4,bb4]@2 ~@4 g3@3 ~@4, ~@8 [db4,eb4,db5,eb5,bb5]@3 ~@5", // Bbm7 Eb7
  AA: "~@3 [a3,c4,eb4,g4] ~@4 [a3,c4,eb4,g4]@7 ~", AB: "~@3 db4 f4@3 c5@4 ~ [ab3,db4,f4,c5]@2 ~@2, ab3@5 ~@3",
  AC: "~@3 [bb3,eb4,g4,c5] ~@5 a3@3 ~@4, ~@8 [eb4,g4,eb5,g5,d6]@3 ~@5", AD: "[db3,db4,f4,bb4]@7 ~@4 [g3,db4,f4,c5] ~@4",
  AE: "~ c4@3 ~@4 [eb3,eb4,g4,c5]@7 ~, [f4,ab4,f5,ab5,eb6]@3 ~@13", // Cm Fm7
  AF: "ab3@10 ~@3 d4@2 f4, [d4,f4,bb4]@12 ab3@3 ~, d3@8 ~@3 d3@5", AG: "~@3 [g3,db4,f4,c5] ~@4 [g3,db4,f4,c5]@7 ~",
  AH: "~@3 [f3,c4,eb4,ab4] ~@4 [f3,c4,eb4,ab4]@7 ~", AI: "~@3 eb4 g4@3 d5@4 ~ [a3,eb4,g4,d5]@2 ~@2, a3@5 ~@3",
  AJ: "[ab3,f4,bb4]@3 ab3 db4 ~ f4 bb4 ~@3 [g3,db4,f4,c5] ~@4", // Bb7 Csus4
  AK: "~@3 [eb3,g3,bb3,c4] ~@5 a3@3 ~@4, ~@8 [eb4,g4,eb5,g5,b5]@3 ~@5", // Cm7 Ebaug
  AL: "bb2@2 ~ [ab3,bb3,db4,f4]@2 ~@3 [g3,f4,c5]@3 g3 db4 ~ f4 c5", AM: "~@3 [f3,ab3,c4,eb4] ~@7 [a3,eb4,g4,d5] ~@4",
  AN: "~@3 [ab3,d4,f4,bb4] ~@4 [ab3,d4,f4,bb4]@7 ~", AO: "~@8 [g3,db4,f4,bb4]@2 ~ [g3,db4,f4,bb4] ~@4",
  AP: "~@3 f4 ab4@3 eb5@4 ~ [c4,f4,ab4,eb5]@2 ~@2, c4@5 ~@3", AQ: "~@8 [a3,eb4,g4,d5]@2 ~ [a3,eb4,g4,d5] ~@4",
  AR: "~ ab3@3 ~@4 eb3@2 ~ [g3,bb3,db4,eb4]@2 ~@3, [db4,f4,db5,f5,c6]@3 ~@13", // Eb7 Dbmaj7
  AS: "~@3 [bb3,eb4,g4,d5] ~@7 [a3,b3,eb4,g4,d5] ~@4", // Ebmaj7 G
  AT: "[ab3,f4,c5]@3 ab3 db4 ~ f4 c5 ~ g3@3 ~@4, ~@8 [db4,eb4,db5,eb5,c6]@3 ~@5", // Fm Cm
  AU: "ab2@2 ~ [f3,c4,eb4,ab4]@2 ~@4 c4@3 ~@4, ~@8 [gb4,a4,gb5,a5,e6]@3 ~@5", // Fm7 Gbm7
  AV: "~@3 [e3,b3,db4,ab4] ~@4 gb2@2 ~ [e3,bb3,db4,ab4]@2 ~@3", // Dbm7 Bbm7b5
  AW: "ab3@10 ~@3 eb4@2 gb4, [eb4,gb4,b4]@12 ab3@3 ~, eb3@8 ~@3 eb3@5", // B
  AX: "~ g3@3 ~@5 g3@3 ~@4, [d4,gb4,d5,gb5,b5]@3 ~@5 [db4,e4,db5,e5,b5]@3 ~@5", // Bm Dbm7
  AY: "b3@10 ~@3 gb4@2 a4, [gb4,a4,d5]@12 b3@3 ~, gb3@8 ~@3 gb3@5", AZ: "[f3,f4,a4,d5]@7 ~ g2@2 ~ [f3,g3,b3,d4]@2 ~@3",
  BA: "c3@2 ~ [e3,a3,c4,g4]@2 ~@3 db3@2 ~ [e3,bb3,db4,g4]@2 ~@3", BB: "~@3 [f3,c4,d4,a4] ~@7 [f3,b3,d4,bb4] ~@4",
  BC: "c3@2 ~ [eb3,bb3,c4,g4]@2 ~@6 [eb3,a3,d4,g4] ~@4", BD: "~@8 [f3,ab3,c4,eb4]@2 ~ [f3,ab3,c4,eb4] ~@4",
  BE: "a3@10 ~@3 eb4@2 g4, [eb4,g4,d5]@12 a3@3 ~, eb3@8 ~@3 eb3@5", BF: "~@3 [ab3,db4,f4,c5] ~@4 [ab3,db4,f4,c5]@7 ~",
  BG: "[bb3,g4,c5]@3 bb3 eb4 ~ g4 c5 ~@3 [a3,eb4,g4,d5] ~@4", BH: "~@3 [ab3,db4,f4,bb4] ~@4 [db3,db4,eb4,c5]@7 ~",
  BI: "ab2@2 ~ [f3,ab3,c4,eb4]@2 ~@3 [e3,e4,ab4,db5]@7 ~", BJ: "~@3 [eb3,a3,d4,g4] ~@4 [eb3,a3,d4,g4]@7 ~",
  BK: "~@8 [ab3,d4,gb4,db5]@2 ~ [ab3,d4,gb4,db5] ~@4", BL: "~@8 [g3,d4,f4,bb4]@2 ~ [g3,d4,f4,bb4] ~@4",
  BM: "~@8 [e3,bb3,d4,g4]@2 ~ [e3,bb3,d4,g4] ~@4", BN: "ab3@10 ~@3 eb4@2 f4, [eb4,f4,c5]@12 ab3@3 ~, eb3@8 ~@3 eb3@5",
  BO: "[f3,f4,a4,d5]@7 ~ c3@2 ~ [e3,g3,bb3,c4]@2 ~@3", BP: "f3@2 ~ [eb3,ab3,c4,f4]@2 ~@3 [d3,d4,g4,bb4]@7 ~",
  BQ: "~@3 [g3,bb3,c4,eb4] ~@4 [bb3,e4,ab4,e5,ab5,db6]@3 ~@5", BR: "~@3 [eb3,g3,a3,d4] ~@4 [eb3,g3,a3,d4]@7 ~",
  BS: "~@3 [ab3,d4,gb4,db5] ~@4 [ab3,d4,gb4,db5]@7 ~", BT: "~@12 g3@3 f4, [f4,bb4]@13 ~@3, ~@11 d3@4 ~",
  BU: "~@3 e4 ab4@3 db5@4 ~ [bb3,e4,ab4,db5]@2 ~@2, bb3@5 ~@3", BV: "~@3 [ab3,eb4,g4,c5] ~@4 [ab3,eb4,g4,c5]@7 ~",
  BW: "~@3 [bb3,f4,g4,d5] ~@4 [bb3,ab4,db5]@3 bb3 e4 ~ ab4 db5", // Gm7 Bbm7
  BX: "f3@2 ~ [ab3,eb4,f4,c5]@2 ~@3 [ab3,d4,f4,d5,f5,bb5]@3 ~@5", // Fm7 Bb7
  BY: "eb3@2 ~ [g3,d4,f4,bb4]@2 ~@3 [g3,f4,c5]@3 g3 db4 ~ f4 c5", BZ: "~@3 [gb3,b3,eb4,bb4] ~@7 [f3,b3,db4,a4] ~@4",
  CA: "gb2@2 ~ [f3,ab3,bb3,db4]@2 ~@3 [eb3,eb4,gb4,db5]@7 ~", CB: "[a3,d4,gb4,d5,gb5,b5]@3 ~@5 [d3,d4,f4,c5]@7 ~",
  CC: "~@3 [ab3,db4,e4,b4] ~@4 [ab3,db4,e4,b4]@7 ~", CD: "[c3,c4,e4,a4]@7 ~@4 [gb3,ab3,c4,eb4] ~@4",
  CE: "[gb3,gb4,a4,d5]@7 ~ [b3,f4,ab4,f5,ab5,d6]@3 ~@5", CF: "a2@2 ~ [g3,d4,e4,b4]@2 ~@3 [c4,gb4,ab4,gb5,ab5,d6]@3 ~@5",
  CG: "[f3,f4,a4,d5]@7 ~ [bb3,e4,gb4,e5,gb5,c6]@3 ~@5", CH: "~@12 a3@3 g4, [g4,c5]@13 ~@3, ~@11 eb3@4 ~",
  CI: "~@8 [ab3,d4,f4,c5]@2 ~ [ab3,d4,f4,c5] ~@4", CJ: "~@12 g3@3 eb4, [eb4,bb4]@13 ~@3, ~@11 c3@4 ~",
  CK: "~@8 [bb3,d4,e4,g4]@2 ~ [bb3,d4,e4,g4] ~@4", CL: "ab3@10 ~@3 eb4@2 g4, [eb4,g4,c5]@12 ab3@3 ~, eb3@8 ~@3 eb3@5",
  CM: "g2@2 ~ [f3,bb3,d4,g4]@2 ~@3 c3@2 ~ [e3,gb3,bb3,db4]@2 ~@3", CN: "[eb3,eb4,g4,c5]@7 ~@4 [ab3,b3,d4,gb4] ~@4",
  CO: "[g3,c4,eb4,c5,eb5,bb5]@3 ~@5 g2@2 ~ [f3,g3,b3,d4]@2 ~@3", CP: "~@12 bb3@3 g4, [g4,db5]@13 ~@3, ~@11 e3@4 ~",
  CQ: "a3@10 ~@3 eb4@2 f4, [eb4,f4,b4]@12 a3@3 ~, eb3@8 ~@3 eb3@5", // Fm7b5
  CR: "bb3@10 ~@3 d4@2 f4, [d4,f4,d5]@12 bb3@3 ~, d3@8 ~@3 d3@5", CS: "~@3 [b3,d4,f4,ab4] ~@4 [b3,d4,f4,ab4]@7 ~",
  CT: "~@3 [bb3,eb4,g4,c5] ~@4 [bb3,eb4,g4,c5]@7 ~", CU: "~@3 [c4,f4,a4,d5] ~@4 g2@2 ~ [b3,f4,a4,d5]@2 ~@3",
  CV: "[eb3,eb4,g4,d5]@7 ~@4 [a3,b3,eb4,g4,d5] ~@4", CW: "~@3 [g3,bb3,d4,f4] ~@4 g2@2 ~ [b3,f4,g4,d5]@2 ~@3",
  CX: "a3@10 ~@3 eb4@2 f4, [eb4,f4,c5]@12 a3@3 ~, eb3@8 ~@3 eb3@5", // F7
  CY: "~@3 d4 f4@3 bb4@4 ~ [f3,d4,f4,bb4]@2 ~@2, f3@5 ~@3", CZ: "~@12 b3@3 a4, [a4,d5]@13 ~@3, ~@11 f3@4 ~",
  DA: "~@3 [eb3,bb3,d4,g4] ~@4 [eb3,bb3,d4,g4]@7 ~", DB: "[f3,f4,a4,d5]@7 ~ g2@2 ~ [f3,b3,d4,a4]@2 ~@3",
  DC: "[bb3,eb4,g4,eb5,g5,c6]@3 ~@8 [eb3,a3,b3,d4,g4] ~@4", DD: "~@8 [g3,bb3,d4,f4]@2 ~ [g3,bb3,d4,f4] ~@4",
  DE: "[gb3,db4,f4,db5,f5,bb5]@3 ~@5 [c4,gb4,a4,gb5,a5,eb6]@3 ~@5", // Gbmaj7 Cdim
  DF: "[c4,f4,ab4,f5,ab5,eb6]@3 ~@5 [f3,c4,eb4,ab4]@3 ~ [f3,bb3,db4,ab4]@3 ~", // Fm7 Bbm7
  DG: "gb2@2 ~ [e3,a3,db4,gb4]@2 ~@3 [e3,a3,db4,gb4]@3 ~ [a3,c4,eb4,g4]@3 ~", // Gbm7 Am7b5
  DH: "~@3 [g3,d4,e4,b4] ~@4 [db3,db4,eb4,bb4]@7 ~", DI: "[gb3,gb4,a4,gb5]@7 ~ eb3@2 ~ [gb3,a3,c4,eb4]@2 ~@3",
  DJ: "e3@2 ~ [g3,d4,e4,b4]@2 ~@6 [g3,db4,eb4,bb4] ~@4", DK: "[f3,f4,a4,e5]@7 ~ g2@2 ~ [f3,b3,d4,ab4]@2 ~@3",
  DL: "~@8 [e3,bb3,c4,g4]@2 ~ [e3,bb3,c4,g4] ~@4", DM: "~@8 [eb3,a3,b3,d4,g4]@2 ~ [eb3,a3,b3,d4,g4] ~@4",
  DN: "g3@10 ~@3 d4@2 f4, [d4,f4,bb4]@12 g3@3 ~, d3@8 ~@3 d3@5", DO: "~@3 [eb3,g3,bb3,d4] ~@4 [eb3,g3,bb3,d4]@7 ~",
  DP: "~@3 [f3,a3,c4,e4] ~@4 [f3,f4,ab4,d5]@7 ~", DQ: "[eb3,eb4,g4,d5]@7 ~ [eb3,eb4,gb4,c5]@7 ~",
  DR: "~@3 [d4,f4,bb4] ~@4 [d4,f4,bb4]@7 ~", DS: "ab3@10 ~@3 d4@2 g4, [d4,g4,c5]@12 ab3@3 ~, d3@8 ~@3 d3@5",
  DT: "g3@10 ~@3 db4@2 f4, [db4,f4,c5]@12 g3@3 ~, db3@8 ~@3 db3@5", DU: "~@8 [c4,eb4,ab4]@2 ~ [c4,eb4,ab4] ~@4",
  DV: "~@3 [eb3,a3,b3,d4,g4] ~@4 [eb3,a3,b3,d4,g4]@7 ~", DW: "~@3 [ab3,db4,f4,bb4] ~@4 [ab3,db4,f4,bb4]@7 ~",
  DX: "~@12 a3@3 g4, [g4,d5]@13 ~@3, ~@11 eb3@4 ~", DY: "[db3,db4,f4,c5]@7 ~ ab4 e4 db4 bb3 c5 ab4 eb4 c4",
  DZ: "ab2@2 ~ [c4,ab4,eb5]@2 ~@3 [eb3,eb4,g4,c5]@7 ~", EA: "~@12 g3@3 f4, [f4,bb4]@13 ~@3, ~@11 db3@4 ~",
  EB: "eb4@10 ~@3 ab4@2 c5, [ab4,c5,ab5]@12 eb4@3 ~, ab3@8 ~@3 ab3@5", // Ab
  EC: "~@8 [eb3,a3,d4,g4,b4]@2 ~ [eb3,a3,d4,g4,b4] ~@4", // G
  ED: "[db3,db4,f4,bb4]@7 ~ [e3,bb3,db4,ab4]@3 ~ [c4,eb4,ab4]@3 ~", EE: "~@12 eb4@3 c5, [c5,ab5]@13 ~@3, ~@11 ab3@4 ~",
  EF: "[b3,ab4,eb5]@3 b3 gb4 ~ ab4 eb5 [e3,e4,gb4,eb5]@7 ~", // Abm Ebm
  EG: "~@3 [ab3,eb4,gb4,b4] ~@4 b2@2 ~ [a3,eb4,gb4,b4]@2 ~@3", EH: "[d3,d4,gb4,b4]@7 ~ [g3,db4,e4,db5,e5,bb5]@3 ~@5",
  EI: "[gb3,gb4,a4,e5]@7 ~ d3@2 ~ [gb3,b3,d4,a4]@2 ~@3", EJ: "[c4,g4,a4,g5,a5,e6]@3 ~@5 [f3,f4,g4,eb5]@7 ~",
  EK: "[e3,e4,g4,c5]@7 ~ db3@2 ~ [e3,bb3,db4,g4]@2 ~@3", EL: "d3@2 ~ [g3,c4,e4,a4]@2 ~@3 [b3,f4,g4,f5,g5,d6]@3 ~@5",
  EM: "[eb3,eb4,g4,c5]@7 ~ [a3,eb4,g4,eb5,g5,c6]@3 ~@5", EN: "~@3 eb4 f4@3 d5@4 ~ [a3,eb4,f4,d5]@2 ~@2, a3@5 ~@3",
  EO: "~@8 [ab3,db4,f4,bb4]@2 ~ [ab3,db4,f4,bb4] ~@4", // Bbm7
  EP: "[[f3,ab3,bb3,db4]@6 [e3,ab3,bb3,db4]@5 ~ [eb3,f3,ab3,c4]@6 [eb3,f3,ab3,eb4]@6 [eb3,bb3,c4,f4]@6 [bb2,ab3,db4,f4,ab4] ~, ~@9 c4@2 ~@5]/2", // Bbm7 Bbm7b5 Fm7 Ebsus2 Bbm7
  EQ: "~@15 [db3,ab3,db4,e4,ab4]", ER: "[~@15 [eb3,ab3,c4,eb4,f4,gb4,ab4] ~@16, ~@15 ab2@2 ~@15]/2",
  ES: "[~@15 [bb2,f3,ab3,bb3,db4,f4,ab4]@2 ~@15]/2", // Bbm7
  ET: "[~@11 [ab2,c4,bb4,eb5,f5,ab5]@2 ~@2 [bb2,db4,bb4,db5,f5,ab5]@3 ~@14]/2", // Fm7 Bbm7
})).s("gm_piano").gain(0.31)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@7 A ~@4 B ~ C ~@3 D ~ A@2 ~@6 E ~ F G ~@3 H C ~ I ~@3 J ~@3 C ~@5 A ~@8 K L M ~@5 N O ~@3 P Q ~ R ~ I ~ M O ~ D S ~
  A T ~ U ~@3 F ~ V ~@5 N ~ V ~ E W ~ A ~@6 L X ~ A ~@3 W ~ Y Z ~@6 T F G ~ AA ~@4 F AB AC ~ D AD Y AE ~ N ~ AA AB H
  ~@24
>`.pickRestart({
  A: "c4@7 ~@9", B: "[db3,ab3]@5 ~@2 db4, db4@3 ~", C: "db4@3 ~@13", D: "g3@7 ~@9", E: "~@11 bb2 ~@4", F: "ab3@7 ~@9",
  G: "~@8 a3@7 ~", H: "~@11 f2 ~@4", I: "~@8 db4@3 ~@5", J: "~@11 ab2 ~@4", K: "eb4@3 ~@13", L: "~@8 g3@7 ~",
  M: "~@8 bb3@7 ~", N: "bb3@7 ~@9", O: "~@8 ab3@7 ~", P: "[d3,g3]@5 ~@2 d4, d4@3 ~", Q: "~@11 c3 ~@4",
  R: "~@8 e4@3 ~@5", S: "b3@7 ~@9", T: "[eb3,a3]@5 ~@2 eb4, eb4@3 ~", U: "[c3,g3]@5 ~@2 c4, c4@3 ~",
  V: "[e3,bb3]@5 ~@2 e4, e4@3 ~", W: "[f3,b3]@5 ~@2 f4, f4@3 ~", X: "d4@7 ~@9", Y: "~@8 b3@7 ~", Z: "bb3@7 ~ a3@7 ~",
  AA: "[db3,g3]@5 ~@2 db4, db4@3 ~", AB: "[ab3,eb4]@5 ~@2 ab4, ab4@3 ~", AC: "gb4@3 ~@5 bb3@7 ~", AD: "db4@7 ~@9",
  AE: "a3@7 ~@9",
})).s("gm_piano").gain(0.2)

// bass · acoustic bass · "Jazz Bass"
const bass = note(`<
  A B C D E F G H I J K D L M N O P Q R S T U V W X N Y D L Z AA AB AC AD C AE AF AG G AH AC AI C AJ AK AG N AL AM AN AO
  AP AQ AR T AS A AT K D L Z B AU AV AW AX AY AZ BA BB BC AV BD BE BF BG BH BI BJ BK BL BM BN BO BP BO BQ AE BR BS BF BT
  BQ BU BV BW AE BX BY BZ CA F CB BF D BX CC CD CE M BR CF CG CH AW CI CJ CK AQ BF AJ CL BY CM CE AS CN@2 BE K AE E D CO
  AH CN AT K AV CP D CQ Y P CR CS CT T AR CU M AC AT Y AE CV AJ CW@2 ~ CX@2 CY ~ CZ@2 DA@2 ~@11
>`.pickRestart({
  A: "bb2@3 bb1 d3@4 eb3@4 bb2@2 ~@2", B: "bb2@4 f3@2 ~ bb2 eb3 ~ f4 gb4 [g4,db5]@3 ~", C: "ab3@4 bb3@4 c4@3 ~ gb3@3 ~",
  D: "f3@4 eb3@4 d3@4 b2@3 ~", E: "~@4 db3@3 bb1 f3@4 bb3@3 ~, bb2@7 ~@9", F: "c3@4 g3@2 ~ c3 f3 ~ g4 ab4 [a4,eb5]@3 ~",
  G: "bb2@4 bb2@3 ~ eb3 ~ f4 gb4 [g4,db5]@3 ~", H: "ab3@4 eb3@2 ~ ab3 a2@2 ~ a1 f3@2 ~ f2",
  I: "bb2@4 ab2@4 g2@4 b2@3 ~", J: "bb2@4 bb2@3 ~ eb3@4 bb3@2 ~ eb3", K: "~@4 c4@3 ab2 eb4@4 ab4@3 ~, ab3@7 ~@9",
  L: "bb2@4 c3@4 db3@3 ~ db3@3 ~", M: "c3@4 c3@3 ~ f3@4 c3@2 ~ f3", N: "bb2@4 bb2@3 ~ eb3@4 eb3@3 ~",
  O: "ab3@3 ~ eb3@2 ~ eb2 ab3@4 ab3@3 ~", P: "db3@4 db3@3 ~ gb3@4 db3@2 ~ gb3", Q: "b2@4 b2@4 g2@4 f3@3 ~",
  R: "e3@4 b2@2 ~ e3 a2 ~ b3 c4 [db4,g4]@3 ~", S: "~@4 gb3@3 d2 a3@4 d4@3 ~, d3@7 ~@9", T: "d3@4 d3@3 ~ g3@4 g3@3 ~",
  U: "c3@4 g3@2 ~ c3 db3@4 db3@3 ~", V: "d3@4 a3@2 ~ d3 g3@2 ~ g2 g3@3 ~",
  W: "c3@3 ~ f3@2 ~ f2 f3 ~ g4 ab4 [a4,eb5]@3 ~", X: "bb2@4 c3@4 d3@3 ~ b2@3 ~", Y: "ab3@3 ab2 c4@4 db4@4 ab3@2 ~@2",
  Z: "c3@4 c3@3 ~ f3@4 f3@3 ~", AA: "bb2@4 f3@2 ~ bb2 eb3@4 bb3@2 ~ eb3", AB: "ab3@4 ab3@3 ~ f3@4 f3@3 ~",
  AC: "bb2@4 ab2@4 g2@4 e3@3 ~", AD: "eb3@3 eb2 g3@4 ab3@4 eb3@2 ~@2", AE: "f3@4 g3@4 a3@3 ~ b2@3 ~",
  AF: "bb2@4 bb2@3 ~ eb3@4 bb2@2 ~ eb3", AG: "c3@4 c3@3 ~ f3 ~ g4 ab4 [a4,eb5]@3 ~",
  AH: "ab3@4 ab3@3 ~ f3 ~ g4 ab4 [a4,eb5]@3 ~", AI: "eb3@4 f3@4 g3@3 ~ a3@3 ~", AJ: "~@4 a3@3 f2 c4@4 f4@3 ~, f3@7 ~@9",
  AK: "bb2@4 f3@2 ~ bb2 eb3@4 bb2@2 ~ eb3", AL: "ab3@4 ab3@3 ~ ab3@4 eb3@2 ~ ab3", AM: "db3@4 db3@3 ~ gb3@4 gb3@3 ~",
  AN: "b2@3 b1 eb3@4 e3@4 b2@2 ~@2", AO: "e3@4 b2@2 ~ e3 a2@4 a2@3 ~", AP: "d3@4 e3@4 gb3@3 ~ eb3@3 ~",
  AQ: "d3@4 a3@2 ~ d3 g3@4 g3@3 ~", AR: "c3@4 g3@2 ~ c3 db3@4 g3@2 ~ db3", AS: "c3@4 g3@2 ~ c3 f3@4 c3@2 ~ f3",
  AT: "eb3@4 db3@4 c3@4 a3@3 ~", AU: "ab3@4 ab3@3 ~ c3@4 c3@3 ~", AV: "f3@3 f2 a3@4 bb3@4 f3@2 ~@2",
  AW: "e3@3 e2 ab3@4 a3@4 e3@2 ~@2", AX: "eb3@4 f3@4 g3@3 ~ db3@3 ~", AY: "c3@4 bb2@4 a2@4 gb3@3 ~",
  AZ: "f3@4 eb3@4 d3@4 ab3@3 ~", BA: "g3@4 g3@3 ~ c3 ~ d4 eb4 [e4,bb4]@3 ~", BB: "f3@4 c3@2 ~ f3 bb2@4 f3@2 ~ bb2",
  BC: "eb3@4 eb3@3 ~ c3@4 c3@3 ~", BD: "e3@4 d3@4 c3@4 e3@3 ~", BE: "~@4 g3@3 eb2 bb3@4 eb4@3 ~, eb3@7 ~@9",
  BF: "~@4 e3@3 c2 g3@4 c4@3 ~, c3@7 ~@9", BG: "f3@4 g3@4 ab3@3 ~ ab3@3 ~",
  BH: "g3@4 d3@2 ~ g3 c3 ~ d4 eb4 [e4,bb4]@3 ~", BI: "f3@4 f3@3 ~ bb2@4 bb2@3 ~",
  BJ: "eb3@4 eb3@3 ~ eb3 ~ f4 gb4 [g4,db5]@3 ~", BK: "ab3@4 ab3@3 ~ db3@4 ab3@2 ~ db3",
  BL: "gb3@4 gb3@3 ~ gb3 ~ ab4 a4 [bb4,f5]@3 ~", BM: "b2@4 gb3@2 ~ b2 e3@4 e3@3 ~", BN: "a2@4 ab2@4 gb2@4 bb2@3 ~",
  BO: "a2@4 e3@2 ~ a2 d3 ~ e4 f4 [gb4,c5]@3 ~", BP: "g3@4 g3@3 ~ ab3@4 d3@2 ~ ab3", BQ: "g3@4 d3@2 ~ g3 c3@4 g3@2 ~ c3",
  BR: "bb2@4 c3@4 d3@3 ~ e3@3 ~", BS: "eb3@4 d3@4 c3@4 db3@3 ~", BT: "~@4 ab3@3 f2 c4@4 f4@3 ~, f3@7 ~@9",
  BU: "f3@4 f3@3 ~ bb2@4 f3@2 ~ bb2", BV: "eb3@4 eb3@3 ~ g3@4 d3@2 ~ g3", BW: "c3@3 c2 e3@4 f3@4 c3@2 ~@2",
  BX: "bb2@4 bb2@4 g2@4 ab3@3 ~", BY: "g3@4 a3@4 b3@3 ~ db3@3 ~", BZ: "c3@4 d3@4 eb3@3 ~ eb3@3 ~",
  CA: "d3@4 d3@3 ~ g3@4 d3@2 ~ g3", CB: "bb2@4 f3@2 ~ bb2 g3@4 g3@3 ~", CC: "g3@4 f3@4 e3@4 db3@3 ~",
  CD: "~@4 eb3@3 c2 g3@4 c4@3 ~, c3@7 ~@9", CE: "d3@4 a3@2 ~ d3 g3@4 d3@2 ~ g3", CF: "eb3@4 eb3@3 ~ ab3@4 ab3@3 ~",
  CG: "db3@4 ab3@2 ~ db3 db3@2 ~ db2 db3@2 ~ db2", CH: "gb3@4 gb3@3 ~ gb3@3 ~ b2@2 ~ b1",
  CI: "e3@4 e3@3 ~ a2@4 e3@2 ~ a2", CJ: "d3@4 d3@3 ~ eb3 ~ f4 gb4 [gb4,db5]@3 ~",
  CK: "e3@4 b2@2 ~ e3 eb3 ~ f4 gb4 [g4,db5]@3 ~", CL: "bb2@4 a2@4 g2@4 ab3@3 ~", CM: "c3@3 c2 eb3@4 f3@4 c3@2 ~@2",
  CN: "~@4 d3@3 bb1 f3@4 bb3@3 ~, bb2@7 ~@9", CO: "bb2@4 bb2@3 ~ db3@2 ~ db2 ab3@3 ~",
  CP: "bb2@3 bb1 db3@4 eb3@4 bb2@2 ~@2", CQ: "bb2@4 f3@2 ~ bb2 db3@2 ~ db2 ab3@3 ~",
  CR: "b2@4 gb3@2 ~ b2!2 db4 ~ d4 [eb4,a4]@3 ~", CS: "e3@4 b2@2 ~ e3 a2@4 e3@2 ~ a2", CT: "d3@4 d3@3 ~ d3@4 d3@3 ~",
  CU: "d3@4 a3@2 ~ d3 g3 a4 ~ bb4 [b4,f5]@3 ~", CV: "bb2@4 c3@4 db3@3 ~ gb3@3 ~",
  CW: "[bb1@6 db2@6 ab2@6 ~ ab2@5 ~ ab2@5 bb2 ~]/2", CX: "[~@15 db2@2 ~@15]/2", CY: "~@7 ab1",
  CZ: "[~@15 bb1@2 ~@15]/2", DA: "[~@11 ab2@2 ~ bb2@5 ~@13]/2",
})).s("gm_acoustic_bass").gain(0.26)

// other · clarinet · "Lead Alto"
const clarinet = note("<~@111 A B C D@2 E F G@2 ~@60>".pickRestart({
  A: "~@14 eb6 e6", B: "eb6 ~@3 ab5 ~@2 db6", C: "~@3 db5@9 ~@4",
  D: "[~@3 gb5@2 ~ gb5@2 b5@2 ~@2 b5@2 ~ e6@2 ~@2 e5@9 ~@4]/2", E: "~@2 e5 ~ a5@4 eb5@2 a5@6",
  F: "d5@2 ~ a5@5 eb5@3 a5@5", G: "[e5@2 a5@5 ~ eb5@3 a5@9 d5@2 g5@9 ~]/2",
})).s("gm_clarinet").gain(0.36).pan(0.8)

// other · tenor sax · "Lead Teno"
const tenor_sax = note(`<
  A B C D E F G@2 A B C H E F I@2 J@2 K@2 L M N O A B C P E F Q@2 ~@39 R S T U V ~@3 W X Y@2 Z AA AB AC AD AE@5 AF@2 AG
  ~ AH AI AJ AK AL AM AN ~ AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC ~@2 BD BE@2 BF BG@2 BH@2 BI@2 BJ@2 BK@2 BH@2
  BI@2 BJ@2 BL@2 BM@2 BN BO BP@2 BQ BR BS@2 BI@2 BJ@2 BT@2 BU BV ~@6 BW BX BY BZ CA@2 CB@6
>`.pickRestart({
  A: "c5@3 ~ c5@3 b4 c5@3 ab4 f4@3 d4, ~@3 b4@2 ~@11", B: "db4@3 f4 ab4@3 c5 b4@3 g4 eb4@3 db4",
  C: "c4@3 eb4 g4@3 bb4@2 ~@2 ab4@2 ~@2 eb4", D: "g4@2 ~ f4@2 ~@10 e4", E: "f4@3 db4 bb3@3 ab3 f4@3 db4 bb3@3 ab3",
  F: "eb4@2 ~@2 g3@2 f3@5 ~@4 c4", G: "[db4@3 bb3 ab3@3 ab3 db4@3 g3 b3@3 c4@8 ~@7 b4@2]/2", H: "g4@2 ~ f4 ~@11 e4",
  I: "[db4@3 bb3 ab3@3 ab3 db4@3 ab3 g3@3 f3@7 ~@9 g4]/2",
  J: "[ab4@3 ~ db4@3 b3 bb3@3 db4 e4@2 ~@2 gb4@3 eb4 e4@2 gb4@5 ~@5, ~@3 e4@2 ~@10 ab4@2 ~@15]/2",
  K: "[gb4@3 ~ db4@3 b3 a4@3 gb4 g4@3 a4@7 ~@9 d4, ~@3 d4@2 ~@27]/2", L: "d4@3 db4 c4@2 ~ a3 a3@3 b3 d4@3 f4",
  M: "e4@3 ~ c4@3 b3 bb3@3 ~ f4@3 db4, ~@3 d4@2 ~@6 g4@2 ~@3", N: "e4@3 d4@2 ~@2 a3 c4@4 b3@3 bb3",
  O: "~@3 d4@7 ~@4 b4@2", P: "g4@2 f4 ~@12 e4", Q: "[db4@3 bb3 ab3@3 ab3 db4@3 ab3 g3@3 f3@7 ~@10]/2",
  R: "~@2 f4@5 ~ d4@8", S: "eb4", T: "d4", U: "d4@15 ~", V: "~@7 c4@5 ~@4", W: "~@8 eb3@3 d3 eb3@2 f3 ~",
  X: "gb3@3 ab3 bb3@3 db4 f3@3 a3 b3@3 d4",
  Y: "[bb3@7 db3 bb3@3 db4 ~@3 gb4@4 ~ db4@2 b3 ~ g4@2 f4 ~ e4@3 d4, ~@19 d4@2 ~@11]/2", Z: "db4 ~@3 d4@3 e4@9",
  AA: "~@3 e4 eb4@3 e4 f4@2 eb4 ~ d4@2 c4 ~", AB: "b3@2 ~@2 c4@2 d4@5 ~@4 b3", AC: "c4@3 g4 e4@2 ~ c4 b3@3 d4@5",
// … 348 more lines

More by Herman