Strudelify

On My Own (From "Les Miserables")

Claude- Michel Schönberg

KeyB♭ majorTempo80 bpm
0:00/0:00
// On My Own (From "Les Miserables") — Claude-Michel Schonberg
// 80 bpm, 4/4, key A# 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, 2/4 at bar 6, 6/4 at bar 7, 3/4 at bar 8, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 181 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · flute
const flute = note(`<
  A@3 B C D E F@3 ~ G@2 H I J@5 K L@3 ~@6 M N O P Q R ~@17 S T U V W X U Y Z X ~ AA AB AC AD AE ~ AF AG@4 ~ AH@2 AI@2
  AJ@2 AK AL AM AN AO ~@3 AP AQ AR AS AT@4 ~@9 AU@3 ~@6 AV@3 AW@5 AX AY@4 AZ@5 BA@2 BB@2 ~@8 BC BD BE BF BG@3 ~@7 BH BI
  BJ BK BL BI BJ BM@4 BN@3 ~@7
>`.pickRestart({
  A: "[~@2 [f5,ab5]@2 ~ eb5@2 c5@2 ~ ab5 ~ f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2]/3", // Fm
  B: "~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2",
  C: "f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~",
  D: "bb5@2 f5@2 ~ eb5@2 db5@2 ~ bb5@2 f5@2 ~ eb5@2 db5@2 ~@21 [ab5,eb6]@2 ~@6", // Ab5
  E: "~@13 [eb6,f6]@2 ~@18 bb4@2 ~ eb5@2 gb5@2 b5@3 ~@2 b5@2 ~", // Ebsus2
  F: "[~ b5@2 ~ b5@2 b5@3 ~ b5@2 ~@3 b5@2 b5@2 ~ b5@2 bb5@2 b5@2 db6@4 ~@10 eb6@2 db6@2 ~ eb6@2 f6@2 eb6@2 ~ f6@2 gb6@2 f6@2 gb6@2 ~ f6@46 ~@37]/3",
  G: "[~@33 ab5@9 ~@5 g5@9 ~@5 ab5@9 ~@4 g5@9 ~@5 f5@8]/2", H: "~@2 e5@3 ~@11",
  I: "~@31 g5@2 g5@2 ~ f5@2 g5@2 [f5,a5]@8", // F
  J: "[~@6 [g5,bb5]@2 [a5,c6]@9 ~@3 [bb5,d6]@3 ~ [bb5,d6]@3 ~@2 [bb5,d6]@2 [bb5,d6]@2 [bb5,d6]@3 ~@2 [bb5,d6]@3 ~ [bb5,d6]@2 ~ [g5,bb5]@2 [f5,a5]@9 ~@5 [g5,bb5]@2 [a5,c6]@9 ~@2 [bb5,eb6]@2 ~ [bb5,d6]@2 ~@2 [bb5,eb6]@2 ~ [bb5,d6]@2 ~@2 [bb5,eb6]@2 [bb5,d6]@2 ~@3 [bb5,eb6]@2 [bb5,d6]@2 ~@3 [a5,c6]@9 ~@5 [g5,c6]@2 [g5,c6]@2 [g5,c6]@2 [g5,c6]@4 ~@3 [a5,c6]@9 ~@5 [g5,a5]@2 [g5,a5]@2 ~ [g5,a5]@2 [g5,a5]@4 ~@3 bb5@9 ~@4 ab5@9 ~@5 bb5@9 ~@5 ab5@9 ~@5 [c6,eb6]@9 ~@4 [bb5,eb6]@15, ~@157 db6@46 ~@37]/5", // Gm Am Bb Gm F Gm Am Eb5 …
  K: "~@13 [c6,e6]@2 ~@18 f6@10 ~@5", // C
  L: "[~ f6@11 ~@5 f6@12 ~@7 f6@29 ~@14 eb6@29 ~ f6@5 eb6@6 [b5,d6]@24, ~@109 c6@8 ~@27]/3", M: "c6 ab5 eb5 c5@8 ~@5",
  N: "ab5@2 ~ g5 g5@2 f5@2", O: "g5 eb5 g5@8 ~@6", P: "g5@3 [f5,ab5] [g5,bb5]@8 ~@4",
  Q: "[eb5,g5] [f5,ab5] [ab5,c6] [c6,eb6]@6 ~@7", R: "ab5@4 ~@2 g5@2 g5@3 ~ f5@3 ~",
  S: "~@4 [f4,a4] [a4,c5] [c5,f5] [f5,a5] [g5,b5]@3 ~ [b5,e6]@3 ~", // F Am F5 F G E5
  T: "~@4 [eb4,g4] [g4,bb4] [bb4,eb5] [eb5,g5] [f5,a5]@6 ~@2", U: "~@4 bb5@3 ~ a5@6 ~@2", V: "g5@6 ~@2 c6@3 bb5@3 c6@2",
  W: "g5@6 ~@2 [g5,bb5]@3 ~ [g5,c6]@2 d6@2", X: "[bb5,eb6]@4 ~@2 [bb5,d6]@2 [a5,d6]@3 ~ [a5,c6]@3 ~",
  Y: "g5@6 ~@2 [d6,g6]@2 [d6,f6]@3 ~ [bb5,d6] [a5,c6]", Z: "[g5,bb5]", AA: "~@4 d5 f5 bb5 d6 eb6@2 d6@3 ~ bb5@2",
  AB: "bb5 ~", AC: "~@4 eb6 d6 c6 f6", AD: "d6", AE: "[bb5,d6]@3 [c6,eb6] [d6,f6]@8 ~@4",
  AF: "~@15 d5@3 f5@3 ~ bb5@3 d6@3 c6@10 bb5@10",
  AG: "[c6@6 ~ d6@13 d5@3 f5@3 ~ bb5@3 d6@3 ~ c6@10 bb5@10 ~ c6@7 g5@14 eb5@3 ~ g5@3 bb5@3 ~ d6@3 c6@11 ~ bb5@11 c6@7 bb5@63 ~@9]/4",
  AH: "[~@21 f5@2 bb5@4 ~ f5@2 bb5@7 ~@3 f5@2 bb5@4 ~ f5@2 bb5@7 ~@3 f5@2 bb5@4 ~ f5@2 ~@3 ab5 gb5 f5@4 ~ eb5@2 ~ a5@4 eb5@2 ~ a5@7 ~, ~@69 bb5@4 ~@23]/2",
  AI: "[~@21 eb5@2 a5@4 ~ eb5@2 a5@7 ~@3 eb5@2 a5@4 ~ eb5@2 a5@7 ~@3 eb5@2 a5@4 ~ eb5@2 ~@3 g5 f5 eb5@4 ~ db5@2 ~ eb5@2 e5@2 f5@10 ~, ~@69 a5@4 ~@23]/2",
  AJ: "[~@21 [gb5,bb5]@38 [f5,bb5]@37]/2", AK: "~ [e5,bb5]@38 ~ [f5,a5]@4 ~@4", AL: "~ [g5,bb5]@4 ~@6 [a5,c6]@19 ~@18",
  AM: "~@15 [d5,f5]", AN: "~ [f5,bb5]@4 ~@43", AO: "~@25 [e5,g5]@3 ~@7 [g5,c6]@3 ~@10",
  AP: "~@16 [e6,f6]@3 ~@16 [e6,f6]@3 ~@10", AQ: "~@16 [d5,f5]@4 ~ [f5,bb5]@4 ~@20 [e6,f6]@3",
  AR: "~@16 [e6,f6]@3 ~@26 [e5,g5]@3", // Fmaj7 Em
  AS: "~@6 [g5,c6]@3 ~@2 [a5,c6]@2 [a5,c6]@2 ~ [a5,c6]@2 [a5,c6]@2 ~ [a5,c6]@3 ~ [g5,bb5]@3 ~@2 [g5,bb5]@3 ~@2 [f5,a5]@6 ~@7", // C5 Am Gm F
  AT: "[~ [a5,d6]@2 ~ [a5,d6]@2 [a5,d6]@2 ~ [a5,eb6]@2 [a5,d6]@3 ~@2 [a5,c6]@3 ~@2 [g5,bb5]@10 ~@9 [bb5,eb6]@2 [bb5,eb6]@2 ~ [bb5,eb6]@2 [bb5,eb6]@2 [bb5,eb6]@3 ~@2 [bb5,eb6]@2 ~ [bb5,eb6]@2 [bb5,eb6]@2 [bb5,eb6]@2 ~ [bb5,eb6]@2 [bb5,eb6]@2 ~ [bb5,eb6]@3 ~ [bb5,eb6]@2 ~ [bb5,eb6]@2 [bb5,eb6]@2 ~ [bb5,eb6]@2 [bb5,eb6]@2 [bb5,eb6]@2 ~ [bb5,eb6]@2 [bb5,eb6]@2 ~ [a5,d6]@2 [g5,c6]@2 [f5,bb5]@2 ~ [d5,f5]@2 [f5,bb5]@2 ~ [d5,f5]@2 [g5,bb5]@3 ~@7 [f5,bb5]@2 [d5,f5]@2 [f5,bb5]@2 ~ [d5,f5]@2 [g5,bb5]@3 ~@7 [f5,bb5]@2 [d5,f5]@2 ~ [f5,bb5]@2 [d5,f5]@2 [g5,bb5]@2 ~ [f5,a5]@2 [g5,bb5]@2 ~ [a5,c6]@2 [bb5,d6]@3 ~@2 [c6,f6]@3 ~@2 [d6,bb6]@3 ~@24]/4", // D5 Adim D5 Am Gm Eb5 D5 C5 …
  AU: "[~@43 g5@11 ~ gb5@11 e5@7 g5@11 ~ e5@3 [e5,a5]@45 ~@11]/3", // A5
  AV: "[~@46 g5@11 ~ gb5@11 e5@7 g5@11 ~ e5@3 [e5,a5]@44 ~ a4@7 ~]/3", // A5
  AW: "[d5@7 d5@22 ~ d5@7 eb5@7 ~ d5@7 eb5@7 ~ f5@7 f5@45 d5@7 ~ bb5@7 bb5@7 ~ f5@7 f5@7 ~ d5@7 d5@7 ~ bb4@7 bb4@7 ~ c5@7 bb4@45 bb4@7 ~]/5",
  AX: "g5@7 g5@22 ~ g5@7 g5@7 ~ gb5@3",
  AY: "[~@4 g5@7 ~ a5@7 b5@45 b5@7 ~ a5@7 g5@45 gb5@7 ~ e5@7 g5@22 ~ gb5@7 e5@23]/4",
  AZ: "[~@7 c6@30 d6@30 c6@60 a5@30 b5@30 c6@45 ~@8]/5", BA: "[~@7 [bb5,d6]@30 [g5,db6]@30 [a5,d6]@29]/2",
  BB: "[~ bb5@3 ~ a5@3 ~ g5@3 ~ f5@3 bb5@3 ~ a5@3 ~ g5@3 ~ f5@3 bb5@3 ~ a5@3 ~ g5@3 ~ f5@3 [g5,c6]@45 ~@5]/2", // C5
  BC: "~@5 c5@3 c5 f5@3 e5 f5@3", BD: "g5 ab5@3 g5 f5@3 ab5 g5@3 f5 eb5@3",
  BE: "f5@3 g5@12 ~@4 g5@4 ab5@4 bb5@9 ab5@3 g5@9", BF: "ab5@3 bb5@6 ab5@6 ~@4 g5@4 bb5@4 ab5@9 g5@3 f5@9",
  BG: "[g5@3 ab5@18 ~@3 f5@3 ab5@4 g5@4 f5@4 ab5@4 g5@4 f5@4 ab5@4 g5@4 f5@4 ab5@4 g5@4 ab5@4 bb5@36 ~@33]/3",
  BH: "~@5 c6@3 bb5 ab5@3 bb5 c6@3", BI: "db6@3 eb6@12 c6@4 bb5@4 ab5@4 g5@9 f5@3 g5@9",
  BJ: "ab5@3 eb5@12 f5@4 eb5@4 db5@4 c5@9 eb5@3 ab5@9", BK: "c6 bb5@3 a5 bb5@3 f5 ab5@3 g5 g5@3",
  BL: "ab5 bb5@4 c6@3 bb5 ab5@3 bb5 c6@3",
  BM: "[c6@3 bb5@4 a5@4 bb5@4 db6@9 g5@3 ab5@48 [gb5,bb5]@48 [ab5,c6]@48 [c6,f6]@21]/4", // Gb Ab F5
  BN: "[~@9 bb5@6 ~ db6@6 eb6@6 ~ [eb6,ab6]@75 ~@40]/3", // Ab5
})).s("gm_flute").gain(0.2)

// chords · clarinet
const clarinet = note(`<
  A@3 B C D E F@6 G H I@5 J K@3 ~ L M N O P Q R S T@2 U V W X Y Z AA AB AC ~@9 AD AE AF AG AH AI AF AJ AK AI ~ AL AM AN
  AO AP ~ AQ AR AS@3 ~ AT@2 AU@2 ~ AV AW AX AY AZ BA ~@3 BB BC BD BE BF@4 ~@31 BG@5 BH@2 BI@2 ~@8 BJ BK BL BM BN@3 ~@7
  BO BP BQ BR BS BP BQ BT@4 BU@3 ~@7
>`.pickRestart({
  A: "[~@2 [f5,ab5]@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2]/3", // Fm
  B: "~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2",
  C: "f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~ ab5@2 f5@2 ~ eb5@2 c5@2 ~",
  D: "bb5@2 f5@2 ~ eb5@2 db5@2 ~ bb5@2 f5@2 ~ eb5@2 db5@2 ~@21 [ab4,eb5]@2 ~@6", // Ab5
  E: "~@13 [eb5,f5]@2 ~@18 bb3@2 ~ eb4@2 gb4@2 b4@3 ~@2 b4@2 ~", // Ebsus2
  F: "[~ b4@2 ~ b4@2 b4@3 ~ b4@2 ~@3 b4@2 b4@2 ~ b4@2 bb4@2 b4@2 db5@4 ~@10 eb5@2 db5@2 ~ eb5@2 f5@2 eb5@2 ~ f5@2 gb5@2 f5@2 gb5@2 ~ f5@46 ~@11 f4@2 g4@2 ab4@2 ~ bb4@2 c5@2 c5@2 ~ bb4@2 ab4@2 ab4@2 g4@2 ~ f4@2 g4@2 f4@7 ~@21 f4@2 g4@2 ab4@2 ~ bb4@2 c5@2 c5@2 bb4@2 ~ ab4@2 ab4@2 g4@2 ~ f4@2 f4@9 ~@14 ab4@2 bb4@2 c5@3 ~@2 c5@3 ~ bb4@2 ~ ab4@2 bb4@4 ~@5 ab4@2 bb4@2 ~ c5@2 c5@2 c5@2 ~ c5@2 bb4@2 ab4@2 bb4@3 ~@2 bb4@2 ~@3 ab4@2 bb4@2 c5@3 ~@2 c5@3]/6",
  G: "~ bb4@2 ~ ab4@2 bb4@5 ~@2 bb4@2 ab4@2 g4@2 ~ f4@9 ~@19",
  H: "~ f4@2 ~ f4@2 f4@2 ab4@2 g4@2 ~ g4@2 f4@5 ~@2 f4@2 g4@2 g4@2 ~ f4@2 ~@9 [f5,a5]@8", // F
  I: "[~@6 [g5,bb5]@2 [a5,c6]@9 ~@3 [bb5,d6]@3 ~ [bb5,d6]@3 ~@2 [bb5,d6]@2 [bb5,d6]@2 [bb5,d6]@3 ~@2 [bb5,d6]@3 ~ [bb5,d6]@2 ~ [g5,bb5]@2 [f4,a4]@9 ~@5 [g4,bb4]@2 [a4,c5]@9 ~@2 [bb4,eb5]@2 ~ [bb4,d5]@2 ~@2 [bb4,eb5]@2 ~ [bb4,d5]@2 ~@2 [bb4,eb5]@2 [bb4,d5]@2 ~@3 [bb4,eb5]@2 [bb4,d5]@2 ~@3 [a4,c5]@9 ~@5 [g4,c5]@2 [g4,c5]@2 [g4,c5]@2 [g4,c5]@4 ~@3 [a4,c5]@9 ~@5 [g4,a4]@2 [g4,a4]@2 ~ [g4,a4]@2 [g4,a4]@4 ~@3 bb4@9 ~@4 ab4@9 ~@5 bb4@9 ~@5 ab4@9 ~@5 [c5,eb5]@9 ~@4 [bb4,eb5]@15, ~@157 db5@46 ~@37]/5", // Gm Am Bb Gm F Gm Am Eb5 …
  J: "~@13 [c6,e6]@2 ~@18 f5@10 ~@5", // C
  K: "[~ f5@11 ~@5 f5@12 ~@7 f5@29 ~@14 eb5@29 ~ f5@5 eb5@6 [b4,d5]@24, ~@109 c5@8 ~@27]/3", // Bm
  L: "~ [ab4,c5] [bb4,d5] [c5,eb5] [f4,ab4] [g4,bb4] [ab4,c5] [c4,eb4]", M: "[g3,bb3]",
  N: "~ [ab4,b4] [bb4,db5] [b4,eb5] [f4,ab4] [gb4,bb4] [ab4,b4] [b3,eb4]", // Abm Bbm B Fm Gb Abm B
  O: "[g3,bb3]@2 [g3,bb3]@3 ~ [g3,bb3]@2 [g3,bb3]@2 [g3,bb3]@3 ~ [g3,bb3]@2", // Gm
  P: "[g3,c4]@2 [g3,c4]@3 ~ [g3,c4]@2 [g3,c4]@2 [g3,c4]@3 ~ [g3,c4]@2", // C5
  Q: "[ab3,c4]@2 [ab3,c4]@3 ~ [ab3,c4]@2 [ab3,c4]@2 [ab3,c4]@3 ~ [ab3,c4]@2", // Ab
  R: "[ab3,c4]@2 [ab3,c4]@3 ~ [ab3,c4]@2 [ab3,c4]@2 [ab3,c4]@3 ~ [bb3,d4]@2", // Ab Bb
  S: "[bb3,eb4]@2 [bb3,eb4]@3 ~ [bb3,eb4]@2 [bb3,eb4]@2 [bb3,eb4]@3 ~ [bb3,eb4]@2", // Eb5
  T: "[c4,eb4]@2 [c4,eb4]@3 ~ [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@3 ~ [c4,eb4]@2", // Cm
  U: "[c4,eb4]@2 [c4,eb4]@3 ~ [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@3 ~@3", V: "ab4 f4 c4 ab3@6 ~@7",
  W: "~@4 g3 bb3 eb4 g4 ~ bb3 ~ eb4@3 f4@2, ~@4 f4 g3@2 ~", X: "g4 eb4 c4 ab3@12 ~",
  Y: "~@4 ab3 c4 eb4 ab4 ~ d4 ~ ab4@3 g4@2, ~@4 g4 bb3@2 ~",
  Z: "g4 eb4 bb3 g3@3 [bb3,eb4,g4]@2 bb4 g4 eb4 bb3@3 [bb3,eb4,g4]@2", // Eb
  AA: "[c4,eb4,g4]@3 [f4,ab4] bb4@2 bb4@2 c5@2 bb4@2 [f4,ab4]@2 [eb4,g4]@2, ~@2 [eb4,g4]@3 ~@3", // Cm Fm Eb
  AB: "g4 eb4 c4 ab3@3 [ab3,c4,eb4]@2 eb4 c4 ab3 eb3@3 [ab3,c4,eb4]@2", // Ab
  AC: "[c4,eb4]@2 [c4,eb4]@4 g4@2 [bb3,d4,g4]@2 ~@2 f4@3 ~, ab4@2 ~@3 [bb3,d4]@2 ~", // Cm Gm Bb
  AD: "~@4 [f4,a4] [a4,c5] [c5,f5] [f5,a5] [g5,b5]@3 ~ [b5,e6]@3 ~", // F Am F5 F G E5
  AE: "~@4 [eb4,g4] [g4,bb4] [bb4,eb5] [eb5,g5] [f5,a5]@6 ~@2", AF: "~@4 bb5@3 ~ a5@6 ~@2",
  AG: "g5@6 ~@2 c6@3 bb5@3 c6@2", AH: "g5@6 ~@2 [g5,bb5]@3 ~ [g5,c6]@2 d6@2",
  AI: "[bb5,eb6]@4 ~@2 [bb5,d6]@2 [a5,d6]@3 ~ [a5,c6]@3 ~", AJ: "g5@6 ~@2 [d6,g6]@2 [d6,f6]@3 ~ [bb5,d6] [a5,c6]",
  AK: "[g5,bb5]", AL: "~@4 d4 f4 bb4 d5 eb5@2 d5@3 ~ bb4@2", AM: "bb4 ~", AN: "~@4 eb5 d5 c5 f5", AO: "d5",
  AP: "[bb4,d5]@3 [c5,eb5] [d5,f5]@8 ~@4", AQ: "~@22 [bb4,d5]@6 [bb4,d5]@3 d5@3 ~ bb4@10 ~@3",
  AR: "[bb4,d5]@6 ~ [bb4,d5]@6 [bb4,d5]@10 ~@4 [bb4,d5]@7 [bb4,d5]@7 [bb4,d5]@7", // Bb
  AS: "[~@7 [bb4,d5]@7 [g4,bb4]@7 [g4,bb4]@10 ~@4 [g4,bb4]@7 [g4,c5]@93 ~@9]/3", // Bb Gm C5
  AT: "[~@21 f4@2 bb4@4 ~ f4@2 bb4@7 ~@3 f4@2 bb4@4 ~ f4@2 bb4@7 ~@3 f4@2 bb4@4 ~ f4@2 ~@3 ab4 gb4 f4@4 ~ eb4@2 ~ a4@4 eb4@2 ~ a4@7 ~, ~@69 bb4@4 ~@23]/2",
  AU: "[~@21 eb4@2 a4@4 ~ eb4@2 a4@7 ~@3 eb4@2 a4@4 ~ eb4@2 a4@7 ~@3 eb4@2 a4@4 ~ eb4@2 ~@3 g4 f4 eb4@4 ~ db4@2 ~ eb4@2 e4@2 f4@10 ~, ~@69 a4@4 ~@23]/2",
  AV: "~@11 [f4,bb4]@37", AW: "~ [e4,bb4]@38 ~ [f4,a4]@4 ~@4", AX: "~ [g4,bb4]@4 ~@6 [a4,c5]@19 ~@18",
  AY: "~@15 [d5,f5]", AZ: "~ [f5,bb5]@4 ~@43", BA: "~@25 [g4,bb4]@3 ~@7 [c5,e5]@3 ~@10",
  BB: "~@16 [e5,f5]@3 ~@16 [e5,f5]@3 ~@10", BC: "~@16 [d5,f5]@4 ~ [f5,bb5]@4 ~@20 [e5,f5]@3",
  BD: "~@16 [e5,f5]@3 ~@26 [g4,bb4]@3", // Fmaj7 Gm
  BE: "~@6 [c5,e5]@3 ~@2 [c5,eb5]@2 [c5,eb5]@2 ~ [c5,eb5]@2 [c5,eb5]@2 ~ [c5,eb5]@3 ~ [bb4,eb5]@3 ~@2 [bb4,eb5]@3 ~@2 [a4,c5]@6 ~@7", // C Cm Eb5 Am
  BF: "[~ [d5,gb5]@2 ~ [d5,gb5]@2 [d5,gb5]@2 ~ [eb5,gb5]@2 [d5,f5]@3 ~@2 [c5,f5]@3 ~@2 [bb4,d5]@10 ~@9 [eb5,g5]@2 [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 [eb5,g5]@3 ~@2 [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 ~ [eb5,g5]@3 ~ [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 ~ [d5,f5]@2 [c5,eb5]@2 [bb4,d5]@2 ~ [f4,bb4]@2 [bb4,d5]@2 ~ [f4,bb4]@2 [bb4,eb5]@3 ~@7 [bb4,d5]@2 [f4,bb4]@2 [bb4,d5]@2 ~ [f4,bb4]@2 [bb4,eb5]@3 ~@7 [bb4,d5]@2 [f4,bb4]@2 ~ [bb4,d5]@2 [f4,bb4]@2 [bb4,eb5]@2 ~ [a4,eb5]@2 [bb4,eb5]@2 ~ [c5,eb5]@2 [d5,f5]@3 ~@2 [eb5,a5]@3 ~@2 [f5,bb5]@3 ~@24]/4", // D Ebm Dm F5 Bb Eb Dm Cm …
  BG: "[~@7 c5@30 d5@30 c5@60 a4@30 b4@30 c5@45 ~@8]/5", BH: "[~@7 [d5,f5]@30 [db5,e5]@30 [d5,f5]@29]/2",
  BI: "[~ [bb4,d5]@45 [c5,e5]@45 ~@5]/2", BJ: "~@5 [c4,c5]@3 [c4,c5] [f4,f5]@3 [e4,e5] [f4,f5]@3",
  BK: "[g4,g5] [ab4,ab5]@3 [g4,g5] [f4,f5]@3 [ab4,ab5] [g4,g5]@3 [f4,f5] [eb4,eb5]@3", // G Ab G F Ab G F Eb
  BL: "[f4,f5]@3 [g4,g5]@12 ~@4 [g4,g5]@4 [ab4,ab5]@4 [bb4,bb5]@9 [ab4,ab5]@3 [g4,g5]@9", // F G Ab Bb Ab G
  BM: "[ab4,ab5]@3 [bb4,bb5]@6 [ab4,ab5]@6 ~@4 [g4,g5]@4 [bb4,bb5]@4 [ab4,ab5]@9 [g4,g5]@3 [f4,f5]@9", // Ab Bb Ab G Bb Ab G F
  BN: "[[g4,g5]@3 [ab4,ab5]@18 ~@3 [f4,f5]@3 [ab4,ab5]@4 [g4,g5]@4 [f4,f5]@4 [ab4,ab5]@4 [g4,g5]@4 [f4,f5]@4 [ab4,ab5]@4 [g4,g5]@4 [f4,f5]@4 [ab4,ab5]@4 [g4,g5]@4 [ab4,ab5]@4 [bb4,bb5]@36 ~@33]/3", // G Ab F Ab G F Ab G …
  BO: "~@5 [eb5,g5]@3 db5 [db5,eb5]@3 [c5,eb5] [eb5,ab5]@3", // Eb Dbsus2 Cm Ab5
  BP: "[eb5,bb5]@3 [ab5,c6]@12 [eb5,ab5]@4 [db5,f5]@4 [c5,eb5]@4 [db5,eb5]@9 [bb4,db5]@3 [c5,eb5]@9", // Eb5 Ab Ab5 Db Cm Dbsus2 Bbm Cm
  BQ: "[db5,f5]@3 c5@12 db5@4 c5@4 bb4@4 ab4@9 [ab4,bb4]@3 [c5,eb5]@9", // Db Absus2 Cm
  BR: "[eb5,ab5] [d5,f5]@3 [db5,e5] [c5,eb5]@3 [bb4,d5] [db5,f5]@3 [db5,eb5] [db5,eb5]@3", // Ab5 Dm Dbm Cm Bb Db Dbsus2
  BS: "[db5,f5] [db5,g5]@4 [eb5,g5]@3 [db5,g5] [db5,eb5]@3 [c5,eb5] [eb5,ab5]@3", // Db Dbdim Eb Dbdim Dbsus2 Cm Ab5
  BT: "[[f5,ab5]@3 [db5,f5]@4 [c5,f5]@4 db5@4 [eb5,g5]@9 [db5,eb5]@3 [c5,eb5]@48 [bb4,db5]@48 [c5,f5]@48 [db5,e5]@21, ~@11 f5 ~@180]/4", // Fm Db F5 Eb Dbsus2 Cm Bbm F5 …
  BU: "[~@9 [bb4,bb5]@6 ~ [db5,db6]@6 [eb5,eb6]@6 ~ [ab5,c6]@75 ~@40]/3", // Bb Db Eb Ab
})).s("gm_clarinet").gain(0.22)

// other · alto sax · "CLARINET"
const alto_sax = note(`<
  ~@78
  [~@4 f5@5 ~@2 eb5@10 ~@27, ~ c5@23 ~@24, ~@9 e5@4 ~@35]
  ~
  [~ db5@2 ~ eb5@2 e5@2 ~ f5@10 ~@29]
  [~ bb4@3 ~ c5@3 ~@40]
  ~@99
>`).s("gm_alto_sax").gain(0.36)

// other · bassoon
const bassoon = note(`<
  A@5 B@4 C@4 D E ~ F@5 G@3 H@4 I J K L I J K L I J K L I J K L M N O P Q R S T@2 U V W X Y Z W AA Y AB AC AD AE AF AC
  AG AH AI AJ@3 AK ~ AL@2 AM@2 AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE ~@4 BF@2 BG@2 BH@4 ~ BI@2 BJ@6 BK@2
  BL@5 BM@5 BN@5 BO@2 ~@4 BP BQ BR BS BT BU BV BW BX@3 BY BZ CA CB BY BZ CC@2 BY BZ CA CB BY BZ CD@5 CE@2 ~@7
>`.pickRestart({
  A: "[~ ab2@19 ab2@20 ab2@20 ab2@20 ab2@20 ab2@20]/5",
  B: "[eb2@13 ~@7 ab2@3 ~@3 ab2@3 ~@4 ab2@3 ~@4 ab2@3 ~@4 ab2@3 ~@4 ab2@3 ~@4 ab2@3 ~@4 ab2@3 ~@3 ab2@3 ~@4 ab3@2 ~ eb3@2 ab2@2 ab2@3 ~@4 ab2@2 ab3@2 ~ eb3@2 ab2@3 ~@4 ab2@2 ab3@2 eb3@2 ~ a2@3 ~ a3@2 a2@3 ~@2 e3@2 a3@3 ~@2 b3@2 a3@3 ~@2 e3@2 ab2@3 ~@2 ab3@2 ab2@2 ~@2 ab2@2 ~ f3@2 c3@2 f2@2 ~@3 f3@2 c3@2 f3@2 ~ c3@2 f2@2 ~@3 f3@2 c3@2 f3@2 c3@2 ~ f2@2 ~]/4",
  C: "[~ f3@2 ~ c3@2 f3@2 c3@2 f2@2 ~@3 f3@2 c3@2 ~@3 f3@2 g3@2 ab3@2 ~ bb3@2 c4@2 c4@2 ~ bb3@2 ab3@2 ab3@2 g3@2 ~ f3@2 g3@2 f3@7 ~@21 f3@2 g3@2 ab3@2 ~ bb3@2 c4@2 c4@2 bb3@2 ~ ab3@2 ab3@2 g3@2 ~ f3@2 f3@9 ~@14 ab3@2 bb3@2 c4@3 ~@2 c4@3 ~ bb3@2 ~ ab3@2 bb3@4 ~@5 ab3@2 bb3@2 ~ c4@2 c4@2 c4@2 ~ c4@2 bb3@2 ab3@2 bb3@3 ~@2 bb3@2 ~@3 ab3@2 bb3@2 c4@3 ~@2 c4@3]/4",
  D: "~ bb3@2 ~ ab3@2 bb3@5 ~@2 bb3@2 ab3@2 g3@2 ~ f3@9 ~@19",
  E: "~ f3@2 ~ f3@2 f3@2 ab3@2 g3@2 ~ g3@2 f3@5 ~@2 f3@2 g3@2 g3@2 ~ f3@2 ~@17",
  F: "[~@26 bb2@3 ~@2 bb2@2 bb2@3 ~@2 bb2@2 bb2@3 ~@2 bb2@2 bb2@3 ~@2 bb2@2 f2@4 ~@3 f2@4 ~@3 c3@4 ~@2 c3@4 ~@3 f2@4 ~@3 f2@4 ~@3 c3@4 ~@3 c3@4 ~@3 gb2@4 ~@3 gb2@4 ~@2 db3@4 ~@3 db3@4 ~@3 gb2@4 ~@3 gb2@4 ~@3 db3@4 ~@3 db3@4 ~@3 ab2@4 ~@2 ab2@4 ~@3 eb2@4 ~@3 eb2@4 ~@3 eb2@4 ~@3 eb2@4 ~@3 c2@2 ~@11 f2@3 ~@4 f2@4 ~@4 f2@4 ~@3]/5",
  G: "[~ f2@4 ~@4 f2@4 ~@4 f2@4 ~@6 f2@5 ~@4 f2@5 ~@6 f2@51 bb2@46]/3", H: "eb2/2", I: "eb2@3 ~ d2@3 ~",
  J: "c2@3 ~ bb1@3 ~", K: "ab2@3 ~ g2@3 ~", L: "f2@3 ~ bb2@3 ~", M: "c2@3 ~ e2@3 ~", N: "f2@8 ~@4 ab2@3 bb2",
  O: "c3@3 ~ c2@3 ~", P: "f2@3 ~ a2@3 ~", Q: "bb2@3 ~ d2@3 ~", R: "eb2@8 ~@4 gb2@3 ab2", S: "bb2",
  T: "[eb2@3 ~ eb2@6 ~@2 eb2@8 eb2@6 ~@2 bb2@2 ab2@2]/2", U: "g2", V: "f2", W: "bb2@3 ~ bb2@3 ~ a2@3 ~ a2@3 ~",
  X: "g2@3 ~ g2@3 ~ f2@3 ~ f2@3 ~", Y: "eb2@3 ~ eb2@3 ~ d2@3 ~ d2@3 ~", Z: "c2@3 ~ c2@3 ~ f2@3 ~ f2@3 ~",
  AA: "g2@3 ~ g2@3 g2 f2@3 ~ f2@3 ~", AB: "c2@3 ~ c2@3 c2 f2@2 f2@2 f2@3 ~", AC: "bb2@2 ~ bb2 a2@2 ~ a2",
  AD: "g2@3 g2 f2@3 f2", AE: "eb2@3 eb2 d2@3 d2", AF: "c2@6 c2@2 f2@3 ~ f2@2 f2@2", AG: "g2@2 ~ g2 f2@2 ~ f2",
  AH: "eb2@18 ~@7 f2@19 ~@4", AI: "~@2 bb2@19 ~@7 a2@20",
  AJ: "[~@7 g2@20 ~@7 d2@21 ~@7 eb2@21 ~@7 f2@22 ~@8 bb2@23 ~]/3", AK: "~ bb3 f3 d3 c3 ~",
  AL: "[~@21 f3@2 bb3@4 ~ f3@2 bb3@7 ~@3 f3@2 bb3@4 ~ f3@2 bb3@7 ~@3 f3@2 bb3@4 ~ f3@2 ~@3 ab3 gb3 f3@4 ~ eb3@2 ~ a3@4 eb3@2 ~ a3@7 ~, ~@69 bb3@4 ~@23]/2",
  AM: "[~@21 eb3@2 a3@4 ~ eb3@2 a3@7 ~@3 eb3@2 a3@4 ~ eb3@2 a3@7 ~@3 eb3@2 a3@4 ~ eb3@2 ~@3 g3 f3 eb3@4 ~ db3@2 ~ eb3@2 e3@2 f3@10 ~, ~@69 a3@4 ~@23]/2",
  AN: "~@21 eb2@4 ~@5 bb2@4 ~@6 eb2@4 ~@4", AO: "~ bb2@4 ~@6 bb2@4 ~@6 f2@4 ~@5 bb2@4 ~@6 f2@4 ~@4",
  AP: "~ c3@4 ~@6 g2@4 ~@6 c2@4 ~@5 e2@4 ~@6 f2@4 ~@4", AQ: "~ g2@4 ~@6 a2@4 ~ f2@4 ~ g2@4 a2@4 ~ bb2@4 ~@6 f2@4 ~@4",
  AR: "~ bb2@4 ~@6 f2@4 ~@6 bb2@4 ~@5 f2@4 ~@6 bb2@4 ~ f2@3", AS: "~ bb2@4 ~@6 bb2@4 ~@6 f2@4 ~@5 bb2@3 ~@7 f2@3 ~@5",
  AT: "~ bb2@3 ~@7 f2@3 ~@7 c3@3 ~ g2@3 ~@2 c2@3 ~@7 f2@3 ~@5", AU: "~ c3@3 ~@7 f2@3 ~@7 c3@3 ~@6 d3@3 ~@7 a2@3 ~@5",
  AV: "~ g2@3 ~@7 g2@3 ~@2 f2@3 ~@2 eb2@3 ~@6 eb2@3 ~@7 eb2@3 ~@5",
  AW: "~ eb2@3 ~@7 f2@3 ~@2 f2@3 ~@2 g2@3 ~ a2@3 ~@2 bb2@3 ~@2 f2@3 ~@2 g2@3 ~@2 a2@3",
  AX: "~ bb2@4 ~@6 f2@4 ~@6 bb2@4 ~@5 f2@4 ~@6 bb2@4 ~@4", AY: "~ f2@4 ~@6 bb2@4 ~ f2@4 ~ bb2@4 ~@5 bb2@4 ~@6 f2@4 ~@4",
  AZ: "~ bb2@3 ~@7 f2@3 ~@7 bb2@3 ~@6 f2@3 ~@7 c3@3 ~@2 g2@3", BA: "~ c2@3 ~@7 f2@3 ~@7 c3@3 ~@6 f2@3 ~@7 c3@3 ~@5",
  BB: "~ d3@3 ~@7 a2@3 ~@7 g2@3 ~@6 g2@3 ~@2 f2@3 ~@2 eb2@3 ~@5",
  BC: "~ eb2@3 ~@7 eb2@3 ~@7 eb2@3 ~@6 f2@3 ~@2 f2@3 ~@2 g2@3 ~@2 a2@3",
  BD: "~ bb2@3 ~@2 bb2@3 ~@2 eb2@3 ~@2 eb2@3 ~@2 bb2@3 ~ bb2@3 ~@2 eb2@3 ~@2 eb2@3 ~@2 bb2@3 ~@2 bb2@3",
  BE: "~ eb2@3 ~@2 eb2@3 ~@2 f2@3 ~@2 f2@3 ~@2 bb2@3 ~@24", BF: "[~@43 db4@30 b3@22 ~]/2",
  BG: "[a3@7 ab3@30 a3@30 ab3@29]/2", BH: "[~ g3@30 gb3@60 e3@45 a2@45 ~@11]/4", BI: "[~@23 db4@15 b3@10]/2",
  BJ: "[~@3 a3@7 ab3@30 a3@30 ab3@30 g3@30 gb3@60 e3@33 ~@12 a2@44 ~@9]/6",
  BK: "[~@7 bb2@15 bb2@15 bb2@15 bb2@15 bb2@15 bb2@14]/2",
  BL: "[~ a2@15 a2@15 g2@15 g2@15 f2@15 f2@15 eb2@15 eb2@15 eb2@15 eb2@15 e2@15 e2@15 e2@15 e2@15 b2@15 b2@14]/5",
  BM: "[~ b2@15 b2@15 a2@15 a2@15 a2@15 a2@15 c3@60 f2@30 f2@30 f2@29]/5",
  BN: "[~ e2@30 d2@30 g2@30 c3@30 b2@30 bb2@30 a2@30 d2@29]/5", BO: "[~ g2@45 c2@45 ~@5]/2", BP: "~@9 ab2@2 ~@5",
  BQ: "~ ab2@2 ~@6 ab2@2 ~@5", BR: "~ ab2@4 g2@4 f2@2 ~@5", BS: "~ bb2@4 eb2@4 ab2@4 ~@3",
  BT: "~@5 c3@3 c3 f3@3 e3 f3@3", BU: "g3 ab3@3 g3 f3@3 ab3 g3@3 f3 eb3@3",
  BV: "f3@3 g3@12 ~@4 g3@4 ab3@4 bb3@9 ab3@3 g3@9", BW: "ab3@3 bb3@6 ab3@6 ~@4 g3@4 bb3@4 ab3@9 g3@3 f3@9",
  BX: "[g3@3 ab3@18 ~@3 f3@3 ab3@4 g3@4 f3@4 ab3@4 g3@4 f3@4 ab3@4 g3@4 f3@4 ab3@4 g3@4 ab3@4 bb3@36 eb3@12 ab2@21]/3",
  BY: "~ c3@8 db3@7", BZ: "~ ab2@4 g2@4 f2@7", CA: "~ bb2@8 eb2@7", CB: "~ g2@8 ab2@7",
  CC: "[~ bb2@4 eb2@4 ab2@12 eb2@4 ab2@7]/2",
  CD: "[~@3 bb2@12 eb2@12 ab2@36 eb2@12 ab2@36 eb2@12 ab2@36 eb2@12 ab2@36 ~ eb2@13 ab2@13 ab2@6]/5",
  CE: "[~@5 ab2@3 ab2@48 ~@40]/2",
})).s("gm_bassoon").gain(0.3)

// chords · trumpet
const trumpet = note(`<
  ~@5 A@2 B@3 ~ C@2 D E ~ F@3 G@5 ~@29 H I J K L M N O P Q R S T U V O W X@2 ~@8 Y@3 Z@7 AA@2 AB@5 AC@8 ~@24 AD@2 AE@5
  AF@8 ~@8 AG AH@3 AI AJ@4 AH@3 AI AK@4 AL AM AN@3 ~@7
>`.pickRestart({
  A: "[~@20 [eb4,ab4,b4]@3 ~ [eb4,ab4,b4]@2 ~@3 [eb4,ab4,b4]@2 [eb4,ab4,b4]@2 [eb4,ab4,b4]@3 ~@2 [eb4,ab4,b4]@2 ~@2 [eb4,ab4,b4]@2 ~ [eb4,ab4,b4]@2 [eb4,ab4,b4]@2 [eb4,ab4,bb4]@2 ~ [eb4,ab4,b4]@2 [eb4,ab4,db5]@4 ~@10 [eb4,ab4,eb5]@2 [eb4,ab4,db5]@2 [eb4,ab4,eb5]@2 [eb4,ab4,f5]@2 ~ [eb4,ab4,eb5]@2 [eb4,ab4,f5]@2 [eb4,ab4,gb5]@4 ~@3 [ab4,b4,e5]@3 ~@2 [ab4,b4,e5]@2 ~]/2", // Abm Ebsus4 Abm Dbsus2 Ab5 Dbsus2 Ab5 Fm7 …
  B: "[~ [ab4,b4,e5]@2 ~ [ab4,b4,e5]@2 [ab4,b4,e5]@2 [ab4,b4]@2 e5@2 ~@3 [ab4,b4,e5]@2 [ab4,b4,e5]@2 ~ [ab4,b4,e5]@2 [ab4,bb4,db5]@2 [ab4,b4,e5]@2 [ab4,db5,e5]@4 ~@10 [gb4,bb4,e5]@2 [f4,ab4,db5]@2 ~ [gb4,bb4,e5]@2 [ab4,b4,e5]@2 [ab4,bb4,e5]@2 ~ [ab4,b4,e5]@2 [ab4,db5,gb5]@2 [ab4,b4,e5]@2 [ab4,db5,gb5]@2 ~ [ab4,c5,f5]@46 ~@37]/3", // E Abm E Bbm7 E Dbm Gb7 Db …
  C: "[~@29 ab4@2 bb4@2 c5@3 ~@2 c5@3 ~ bb4@2 ~ ab4@2 bb4@4 ~@5 ab4@2 bb4@2 ~ c5@2 c5@2 c5@2 ~ c5@2 bb4@2 ab4@2 bb4@3 ~@2 bb4@2 ~@3 ab4@2 bb4@2 c5@3 ~@2 c5@3]/2",
  D: "~ bb4@2 ~ ab4@2 bb4@5 ~@2 bb4@2 ab4@2 g4@2 ~@29", E: "~ f4@2 ~ f4@2 f4@2 ab4@2 g4@2 ~ g4@2 f4@5 ~@28",
  F: "[~@26 [f4,bb4,eb5]@2 ~ [f4,bb4,d5]@2 ~@2 [f4,bb4,eb5]@2 ~ [f4,bb4,d5]@2 ~@2 [f4,bb4,eb5]@2 [f4,bb4,d5]@2 ~@3 [f4,bb4,eb5]@2 [f4,bb4,d5]@2 ~@3 [f4,a4,c5]@9 ~@5 [f4,g4,c5]@2 [f4,g4,c5]@2 [f4,g4,c5]@2 [f4,g4,c5]@4 ~@3 [a4,c5]@9 ~@5 [g4,a4]@2 [g4,a4]@2 ~ [g4,a4]@2 [g4,a4]@4 ~@38]/3", // Ebsus2 Bb Ebsus2 Bb Ebsus2 Bb Ebsus2 Bb …
  G: "[~@40 [eb4,g4,bb4]@4 ~@3 [g4,bb4,eb5]@4 ~@3 [bb4,eb5,g5]@4 ~@3 [c5,e5,g5]@2 ~@11 [a4,c5,f5]@3 ~@2 [a4,c5,f5]@3 ~@2 [a4,c5,f5]@2 [a4,c5,f5]@2 ~ [a4,c5,f5]@4 ~ [a4,c5,f5]@4 ~ [a4,c5,f5]@3 [a4,c5,f5]@3 [bb4,d5,f5]@4 ~ [bb4,d5,f5]@4 ~@2 [bb4,d5,f5]@3 [bb4,d5,f5]@3 ~ [bb4,d5,f5]@5 ~ [bb4,d5,f5]@5 ~@2 [bb4,d5,f5]@3 [bb4,d5,f5]@3 ~ [a4,c5,f5]@5 ~@2 [a4,c5,f5]@6 ~@2 [a4,c5,f5]@4 [a4,c5,f5]@4 [a4,c5,eb5]@6 ~@3 [a4,c5,eb5]@7 ~@2 [a4,c5,eb5]@5 [a4,c5,eb5]@5 eb5@8 ~@3 f5@5 eb5@6 bb4@24, ~@97 bb4@11 ~@12, ~@97 c5@8 ~@3 d5@9 ~@3]/5", // Eb C F Bb F Adim
  H: "[c4,f4,a4]@3 ~ [b3,e4,b4]@3 ~", I: "[eb4,g4]@3 ~ [d4,f4,a4]@3 ~",
  J: "~@2 [d4,f4,bb4]@2 [d4,f4,bb4]@3 [d4,f4,bb4] [d4,f4,bb4]@3 [d4,f4,a4] [d4,f4,bb4]@3 [d4,f4,c5]", K: "[g4,bb4,d5]",
// … 631 more lines

More by Claude- Michel Schönberg