Strudelify

The Most Happy Fella

Loesser

KeyF majorTempo204 bpm
0:00/0:00
// The Most Happy Fella — Loesser
// 204 bpm, 6/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 220 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(204/3)

// 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 · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A B C D E F@5 G H@2 I J K L M@2 N O P Q R Q S T U V W X Y Z AA@2 AB AC AD AE I AF AG AH ~@2 AI AJ AK AL AM AN AO AP AQ
  AM AR AS AT AU AV AW AX AY AZ AY BA BB BC BD BE@13 BF@3 BG BH BI BJ BK BL BM@2 BN BO BP BQ BR BS BT BU BV BW BX BY BX
  BZ CA CB CC CD CE@2 CF@2 CG@2 CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX@2 CY CZ DA DB@9 DC DD DE DF DG DH DI
  DB ~@8 DJ@2 DK DL@2 DM@3 DN@3 DO DP DQ@2 DR DS DT@2 DU DV DW DX DY DZ@2 EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO
  EP EQ ER@2 ES ET EU EV@2 EW EX EY EZ@3 ~
>`.pickRestart({
  A: "[a3,c4,e4,g4]@8 [e4,g4,b4,d5]@4 ~@2 [e4,g4,b4,d5] ~", // Am7 Em7
  B: "[e4,g4,b4,d5]@8 [eb4,gb4,a4,c5]@3 ~@3 [eb4,gb4,a4,c5] ~", // Em7 Ebdim
  C: "[eb4,gb4,a4,c5]@4 [d4,f4,c5,g5]@2 ~ [c5,g5], ~@14 [d4,f4] ~", D: "[d4,f4,c5,g5]@8 g5@5 a5 ~ b5, ~ [d4,f4,b4]",
  E: "[c5,c6]@3 ~@2 [g3,c4,e4] ~@2 [c4,e4] ~@4 [g3,c4,e4] ~@2, ~@4 g3 ~@3", // C
  F: "[g3,c4,e4]@2 ~@3 [g3,c4,e4] ~@2 [g3,e4]@2 ~@3 [g3,c4,e4] ~@2, ~@8 c4 ~@7", // C
  G: "[g3,c4,e4]@2 ~@3 [g3,c4,e4] ~@2 [g3,e4]@2 ~@3 [gb3,b3,eb4]@3, ~@8 c4 ~@7", // C B
  H: "[g3,c4,e4]@2 ~@3 [gb3,b3,eb4]@3 [g3,e4]@2 ~@3 [gb3,b3,eb4]@3, ~@8 c4 ~@7", // C B C B
  I: "[g3,c4,e4]@2 ~@3 [a3,c4,e4] ~@2 [a3,e4]@2 ~@3 [a3,c4,e4] ~@2, ~@8 c4 ~@7", // C Am A5 Am
  J: "[g3,b3,eb4]@2 ~@3 [g3,b3,eb4] ~@2 [g3,e4]@2 ~@3 [e4,c5,e5] ~@2, ~@8 c4 ~@7", // Gaug C
  K: "[g4,d5]@2 ~@3 [g4,d5] ~@2 d5@2 ~@3 [g4,bb4] ~@2, gb5@13 d5@3, ~@8 g4 ~@7", // G5 Gm
  L: "[g4,c5,e5]@2 ~@3 [g4,c5] ~@2 c5@2 ~@3 [g4,c5,e5] ~@2, ~@8 g4 ~@7", // C C5 C
  M: "[g4,d5]@2 ~@3 [g4,bb4] ~@2 [c5,e5]@3 ~@2 [g4,c5] ~@2, gb5@5 d5@2 ~ g4 ~@4 e5@2 ~", // G5 Gm C C5
  N: "[g4,d5]@2 ~@3 [g4,d5] ~@2 d5@2 ~@3 [g4,bb4] ~@2, gb5@13 d5@2 ~, ~@8 g4 ~@7", // G5 Gm
  O: "[e4,g4,c5]@3 ~@2 [c4,e4,g4] ~@2 a4@5 [c4,e4] ~@2, ~@8 e4@2 ~@3 c5@3, ~@8 c4 ~@7", // C
  P: "[eb4,ab4,c5,eb5]@2 ~@3 [eb4,ab4,c5] ~@2 [eb4,ab4,c5]@2 ~@3 [ab3,c4,eb4] ~@2", // Ab
  Q: "[ab3,c4] ~@4 [ab3,c4,eb4] ~@2 [ab3,c4,eb4]@2 ~@3 [ab3,c4,eb4] ~@2, eb4 ~@7", // Ab
  R: "[ab3,bb3,f4]@2 ~@3 [ab3,bb3,f4] ~@2 [ab3,bb3,db4,e4]@2 ~@3 [bb3,db4,e4] ~@2", // Bb7 Bbm7b5 Bbdim
  S: "[db4,f4,ab4] ~@4 [db4,f4,ab4] ~@2 [db4,f4,ab4] ~@4 [db4,f4,ab4] ~@2", // Db
  T: "[db4,f4,ab4]@2 ~@3 [ab3,bb3,f4] ~@2 [bb3,db4,f4,g4]@2 ~@3 [ab3,db4,f4,ab4] ~@2", // Db Bb7 Gm7b5 Db
  U: "[db4,f4,ab4,bb4]@2 ~@3 [db4,f4,ab4,c5] ~@2 [db4,f4,ab4,bb4]@3 ~@2 [ab3,db4,f4] ~@2", // Bbm7 Dbmaj7 Bbm7 Db
  V: "[db4,f4,ab4,bb4]@2 ~@3 [db4,f4,ab4] ~@2 [db4,f4,ab4,bb4]@2 ~@3 [db4,f4,ab4,db5] ~@2", // Bbm7 Db Bbm7 Db
  W: "[e4,a4,db5]@2 ~@3 [e4,a4,db5] ~@2 [e4,a4,db5]@2 ~@3 [e4,a4,db5] ~@2", // A
  X: "[e4,a4,db5] ~@4 [a3,db4,e4] ~@2 [e3,a3,e4]@3 ~@2 [e3,a3,e4] ~@2", // A A5
  Y: "[gb3,a3,d4]@2 ~@3 [gb3,a3,d4] ~@2 [gb3,a3,d4]@3 ~@2 [gb3,a3,db4] ~@2", // D Gbm
  Z: "[a3,d4]@3 ~@2 [gb3,a3,d4] ~@2 [gb3,a3,d4]@3 ~@2 [gb3,a3,d4] ~@2", AA: "[f3,bb3,d4]@3 ~@13",
  AB: "[g3,c4,eb4]@3 ~@5 [gb3,c4,d4]@3 ~@5", AC: "[g3,b3,d4]@2 ~@3 [g3,b3,d4] ~@2 [g3,b3,d4]@2 ~@3 [g3,b3,d4] ~@2",
  AD: "[g3,b3,d4]@2 ~@3 [g3,b3,d4] ~@2 [g3,b3]@3 ~@2 [g3,b3] ~@2", // G
  AE: "[g3,c4,e4]@2 ~@3 [g3,c4,e4] ~@2 [g3,c4,e4]@2 ~@3 [g3,c4,e4] ~@2", // C
  AF: "[a3,c4,f4]@2 ~@3 [a3,c4,f4] ~@2 [b3,d4,f4]@2 ~@3 [b3,d4,f4] ~@2", // F Bdim
  AG: "[c4,e4,g4]@2 ~@3 [e4,g4]@2 ~ [a3,e4]@3 ~@2 [a3,e4] ~@2, ~@5 g3 ~@2 gb4@8", AH: "[b3,eb4,gb4,b4]",
  AI: "~ [ab3,b3,e4]", AJ: "[g3,bb3,eb4]@3 ~@2 [g3,bb3,eb4] ~@2 [g3,bb3,eb4]@2 ~@3 [gb3,a3,d4] ~@2",
  AK: "[g3,bb3,eb4]@2 ~@3 [g3,bb3,eb4] ~@2 [g3,bb3,eb4]@2 ~@3 [gb3,a3,d4]@3", // Eb D
  AL: "[g3,bb3,eb4]@3 ~@2 [gb3,a3,d4]@3 [g3,bb3,eb4]@4 ~@4", AM: "[eb3,eb4]@2 [bb2,bb3] ~", AN: "~@2 f4 ~",
  AO: "[f3,f4]@8 [c3,c4]@3 ~@5", AP: "~@4 g4 ~@3", AQ: "[g3,g4]@2 [d3,d4] ~",
  AR: "[ab3,b3,e4,ab4]@3 ~@2 [ab3,b3,e4,ab4] ~@2 [ab3,b3,e4,ab4]@3 ~@2 [a3,b3,eb4,gb4] ~@2", // E B7
  AS: "[ab3,b3,d4,e4]@3 ~@2 [ab3,b3,d4,e4] ~@2 [e3,b3,d4,e4]@3 ~@2 [e3,b3,d4,e4] ~@2", // E7
  AT: "[e3,a3,db4,e4]@3 ~@2 [e3,a3,e4]@2 ~ [e3,a3,db4,e4]@3 ~@2 [b3,e4]@2 ~, ~@5 db4 ~@7 [e3,ab3] ~@2", // A A5 A E5 E
  AU: "[e3,a3,db4,e4]@3 ~@2 [e3,b3,d4,e4]@2 ~ [a3,db4,e4]@3 ~@2 [a3,d4,gb4]@2 ~", // A E7 A D
  AV: "[a3,e4,g4]@3 ~@2 [a3,e4,g4] ~@2 [a3,e4,g4]@4 ~ [a3,eb4,gb4] ~@2", // A7 Ebdim
  AW: "[a3,e4,g4]@3 ~@2 [d4,gb4] ~@2 [a3,db4,e4]@3 ~@2 [a3,db4,e4] ~@2, ~@5 a3@2 ~@9", // A7 D A
  AX: "[a3,e4,g4]@4 ~ [a3,eb4]@2 ~ [a3,e4,g4]@4 ~ [eb4,gb4] ~@2, ~@5 gb4 ~@7 a3@2 ~", // A7 Adim A7 Ebm
  AY: "[a3,e4,g4]@4 ~ [a3,d4,gb4] ~@2 [a3,db4,e4]@3 ~@2 [ab3,b3,d4] ~@2", // A7 D A Abdim
  AZ: "[a3,e4,g4]@3 ~@2 [a3,e4,g4] ~@2 [a3,e4,g4]@3 ~@2 [a3,gb4] ~@2, ~@13 eb4@2 ~", // A7 D
  BA: "[a3,db4,a4]@2 ~@6 [ab3,d4,e4]@3 ~@5", BB: "a4@8 e4@3 ~@5, [a3,db4]@11 ~@5",
  BC: "[f4,bb4] ~@2 [g4,c5] ~ [f4,a4,d5]@2 ~ [g4,e5]@2 ~ [a4,f5]@2 [bb4,d5] ~@2, d4@2 ~ e4@2 ~@3 bb4 ~@2 c5 ~ g5@2 ~", // Bb5 C5 Dm C Dm Bb
  BD: "[c5,eb5,a5]@3 ~@5 [a3,eb4,f4]@8", BE: "[f3,d4] ~@3 d4 ~@3",
  BF: "[a4,c5]@3 [bb4,d5]@2 c5@2 ~ [d5,f5]@3 ~@2 [eb5,g5] ~@2, ~@5 eb5 ~@10", BG: "[a4,db5,f5,a5]@3 ~@13",
  BH: "[d4,f4] ~@4 [d4,f4] ~@2 [c4,d4,f4] ~@4 [c4,d4,f4] ~@2", // Dm Dm7
  BI: "[c4,d4,f4]@2 ~@3 [c4,d4,f4] ~@2 [d4,f4] ~@4 [d4,f4] ~@2", // Dm7 Dm
  BJ: "[bb3,d4,f4] ~@4 [d4,f4] ~@2 [bb3,d4,f4] ~@4 [d4,f4] ~@2", // Bb Dm Bb Dm
  BK: "[bb3,d4,f4] ~@4 [d4,f4] ~@2 [f3,bb3,eb4]@2 ~@3 [f3,bb3,c4,eb4] ~@2, ~@8 c4 ~@7", // Bb Dm Ebsus2 Fsus4
  BL: "[f3,eb4]@2 ~@3 [f3,bb3,c4,eb4] ~@2 [c4,eb4,f4]@2 ~@3 [c4,f4] ~@2", // F7 Fsus4 F7 F5
  BM: "[f3,bb3,c4,eb4]@2 ~@3 [f3,bb3,c4,eb4] ~@2 [f3,bb3,c4,eb4]@2 ~@3 [f3,bb3,c4,eb4] ~@2", // Fsus4
  BN: "[b3,eb4,gb4]@2 ~@3 [b3,eb4] ~@2 [b3,eb4]@2 ~@3 [gb3,b3,eb4] ~@2", // B
  BO: "[b3,eb4,gb4]@2 ~@3 [b3,eb4,gb4] ~@2 [eb4,gb4,b4]@2 ~@3 [eb4,gb4,b4] ~@2", // B
  BP: "[eb4,gb4,b4]@2 ~@3 [eb4,gb4,b4] ~@2 [b3,eb4,gb4]@2 ~@3 [b3,eb4,gb4] ~@2", // B
  BQ: "[a3,eb4,f4]@3 ~@2 f4 ~@2 [eb4,f4,a4]@3 ~@2 [eb4,f4,a4] ~@2", // F7
  BR: "[eb4,f4,a4]@2 ~@3 [eb4,f4,a4] ~@2 f4@3 ~@2 [eb4,f4,a4] ~@2", BS: "[a3,eb4,f4] ~@3 [a3,eb4,f4,a4]@4, a4 ~@15",
  BT: "[bb3,d4,f4]@2 ~@3 [bb3,d4,f4] ~@2 [bb3,d4,f4]@2 ~@3 [bb3,d4,f4] ~@2", // Bb
  BU: "[f3,c4,d4]@3 ~@2 [f3,d4]@2 ~ [f3,bb3,d4]@3 ~@2 [f3,bb3,d4] ~@2, ~@5 bb3 ~@10", // Dm7 Dm Bb
  BV: "[f3,bb3,d4]@3 ~@2 [f3,bb3,d4] ~@2 [f3,bb3,d4]@3 ~@2 [f3,bb3,eb4] ~@2", // Bb Ebsus2
  BW: "[f3,bb3,eb4]@3 ~@2 [f3,eb4]@2 ~ [f3,bb3,d4]@2 ~@3 [f3,bb3,d4] ~@2, ~@5 bb3 ~@10", // Ebsus2 F7 Bb
  BX: "[f3,bb3,d4]@2 ~@3 [f3,bb3,d4] ~@2 [f3,c4,d4]@3 ~@2 [f3,c4] ~@2, ~@13 d4@2 ~", // Bb Dm7 F5
  BY: "[f3,c4,d4]@3 ~@2 [f3,c4,d4]@2 ~ [f3,bb3,d4]@3 ~@2 [f3,bb3] ~@2, ~@13 d4@2 ~", // Dm7 Bb Bb5
  BZ: "[f3,c4,d4]@4 ~ [f3,c4,d4]@2 ~ [f3,bb3,c4]@4 ~ [f3,bb3,c4] ~@2", // Dm7 Fsus4
  CA: "[f3,bb3,c4]@3 ~@2 [f3,bb3,c4] ~@2 [f3,a3,c4,eb4]@3 ~@2 [f3,a3,c4,eb4]@2 ~", // Fsus4 F7
  CB: "[f3,a3,c4,eb4]@3 ~@2 [a3,c4,eb4]@2 ~ [f3,bb3,c4]@3 ~@2 [f3,bb3,c4]@2 ~, ~@5 f3 ~@10", // F7 Adim Fsus4
  CC: "[f3,bb3,c4,eb4]@2 ~@3 [f3,bb3,eb4] ~@2 [f3,a3,c4,eb4]@3 ~@2 [f3,a3,c4,eb4] ~@2, ~@5 c4@2 ~@9", // Fsus4 Ebsus2 F7
  CD: "[gb3,b3,eb4]@3 ~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4]@3 ~@2 [gb3,b3,eb4] ~@2", // B
  CE: "[~@3 gb4, [b2,gb3], ~ b3@3, ~ eb4]/2", CF: "[[g4,eb5]@5 [f4,d5]@3 [d4,f4]@24, [bb2,f3], ~ a4 ~@2]/2",
  CG: "[~@2 bb3 a3, g4@3 ~]/2", CH: "~@3 bb4@2 [c5,c6]@3 [d5,d6]@2 ~ eb6@2 f6@2 ~, [d4,f4], ~@2 bb5@3 ~@6 eb5 ~ f5 ~@2",
  CI: "[f4,bb4,d5]@2 ~@3 [f4,bb4,d5] ~@2 [f4,bb4,d5,f5,f6]@3 ~@2 [bb3,eb4,bb4,eb5,eb6] ~@2, [g5,g6] ~, bb2@5 d3@2 ~ f3@5 f4@2 ~", // Bb Eb5 G
  CJ: "[eb4,f4,bb4]@3 ~@2 [f4,bb4] ~@2 [d4,f4,bb4,d5]@2 ~@3 [c4,d4,f4,c5,c6] ~@2, [eb5,eb6] ~, bb3@5 f3@2 ~ [bb3,d6]@4 ~ f3@2 ~", // Ebsus2 Bb5 Bb Dm7 Eb Bb
  CK: "[c4,d4,f4]@2 ~@3 [c4,d4,f4] ~@2 [d4,f4,bb4,bb5]@3 ~@2 [a3,d4,f4,a4,a5] ~@2, [c5,c6] ~, f3@5 d3@2 ~ f3@7 ~", // Dm7 Bb Dm C
  CL: "[db4,e4]@3 ~@2 e4@2 ~ [b2,b3,eb4,gb4,b4,b5]@8, [gb3,a4,a5] ~, a3@5 db4 ~@10", // Dbm B Gbm
  CM: "[e4,ab4]@2 ~@3 [e4,ab4] ~@2 [gb4,ab4,b4]@2 ~@3 [gb4,ab4,b4] ~@2", // E Abm7
  CN: "[gb4,b4]@2 ~@3 [gb4,ab4,b4] ~@2 [db4,e4,ab4]@2 ~@3 [db4,e4,ab4] ~@2, ab4 ~@15", // B5 Abm7 Dbm
  CO: "[db4,e4]@2 ~@3 [db4,e4] ~@2 [b3,e4]@3 ~@2 e4@2 ~, ~@13 db4 ~@2", // Dbm E5
  CP: "[b3,db4,e4]@2 ~@3 [b3,db4,e4] ~@2 [db4,e4,gb4]@3 ~@2 [db4,e4,gb4] ~@2", // Dbm7 Gb7
  CQ: "[e4,gb4]@3 ~@2 [db4,e4]@2 ~ [gb4,a4,b4]@3 ~@2 [gb4,a4]@2 ~, ~@5 gb4 ~@10", // Esus2 Dbm B7 Gbm
  CR: "[gb4,a4,b4]@3 ~@2 [gb4,a4,b4] ~@2 [a3,b3,eb4]@3 ~@2 [b3,eb4,gb4]@2 ~", // B7 B
  CS: "[gb3,b3,db4]@3 ~@2 [a3,db4] ~@2 [a3,db4,e4]@4 ~ [db4,e4] ~@2, ~@13 b3@2 ~", // Gbsus4 A Dbm
  CT: "[a3,c4]@3 ~@2 [a3,c4]@2 ~ [f4,a4]@3 ~@2 [f4,a4] ~@2, ~@8 f5@5 f5@3", // Am F
  CU: "[f4,a4]@3 ~@2 [f4,a4]@2 ~ [a4,c5]@2 ~@3 [a4,c5]@2 ~, a5@7 ~", // F Am
  CV: "[a4,c5,e5]@3 ~@2 [a4,c5]@2 ~ [f4,a4]@3 ~@2 [f4,a4] ~@2, g5 ~, ~@5 e5 ~@2 f5@8", // Am F
  CW: "[a4,c5]@3 ~@2 c5@2 ~ [a3,eb4,ab4]@4 ~ [a3,eb4,ab4] ~@2, c6, ~@5 a4 ~@10", // Am Ab
  CX: "[[a3,eb4,b4]@19 ~@5 [a3,eb4,g4]@4 ~@4]/2", CY: "[e4,ab4,b4,e5]@3 ~@5 [e4,e5]@2 ~@3 [e4,e5]@3",
  CZ: "[f4,d5,f5]@2 ~ [g4,eb5,g5]@2 [ab4,f5,ab5]@2 ~ [g5,bb5]@2 ~ ab5@2 [db5,bb5,db6]@2 ~, ~@8 bb4 ~ [c5,c6]@2 ~@4", // Dm Cm Db Gm Gb C
  DA: "[eb5,ab5,c6,eb6]@3 ~@2 [ab3,eb4] ~@2 [ab3,c4,eb4]@2 ~@3 eb4 ~@2", DB: "[ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3",
  DC: "[c4,eb4,c5]@2 ~@3 [eb4,bb4] ~@2 [c4,eb4]@2 ~@3 eb4 ~@2", DD: "[ab3,c4,eb4] ~@3 [eb4,ab4] ~@3",
  DE: "[db4,f4,bb4] ~@3 [bb3,db4,f4] ~@3", DF: "[bb3,db4,f4] ~@3 [bb3,db4,f4] ~@3",
  DG: "[bb3,db4,bb4] ~@3 [bb3,db4,g4] ~@3", DH: "[bb3,db4,g4] ~@3 [db4,f4,bb4] ~@3",
  DI: "[c4,eb4,ab4] ~@3 [ab3,c4,eb4] ~@3", DJ: "[[f3,ab3,b3,d4] ~@4 [a3,eb4]@27]/2",
  DK: "~@5 [a3,eb4,f4,a4]@5 ~ [bb3,d4,f4] ~@4, ~@11 bb4@2 ~@3", DL: "[[bb3,e4,bb4]@7 ~]/2",
  DM: "[[bb3,e4,bb4]@5 [b3,eb4,b4]@3 ~@3 [b3,f4,b4]@16 [ab3,db4,f4]@21, gb4 ~@5]/3", // Bbdim B Bdim Db
  DN: "[[d4,f4]@2 ~ c4@3 [b3,d4]@5 [c4,e4]@10 [c4,f4,a4]@15 ~ [b3,f4,g4,b4]@5 ~ [c4,e4]@4 ~, g4@7 ~@9, ~@2 e4@3 ~@43]/3", // Dm Bm C F G7 C
  DO: "[c4,e4]@2 [f4,g4]@4 ~@2 [e4,g4]@2 ~ [eb4,g4]@4 ~", DP: "[e4,g4]@2 ~ [d4,e4]@4 ~ [c4,e4]@2 ~ [a3,c4,e4]@4 ~",
  DQ: "[[c4,e4]@2 ~ [b3,c4,e4]@4 ~ [a3,c4,e4]@2 ~ g3@14 ~@2 [c4,d4]@4 ~]/2", // C Cmaj7 Am Csus2
  DR: "[c4,d4]@2 ~ [d4,f4]@4 ~ [d4,f4]@2 ~ [d4,f4]@4 ~", DS: "[d4,f4] ~@2 [c4,d4]@4 ~ [b3,d4]@2 ~ [a3,d4]@4 ~",
  DT: "[[c4,d4]@2 ~ [b3,d4]@4 ~ [a3,d4]@2 ~@9 [db4,f4]@7 ~ [db4,f4]@4 ~, ~@11 ab3@16 ~@5]/2", // Csus2 Bm D5 Db
  DU: "[db4,f4]@2 ~ [ab4,c5]@4 ~ [ab4,db5]@2 ~ [ab4,eb5]@5", DV: "[ab4,db5]@2 ~ [c4,f4]@4 ~ [db4,f4]@2 ~ [f4,g4]@4 ~",
  DW: "g4@2 ~ [g4,b4]@4 ~ [g4,b4]@2 ~ [g4,b4]@4 ~", DX: "[g4,b4]@2 [g4,b4]@3 ~@3 [g4,b4] ~@2 [g4,b4]@4 ~",
  DY: "[g4,b4] ~ [b3,f4,g4,b4]@8 ~ [c4,e4,g4]@4 ~", // G G7 C
  DZ: "[~@3 [gb3,c4,gb4]@8 [d3,f3,a3,c4,f4,a4,c5]@7 ~ [db3,f3,b3,eb5]@8 [g3,c4,e4]@3 ~@2, ~ [eb3,a3]@4 ~@4 g4@4 ~@3]/2", // Gbdim Dm7 Db7 C Ebdim
  EA: "[g3,c4,e4] ~@7 [g3,c4,e4]@2 ~@6", EB: "[a3,c4,f4]@2 ~@6 [a3,c4,f4] ~@7",
  EC: "[g3,c4,g4]@2 ~@6 [a3,c4,gb4] ~@2 [a3,c4,f4]@3 ~@2", ED: "~@3 [g3,b3,eb4,g4]@8 [g3,c4,e4,g4]@3 ~@2",
  EE: "[g3,c4,e4]@2 ~ [g3,c4,d4]@3 ~@2 [g3,c4,d4] ~@2 [g3,c4,d4]@3 ~@2", // C Gsus4
  EF: "[g3,c4,d4] ~@2 [g3,c4,e4]@3 ~@2 [g3,c4,e4] ~@2 [c4,f4,g4,c5]@3 ~@2", // Gsus4 C Csus4
  EG: "[c4,f4,g4,c5] ~@2 [c4,f4,g4,c5]@4 ~ [c4,e4,g4,c5] ~@2 [g3,c4,e4,g4]@3 ~@2", // Csus4 C
  EH: "[g3,c4,e4,g4] ~@2 [g3,c4,d4,g4]@4 ~ [g3,c4,d4,g4] ~@2 [a3,d4,f4]@4 ~", // C Gsus4 Dm
  EI: "[a3,d4,f4] ~@2 [d4,f4]@3 ~@2 [a3,d4,f4] ~@2 [a3,d4,f4]@3 ~@2, ~@2 a3@3 ~@11", // Dm
  EJ: "[a3,f4] ~@2 [a3,d4,f4]@4 ~ [a3,d4,f4] ~@2 [f3,a3,d4]@3 ~@2, d4 ~@7", // Dm
  EK: "[a3,d4] ~@2 [f3,a3,d4]@4 ~ [f3,a3,d4] ~@2 [f3,a3,d4]@3 ~@2, f3 ~@7", // D5 Dm
  EL: "[f3,a3,d4] ~@2 [f3,a3,d4]@4 ~ [f3,a3,d4] ~@2 [a3,d4,f4]@2 ~@3", EM: "~@3 c4@2 ~@11",
  EN: "~@3 [a3,c4]@2 ~@6 [d4,f4]@2 ~@3", EO: "~@3 c4@2 ~@5 b3 d4@2 ~@3",
  EP: "~@2 a3 g3@2 ~@6 a3@3 ~@2, ~@3 c4 ~@6 e3@2 ~@4", EQ: "~@3 [a3,db4]@2 ~@5 [g3,db4,e4]@3 ~@3, ~ e3 ~@6",
  ER: "[~@3 [g3,db4,e4]@2 ~@6 [a3,d4,f4]@7 ~ [d4,f4,a4]@4 ~ [d4,f4,a4] ~@2 [eb4,f4,b4]@4 ~]/2", // Dbdim Dm Fm7b5
  ES: "[f4,b4] ~@2 [eb4,f4,ab4,b4]@4 ~ [eb4,ab4,b4]@2 ~ [eb4,gb4,bb4]@4 ~, eb4@2 ~@6 f4 ~@7", // Fdim Fm7b5 Abm Ebm
  ET: "[eb4,gb4,bb4] ~@2 [gb4,bb4]@4 ~ [b3,gb4] ~@2 [b3,db4,gb4]@4 ~, ~ db4@2 ~@5", // Ebm Gb B5 Bsus2
  EU: "[b3,db4,gb4]@2 ~ [bb3,db4,gb4]@4 ~ [b3,f4,g4]@2 ~ [b3,f4,g4,b4]@5", // Bsus2 Gb G7
  EV: "[~@3 b3@2 [b3,f4,g4] ~@2 [b3,f4,g4] ~@2 [f4,g4]@7 ~@14, ~@2 [f4,g4]@2 ~@7 b3@5 ~@16]/2", // G7 Fsus2
  EW: "[g3,c4,e4] ~@2 [a3,c4,f4]@4 ~ [c4,f4]@2 ~ gb4@4 ~, ~@8 a3 ~ [a3,c4]@4 ~@2", // C F F5 Am
  EX: "[a3,c4,gb4] ~@2 [g3,c4,g4]@4 ~ [g3,c4,g4]@2 ~ [a3,c4]@4 ~", // Gbdim C5 Am
  EY: "[a3,c4] ~@2 [a3,c4]@4 ~ [a3,c4] ~@2 [f3,a3,b3,e4]@5", // Am Fmaj7
  EZ: "[~@3 g5@5 g5@3 [c5,e5,g5,c6]@32 [c4,c5,c6]@5, ~@3 [g4,b4,eb5]@8 ~@37]/3", // C Gaug
})).s("gm_string_ensemble_1").gain(0.3)

// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
  ~@23 A ~@2 B ~@5 C ~@11 D@2 ~@23 E@13 ~@4 F G H I J ~@2 K ~@2 L M ~@17 N@2 O ~@2 P ~@5 Q ~ R ~@8 S T@9 U V W@2 X Y T@2
  ~@17 Z@2 ~@27 AA AB AC AD ~@15
>`.pickRestart({
  A: "db4@2 ~@3 db4 ~@7 ab3 ~@2", B: "~@5 db4 ~@10", C: "gb3@3 ~@13", D: "[~ [gb3,a3,db4] [e3,ab3,b3] ~, ~ e4@2 ~]/2",
  E: "bb3@2 ~@3 [f3,bb3,d4] ~@2 [f3,bb3]@2 ~@3 [f3,bb3,d4] ~@2", F: "bb3 ~@4 bb3 ~@10", G: "~@8 bb3@2 ~@3 bb3 ~@2",
  H: "~@5 bb3 ~@7 bb3 ~@2", I: "~@5 bb3 ~@10", J: "[bb3,c4]@3 ~@10 eb4 ~@2", K: "~@5 gb3 ~@2 gb3 ~@7",
  L: "~@5 [a3,eb4] ~@10", M: "~@8 [eb4,a4]@3 ~@5", N: "[g3@3 [gb3,gb4], eb4, bb3 ~]/2", O: "[f3,bb3]",
  P: "~@8 bb3@3 ~@5", Q: "db4@3 ~@10 b4@2 ~", R: "~@5 gb3@2 ~@9", S: "~@5 c4 ~@7 c4@2 ~, ~@13 ab3 ~@2",
  T: "~@5 [ab3,c4,eb4] ~@7 [ab3,c4,eb4] ~@2", U: "~@5 c4 ~@2 ab4@2 ~@3 c4@2 ~, ~@13 ab3 ~@2",
  V: "~@5 [ab3,c4,eb4] ~@2 c5@2 ~@3 [eb4,ab4,c5] ~@2", W: "~@5 [bb3,db4,f4] ~@7 [bb3,db4,f4] ~@2",
  X: "~@5 [bb3,db4,ab4] ~@7 [bb3,db4,g4] ~@2", Y: "~@5 [bb3,db4,g4] ~@7 [db4,f4,bb4] ~@2", Z: "[~@5 a3@15 ~@12]/2",
  AA: "~@3 [g3,e4]@2 ~@6 [g3,b3,d4]@2 ~@3", AB: "~@3 g3@2 ~@6 a3@2 ~@3", AC: "~@3 e4@2 ~@5 g3@2 ~@4, ~ g3 ~@6",
  AD: "~@10 db4@3 ~@3",
})).s("gm_string_ensemble_1").gain(0.12)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@4 A@17 B@3 C D@3 E F G H@2 I@2 J K L M N O P Q ~ R S T@3 U V W X Y Z AA AB AC AD@3 AE AF ~ AG ~ AH AI AJ ~@13 AK@2
  AL AM AN AO AN@4 AP AQ AR@2 AS@2 AT AN AU AN@9 AV AW AX AY AZ BA BB BC AN@2 AY BD BE@7 BF@2 BG@2 BH BI BJ BK BL@13 BM
  BL@4 ~@18 BN BO@6 BP BQ@3 BP@2 BR BS BT BU BV@2 BT BO@7 BW BX BY BZ CA CB CC CD CE CF CG CH BN CI CJ CK CL@3 ~
>`.pickRestart({
  A: "c2 ~ g1 ~", B: "ab1@5 ~@3 eb2@5 ~@3", C: "ab1@3 ~ c2@2 ~@2", D: "db2@3 ~ ab1@3 ~", E: "db2@6 ~@2 ab1@5 ~@3",
  F: "a1@3 ~ e1@3 ~", G: "a1@3 ~ db2@3 ~", H: "d2@3 ~ a1@3 ~", I: "bb1 ~@3", J: "a1@5 ~@3 ab1@6 ~@2",
  K: "g1@7 ~ [d1,d2]@5 ~@3", L: "b1@3 ~ g1@3 ~", M: "[c1,c2]@5 ~@3 g1@6 ~@2", N: "a1@7 ~ [e1,e2]@6 ~@2",
  O: "[d1,d2]@7 ~ g1@6 ~@2", P: "[c1,c2]@7 ~ c2@7 ~", Q: "b1", R: "~@8 b1@7 ~", S: "e2@3 ~ d2@3 ~",
  T: "[eb1,eb2]@3 ~ bb1@3 ~", U: "[eb1,eb2]@5 ~@3 [bb1,bb2]@4 ~@4", V: "~@2 f2 ~", W: "f2@7 ~ c2@6 ~@2",
  X: "~@8 g2@5 ~@3", Y: "g2@2 d2 ~", Z: "eb2@7 ~ bb1@5 ~@3", AA: "[e1,e2]@3 ~ b1@3 ~", AB: "[e1,e2]@7 ~ ab1@6 ~@2",
  AC: "a1@7 ~ [e1,e2]@5 ~@3", AD: "a1@4 ~@4 a1@5 ~@3", AE: "a1@5 ~@3 a1@5 ~@3", AF: "~@4 e2@3 ~", AG: "a1@5 ~@11",
  AH: "a1@11 ~@5", AI: "g1@2 ~@3 bb1@2 ~@6 e2@2 ~", AJ: "f2@3 ~@13", AK: "~@13 f1 ~@2", AL: "f1@3 ~ f1@3 ~",
  AM: "f1@3 ~@13", AN: "bb1@3 ~ f1@3 ~", AO: "bb1@5 ~@11", AP: "bb1@5 ~@3 f1@5 ~@3", AQ: "b1@4 ~@4 gb1@5 ~@3",
  AR: "~@4 gb1@3 ~", AS: "b1@6 ~@2 f1@7 ~", AT: "b1@3 ~@5 b1@7 ~", AU: "d2@7 ~@9", AV: "b1@3 ~ gb1@3 ~",
  AW: "b1@3 ~ gb2@3 ~", AX: "b2@3 ~ b1@3 ~", AY: "bb1@3 ~ f2@3 ~", AZ: "bb2@3 ~ f2@3 ~", BA: "c2@3 ~ f1@3 ~",
  BB: "[c1,c2]@3 ~ f1@3 ~", BC: "bb1", BD: "gb2@5 ~@3 b1@5 ~@3", BE: "e2@5 ~@3 b1@5 ~@3", BF: "f2@5 ~@3 c2@5 ~@3",
  BG: "f2@4 ~@4 f2@5 ~@3", BH: "b1@5 eb2@3 ab2@4 ~ eb2@3", BI: "ab2@5 ~@3 b1@7 ~", BJ: "e2@3 ~@5 e2@8",
  BK: "bb2@5 ~@3 eb2@5 ~@3", BL: "ab2@5 ~@3 eb2@5 ~@3", BM: "f2@5 ~@3 eb2@5 ~@3", BN: "~@11 c2@5",
  BO: "~@3 g1@5 ~@3 c2@5", BP: "~@3 g1@5 ~@3 db2@5", BQ: "~@3 ab1@5 ~@3 db2@5", BR: "~@3 [db1,db2]@7 ~ [c1,c2]@5",
  BS: "~ eb2@3 ~ d2@3", BT: "~@3 db2@5 ~@3 c2@5", BU: "~@3 g2@6 ~@2 d2@5", BV: "[~@3 g2@6 ~@2 e2@7 eb2@6 ~@2 d2@6]/2",
  BW: "~@3 g1@5 ~@3 b1@4 ~", BX: "~@3 c2@5 ~@3 d2@5", BY: "~@3 e2@6 ~@2 b1@5", BZ: "~@3 c2@4 ~@4 d2@4 ~",
  CA: "~@3 e2@6 ~@2 a1@5", CB: "~@3 a1@5 ~@3 a1@5", CC: "~@3 a1@6 ~@2 d2@5", CD: "~@3 d2@6 ~@2 db2@5",
  CE: "~@3 db2@5 ~@3 gb2@4 ~", CF: "~@3 db2@4 ~@4 gb2@5", CG: "~@3 db2@5 ~@3 db2@5",
  CH: "~@3 db2 ~ db2 ~@2 db2 ~@2 db2@4 ~", CI: "~@3 d2@5 ~@3 eb2@5", CJ: "~@3 e2@6 ~@2 eb2@5",
  CK: "~@3 d2@5 ~@3 db2@4 ~", CL: "[~@3 g2@5 ~@3 c2@31 ~ c2@5]/3",
})).s("gm_acoustic_bass").gain(0.2)

// bass · acoustic bass · "ACOU BASS" · soft notes
const bass_soft = note("<~@62 A B C D ~ E F G@13 H@2 ~@3 I ~@6 J@2 ~@4 K ~@119>".pickRestart({
  A: "a1@3 ~@5", B: "a1@5 ~@3 a1@5 ~@3", C: "~@4 e2@3 ~", D: "a1@6 ~@2 bb1@5 ~@3", E: "~@3 a1@2 ~@3 c2@2 ~ d2 ~@4",
  F: "~@8 b1@7 ~", G: "bb1@5 ~@3 f1@5 ~@3", H: "f1@3 ~", I: "~@8 f1@5 ~@3", J: "b1@5 ~@11", K: "~@8 f1@7 ~",
})).s("gm_acoustic_bass").gain(0.12)

// other · flute
const flute = note(`<
  ~@10 A B C ~ D ~@5 E F G ~ H I J ~ K L M N ~@15 O P Q R S T ~@6 U V W X U X Y Z AA AB ~@13 AC@2 AD AE ~ AF AG AH ~ AI
// … 212 more lines

More by Loesser