Strudelify

Ik wil met jou wel even poolen

Gebroeders Grimm

KeyB♭ majorTempo115 bpm
0:00/0:00
// Ik wil met jou wel even poolen — Gebroeders Grimm
// 115 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 11 "BRASS 1" brass section (copy of ch 5 "TRUMPET" trumpet)
// note: Full arrangement: all 81 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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.

// bass · tuba
const bass = note(`<
  A B C D E F B G H I J@3 K L G M N O P Q R S T U V W X@2 Y Z AA AB G AC AD AE J@2 AF AG G AH AI AJ AK AL AM AN AO AP AQ
  AR AS X AT AU AV A B G H I J@3 K L G M N O P Q AW AX AY Q AZ BA BB
>`.pickRestart({
  A: "f2 ~@3 g2 ~ a2@2 ~@2 g2@2 f2@2 ~@2 g2 ~ a2@2 ~@2 g2@2", B: "f2 ~ g2 ~ f2 ~ eb2 ~ d2 ~ c2@2 bb1@3 ~@3 f2@3 ~@3",
  C: "bb1 ~ f2 ~ g1 ~ g1 ~", D: "b1 ~ g2 ~ c2 ~ c2 ~", E: "f1@3 ~@3 f1@3 ~@3 bb2@2 ~@4 bb1@2 ~@4",
  F: "f2@2 ~@2 g2@2 a2@2 ~@2 g2@2 f2@2 ~@2 g2 ~ a2@2 ~@2 g2@2", G: "bb1 ~ f2 ~ bb1 ~ f2 ~",
  H: "d2 ~ eb2@2 e2 ~ f2 ~ g2 ~ a2 ~ bb2@3 ~@3 f2@3 ~@3", I: "d2@5 ~ db2@6 c2@3 ~@3 f2@2 ~@2 f2@2",
  J: "c2 ~ f2 ~ c2 ~ f2 ~", K: "c2@2 ~@2 c2@2 f2@6 bb1@3 ~@3 d2@3 ~@3",
  L: "f2 ~ g2 ~ f2 ~ eb2@2 d2 ~ c2@2 bb1@3 ~@3 f2@3 ~@3", M: "d2 ~ eb2@2 e2@2 f2 ~ g2 ~ a2 ~ bb2@3 ~@3 g2@3 ~@3",
  N: "bb1@3 ~@3 d2@5 ~ eb2@2 d2@2 c2@2 bb1@2 c2@2 d2 ~", O: "eb2 ~ bb1 ~ eb2 ~ bb1 ~", P: "eb2 ~ e2@2 f2 ~ bb1 ~",
  Q: "g1 ~ d2 ~ c2 ~ c2 ~", R: "f2 ~ f2 ~ bb2 ~ a2 ~", S: "g2 ~ f2 ~ eb2 ~ d2 ~",
  T: "c2@3 ~@3 f1@4 ~@2 bb2@4 ~@2 f3@3 ~@3", U: "bb2@3 ~@3 f3@4 ~@2 bb2@4 ~@2 f3@4 ~@2",
  V: "bb2@2 ~@2 f3 ~ f3@5 ~ bb2@4 ~@2 f3@4 ~@2", W: "d3@5 ~ db3@5 ~ c3@3 ~@3 f3@2 ~@4", X: "c3 ~ f3 ~ c3 ~ f3 ~",
  Y: "c3@2 ~@2 f3 ~ f3 ~@3 f3@2 c3@3 ~@3 g3@3 ~@3", Z: "c3@3 ~@3 g3@3 ~@3 f3@5 ~ g3@6",
  AA: "a3@2 ~@4 f2@2 ~@4 f2 ~@3 g2 ~ a2@2 ~@2 g2@2", AB: "f2@2 ~@2 g2 ~ a2@2 ~@2 g2@2 f2 ~ g2 ~ f2 ~ eb2 ~ d2 ~ c2@2",
  AC: "bb1@3 ~@3 f2@3 ~@3 d2 ~ eb2@2 e2 ~ f2 ~ g2 ~ a2 ~", AD: "bb2@3 ~@3 f2@3 ~@3 d2@5 ~ db2@6",
  AE: "c2@3 ~@3 f2@2 ~@2 f2@2 c2@3 ~@3 f2@3 ~@3", AF: "c2@3 ~@3 f2@3 ~@3 c2@2 ~@2 c2@2 f2@6",
  AG: "bb1@3 ~@3 d2@3 ~@3 f2 ~ g2 ~ f2 ~ eb2@2 d2 ~ c2@2", AH: "bb1@3 ~@3 f2@3 ~@3 d2 ~ eb2@2 e2@2 f2 ~ g2 ~ a2 ~",
  AI: "bb2@3 ~@3 g2@3 ~@3 bb1@3 ~@3 d2@5 ~", AJ: "eb2@2 d2@2 c2@2 bb1@2 c2@2 d2 ~ eb2@3 ~@3 bb1@3 ~@3",
  AK: "eb2 ~ bb1 ~ eb2 ~ e2@2", AL: "f2 ~ bb1 ~ g1 ~ d2 ~", AM: "c2 ~ c2 ~ f2 ~ f2 ~", AN: "bb2 ~ a2 ~ g2 ~ f2 ~",
  AO: "eb2@3 ~@3 d2@3 ~@3 c2@3 ~@3 f1@4 ~@2", AP: "bb2@4 ~@2 f3@3 ~@3 bb2@3 ~@3 f3@4 ~@2",
  AQ: "bb2@4 ~@2 f3@4 ~@2 bb2@2 ~@2 f3 ~ f3@5 ~", AR: "bb2@4 ~@2 f3@4 ~@2 d3@5 ~ db3@5 ~",
  AS: "c3@3 ~@3 f3@2 ~@4 c3@3 ~@3 f3@3 ~@3", AT: "c3@3 ~@3 f3@3 ~@3 c3@2 ~@2 f3 ~ f3 ~@3 f3@2",
  AU: "c3 ~ g3 ~ c3 ~ g3 ~", AV: "f3@5 ~ g3@6 a3@2 ~@4 f2@2 ~@4", AW: "f2@3 ~@3 f2@3 ~@3 bb1@3 ~@3 f2@2 ~@4",
  AX: "bb1 ~ c2 db2 ~ d2 eb2@2 ~ bb1@2 ~", AY: "eb2@5 ~ e2@5 ~ f2@3 ~@3 bb1@3 ~@3",
  AZ: "f2@3 ~@3 f2@4 ~@2 bb1 ~@3 bb1@2 f2@5 ~", BA: "bb1 ~@3 bb1 ~ eb2@5 ~ f2@3 ~@3 f2@4 ~@2", BB: "bb1 ~@2 bb1 ~@8",
})).s("gm_tuba").gain(0.25)

// chords · clarinet
const clarinet = note(`<
  A B C D E F B G 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 AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV AW X AX AY AZ BA BB BC BD A B G H I J K L M N O P Q R BE T BF BG BH BI BJ BK BL
>`.pickRestart({
  A: "a4 [bb4,g5] [a4,f5] g5 [a4,bb4,f5] [bb4,g5] [a4,f5] [bb4,g5] ~ [bb4,g5] ~ [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [g4,a4,eb5,f5] [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [a4,eb5,f5] g4, ~@4 [a4,f5] [bb4,g5] ~@6", // Eb Dm Bbmaj7 Eb Dm Eb Dm Cm …
  B: "[bb4,g5] [c5,a5] [bb4,g5] [c5,a5] [bb4,g5,a5] [bb4,c5,g5] [c5,a5] a5 c5 [c5,a5] [bb4,g5] ~ [d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [d5,f5] ~, ~@7 [bb4,g5]@3 ~@14", // Eb F Eb F Eb C7 F Eb …
  C: "[d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [c5,f5] ~ [b4,f5]@5 ~ c5@5 ~, ~@17 f5@5 ~@2", // Dm F5 Bdim
  D: "[d5,f5]@5 ~ [d5,f5] ~@3 [d5,f5] ~ [eb5,g5]@4 ~@2 [eb5,g5]@4 ~@2", // Dm Eb
  E: "[c5,eb5]@4 ~@2 [d5,f5]@4 ~@2 [bb4,d5]@3 ~@9", // Cm Dm Bb
  F: "[a4,f5] [bb4,g5] [a4,f5] g5 [a4,bb4,f5] [bb4,g5] [a4,f5] [bb4,g5] ~ [bb4,g5] ~ [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [g4,a4,eb5,f5] [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [a4,eb5,f5] g4, ~@4 [a4,f5] [bb4,g5] ~@6", // Dm Eb Dm Bbmaj7 Eb Dm Eb Dm …
  G: "[d5,f5] ~@3 [d5,f5] ~ eb5@2 ~@2 [d5,f5] ~ [bb4,d5] ~ [c5,eb5] ~ [db5,e5] d5 f5 ~ [db5,e5] c5 eb5 ~, ~@6 c5 ~@17", // Dm Bb Cm Dbm
  H: "d5@2 ~ bb4 d5 ~ db5@2 ~@2 [bb4,d5] ~ bb5@2 [d5,f5] bb4 d5 ~ [f5,bb5] ~ [d5,f5] bb4 d5 ~, bb4 ~@4 a4@2 ~@5 f5 ~@11", // Bb Dm Bb5 Dm
  I: "[f5,bb5] ~ [d5,f5] bb4 d5 ~@2 db5 ~ [bb4,db5] ~@2 [a4,c5] ~ [bb4,db5] b4 d5 ~ [c5,eb5] [b4,d5] ~ [bb4,db5] ~ [a4,c5], ~@3 [e5,bb5] e5 ~@7", // Bb5 Dm Bbm Am Bbm Cm Bm Bbm …
  J: "~@6 [c5,eb5]@2 ~ [c5,eb5]@2 ~", K: "[c5,eb5]@4 ~@2 [bb4,d5]@3 ~@3 [bb4,d5]@9 ~@3",
  L: "[a4,f5] [bb4,g5] [a4,f5] [bb4,g5] [a4,f5] [a4,bb4,f5,g5] [bb4,g5] [a4,f5] [bb4,g5] [a4,f5] [bb4,g5] [a4,f5] ~@4 [a4,f5] ~ [g4,eb5]@2 ~@2 c5@2, ~@22 eb4 ~", // Dm Eb Dm Eb Dm Gm7 Eb Dm …
  M: "[c4,a4]@4 ~@2 [a4,f5] [bb4,g5] ~ [bb4,g5]!2 f5 [g4,eb5]@3 ~ [f4,d5] ~ [f4,d5]@3 ~ [d4,bb4] ~, ~@8 a4@5 ~@11, ~@8 f5@2 ~@2 bb4 ~@11", // F Dm Eb Cm Dm Gm
  N: "[a4,f5] ~ [bb4,g5] ~ [a4,f5] ~ [g4,eb5] ~ [f4,d5] ~ c5 ~ [d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [d5,f5] ~, ~@9 eb4@2 ~@13", // Dm Eb Dm Cm Dm
  O: "[d5,f5] ~@3 [d5,f5] ~ eb5@2 ~ f5 d5 ~ [c5,eb5] ~@3 g5 ~ [d5,f5] ~@2 eb5 c5@2, ~@6 c5 ~@8 eb5@2 ~@7", // Dm Cm Dm
  P: "[bb4,d5] ~ [c5,eb5] ~ e5@2 [d5,f5] ~ [eb5,g5] ~ [e5,a5] ~ [d5,bb5]@3 ~@3 [d5,bb5]@4 ~@2, ~@4 db5 ~@19", // Bb Cm Dm Eb A5 Gm
  Q: "[c5,ab5]@3 ~@3 [c5,ab5]@3 ~@3 [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~", // Fm Cm
  R: "[g4,eb5] ~@11 [g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~", // Cm Gm Eb Eb5 Gm Eb Eb5
  S: "[g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5]@2 [e5,g5] ~ [bb4,e5] ~ d5@2 ~@2 c5@2 f5@2 ~@2 eb5@2, ~@12 bb5 ~@3 g5 ~ bb4 ~@3 g4 ~", // Gm Eb Eb5 Gm Em Bbdim
  T: "d5 ~@5 [eb5,g5]@2 ~ [eb5,g5]@2 ~, f4 ~@23", // Eb
  U: "[c5,eb5]@4 ~@2 [d5,f5]@4 ~@2 [d5,bb5] ~ [eb5,c6] ~ [d5,bb5] ~ [c5,a5] ~ [d5,bb5] ~ a5@2, ~@22 c5 ~", // Cm Dm Gm Cm Gm F Gm
  V: "g5@2 [c5,a5] ~ [bb4,g5] ~ [a4,f5] ~ [bb4,g5] ~ [a4,f5] ~ [g4,eb5] ~ [a4,f5] ~ [g4,eb5] ~ [f4,d5] ~ [g4,eb5] d5 f4 ~, bb4 ~@23", // F Eb Dm Eb Dm Cm Dm Cm …
  W: "[eb4,c5] ~@3 [a4,f5] ~ [a4,f5] [bb4,g5] [a4,f5]@2 [bb4,g5] [a4,f5] ~@4 [d5,f5] ~ [d5,f5] ~@5, ~@8 [bb4,g5] ~@15", // Cm Dm Eb Dm Eb Dm Eb
  X: "~@4 [d5,f5] ~ [d5,f5] ~@9 [d5,f5] ~ [d5,f5] ~@5", // Dm
  Y: "~@4 [d5,f5] ~ [d5,f5] ~ db5@2 [c5,eb5] ~ [bb4,d5] ~@5 [d4,f4] ~ [f4,bb4] ~ [bb4,d5] ~, ~@8 e5 ~@15", // Dm Cm Bb Dm Bb5 Bb
  Z: "[bb4,d5] ~ [d5,f5] ~ [bb4,d5] ~ [bb4,db5] ~ [db5,e5] ~ [bb4,db5] ~ [a4,c5] ~@3 [c5,eb5] ~ [c5,eb5] ~@3 [c5,eb5] ~", // Bb Dm Bb Bbm Dbm Bbm Am Cm
  AA: "[c5,eb5] ~ [d5,f5] ~ [d5,gb5] ~ [d5,g5] ~ [eb5,a5] ~ [eb5,bb5] ~ [eb5,c6] ~@3 [c5,eb5] ~ [c5,eb5] ~@5", // Cm Dm D G5 Ebdim Eb5 Cm
  AB: "~@3 eb5 c5 ~ [c5,eb5] ~@9 [c5,eb5] ~ [c5,eb5] ~@5", // Cm
  AC: "~@4 [c5,eb5] ~ [c5,eb5] ~@5 [e5,g5] ~ [e5,f5,g5,a5] [f5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5] [e5,f5,g5,a5] [e5,g5] [f5,a5] [e5,g5]", // Cm Em Fmaj7 F Em F Em F …
  AD: "[f5,a5] [e5,g5] [f5,a5] [e5,f5,g5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5]!2 ~ [a4,f5] ~ [c5,a5] ~ [a4,f5] ~ [bb4,g5] ~@3 [b4,ab5] ~, ~@9 [e5,g5]@2 ~@13", // F Em F Fmaj7 Em F Em F …
  AE: "[c5,a5] ~@5 a5@2 ~@4 a4 [bb4,g5] [a4,f5] g5 [a4,bb4,f5] [bb4,g5] [a4,f5] [bb4,g5] ~ [bb4,g5] ~ [a4,f5], ~@6 c5 ~@13 [a4,f5]@2 [bb4,g5]@2", // F Eb Dm Bbmaj7 Eb Dm Eb Dm …
  AF: "[g4,eb5] [a4,f5] [g4,eb5] [g4,a4,eb5,f5] [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [a4,f5] [g4,eb5] [a4,eb5,f5] g4 [bb4,g5] [c5,a5] [bb4,g5] [c5,a5] [bb4,g5,a5] [bb4,c5,g5] [c5,a5] a5 c5 [c5,a5] [bb4,g5] ~, ~@19 [bb4,g5]@3 ~@2", // Cm Dm Cm F7 Dm Cm Dm Cm …
  AG: "[d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [d5,f5] ~ eb5@2 ~@2 [d5,f5] ~, ~@18 c5 ~@5", // Dm
  AH: "[bb4,d5] ~ [c5,eb5] ~ [db5,e5] d5 f5 ~ [db5,e5] c5 eb5 ~ d5@2 ~ bb4 d5 ~ db5@2 ~@2 [bb4,d5] ~, ~@12 bb4 ~@4 a4@2 ~@5", // Bb Cm Dbm Bb
  AI: "bb5@2 [d5,f5] bb4 d5 ~ [f5,bb5] ~ [d5,f5] bb4 d5 ~ [f5,bb5] ~ [d5,f5] bb4 d5 ~@2 db5 ~ [bb4,db5] ~@2, f5 ~@17 [e5,bb5]@2 e5@2 ~@2", // Dm Bb5 Dm Bb5 Dm Bbm Edim
  AJ: "[a4,c5] ~ [bb4,db5] b4 d5 ~ [c5,eb5] [b4,d5] ~ [bb4,db5] ~ [a4,c5] ~@12", // Am Bbm Cm Bm Bbm Am
  AK: "[c5,eb5]@4 ~@2 [c5,eb5]@4 ~@2 [c5,eb5]@4 ~@2 [bb4,d5]@3 ~@3", // Cm Bb
  AL: "[bb4,d5]@9 ~@3 [a4,f5] [bb4,g5] [a4,f5] [bb4,g5] [a4,f5] [a4,bb4,f5,g5] [bb4,g5] [a4,f5] [bb4,g5] [a4,f5] [bb4,g5] [a4,f5]", // Bb Dm Eb Dm Eb Dm Gm7 Eb …
  AM: "~@4 [a4,f5] ~ [g4,eb5]@2 ~@2 c5@2 [c4,a4]@4 ~@2 [a4,f5] [bb4,g5] ~ [bb4,g5]!2 f5, ~@10 eb4 ~@9 a4@4, ~@10 f5 ~", // Dm Cm F Dm Eb
  AN: "[g4,eb5]@3 ~ [f4,d5] ~ [f4,d5]@3 ~ [d4,bb4] ~ [a4,f5] ~ [bb4,g5] ~ [a4,f5] ~ [g4,eb5] ~ [f4,d5] ~ c5 ~, bb4 ~@20 eb4@2 ~", // Cm Dm Gm Dm Eb Dm Cm Dm
  AO: "[d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [d5,f5] ~ [d5,f5] ~@3 [d5,f5] ~ eb5@2 ~ f5 d5 ~, ~@18 c5 ~@5", // Dm
  AP: "[c5,eb5] ~@3 g5 ~ [d5,f5] ~@2 eb5 c5@2 [bb4,d5] ~ [c5,eb5] ~ e5@2 [d5,f5] ~ [eb5,g5] ~ [e5,a5] ~, ~@3 eb5@2 ~@11 db5 ~@7", // Cm Dm Bb Cm Dm Eb A5
  AQ: "[d5,bb5]@3 ~@3 [d5,bb5]@4 ~@2 [c5,ab5]@3 ~@3 [c5,ab5]@3 ~@3", // Gm Fm
  AR: "[g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~@11", // Cm
  AS: "[g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5]@2 [e5,g5] ~ [bb4,e5] ~", // Gm Eb Eb5 Gm Eb Eb5 Gm Eb …
  AT: "d5 ~ c5 f5 ~ eb5 d5 ~@5, bb5 ~@3 g5 ~ bb4 ~@3 g4 ~ f4 ~@11",
  AU: "[eb5,g5]@2 ~ [eb5,g5]@2 ~ [c5,eb5]@2 ~ [d5,f5]@2 ~", // Eb Cm Dm
  AV: "[d5,bb5] ~ [eb5,c6] ~ [d5,bb5] ~ [c5,a5] ~ [d5,bb5] ~ a5@2 g5@2 [c5,a5] ~ [bb4,g5] ~ [a4,f5] ~ [bb4,g5] ~ [a4,f5] ~, ~@10 c5 ~ bb4 ~@11", // Gm Cm Gm F Gm F Eb Dm …
  AW: "[g4,eb5] ~ [a4,f5] ~ [g4,eb5] ~ [f4,d5] ~ [g4,eb5] d5 f4 ~ [eb4,c5] ~@3 [a4,f5] ~ [a4,f5] [bb4,g5] [a4,f5]@2 [bb4,g5] [a4,f5], ~@20 [bb4,g5] ~@3", // Cm Dm Cm Dm Cm Dm Eb Dm …
  AX: "~@4 [d5,f5] ~ [d5,f5] ~@9 [d5,f5] ~ [d5,f5] ~ db5@2 [c5,eb5] ~, ~@20 e5 ~@3", // Dm Cm
  AY: "[bb4,d5] ~@5 [d4,f4] ~ [f4,bb4] ~ [bb4,d5] ~ [bb4,d5] ~ [d5,f5] ~ [bb4,d5] ~ [bb4,db5] ~ [db5,e5] ~ [bb4,db5] ~", // Bb Dm Bb5 Bb Dm Bb Bbm Dbm …
  AZ: "[a4,c5] ~@3 [c5,eb5] ~ [c5,eb5] ~@3 [c5,eb5] ~ [c5,eb5] ~ [d5,f5] ~ [d5,gb5] ~ [d5,g5] ~ [eb5,a5] ~ [eb5,bb5] ~", // Am Cm Dm D G5 Ebdim Eb5
  BA: "[eb5,c6] ~@3 [c5,eb5] ~ [c5,eb5] ~@8 eb5 c5 ~ [c5,eb5] ~@5", // Cm
  BB: "~@4 [c5,eb5] ~ [c5,eb5] ~@9 [c5,eb5] ~ [c5,eb5] ~@5", // Cm
  BC: "[e5,g5] ~ [e5,f5,g5,a5] [f5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5] [e5,f5,g5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5] [e5,f5,g5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5] [e5,g5] [f5,a5]!2 ~, ~@21 [e5,g5]@2 ~", // Em Fmaj7 F Em F Em F Fmaj7 …
  BD: "[a4,f5] ~ [c5,a5] ~ [a4,f5] ~ [bb4,g5] ~@3 [b4,ab5] ~ [c5,a5] ~@5 a5@2 ~@4, ~@18 c5 ~@5", // Dm F Dm Eb E F
  BE: "[g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5]@2 [e5,g5] ~ [bb4,e5] ~ d5@2 ~@2 c5@2 f5@2 ~@2 g4 ~, ~@12 bb5 ~@3 g5 ~ bb4 ~@2 eb5@2 ~", // Gm Eb Eb5 Gm Em Bbdim
  BF: "[c5,eb5]@4 ~@2 [d5,f5]@4 ~@2 [bb4,d5] ~ [c5,eb5] ~ [db5,e5] ~ [d5,f5] ~ [db5,e5] ~ [c5,eb5] ~", // Cm Dm Bb Cm Dbm Dm Dbm Cm
  BG: "[bb4,d5] ~@3 [eb5,g5] ~ [d5,gb5] ~@3 [eb5,g5] ~ g5@2 [eb5,g5] ~ [bb4,eb5] ~ [g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~, ~@12 bb5 ~@11", // Bb Eb D Eb Eb5 Gm Eb Eb5
  BH: "[g5,bb5] ~ [eb5,g5] ~ [bb4,eb5] ~ g5@2 e5@2 e5@2 [d5,f5] ~@3 [c5,eb5] ~ d5@2 ~@2 g4@2, ~@6 bb5 ~ g5 ~ bb4 ~@7 bb4 ~@3 c5 ~", // Gm Eb Eb5 Dm Cm
  BI: "[f4,b4] ~@5 [d5,f5] ~@3 [d5,f5] ~ [eb5,g5]@3 ~@3 [eb5,g5]@4 ~@2", // Fdim Dm Eb
  BJ: "[c5,eb5]@4 ~@2 [d5,f5]@4 ~@2 d5@2 ~@2 d5@2 [c5,eb5] ~ [bb4,d5] ~ [c5,eb5] ~, ~@12 bb4 ~@3 bb4 ~@7", // Cm Dm Cm Bb Cm
  BK: "[d5,f5] ~@3 [d5,f5] ~ [eb5,g5] ~ [d5,f5] ~ [eb5,g5] ~ [d5,f5] ~ eb5@2 d5@2 [c5,eb5] ~ bb4@2 [a4,c5] ~, ~@14 g5 ~ f5 ~@3 d5 ~@3", // Dm Eb Dm Eb Dm Cm Am
  BL: "bb4 ~@5 bb5 ~@17",
})).s("gm_clarinet").gain(0.2).pan(0.8)

// chords · trumpet
const trumpet = note(`<
  A B C D E F G H I@2 J K L M N O P Q R S T U V W ~ X Y Z ~@3 AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS ~
  AT AU AV ~@4 A G H I@2 J K L M N O P Q R S T AW AX AY AZ BA BB BC
>`.pickRestart({
  A: "f4@11 ~ [eb4,g4]@11 ~", B: "[g4,bb4]@11 ~ bb4@2 ~@2 [bb4,d5] ~ [bb4,d5] ~@3 [bb4,d5] ~, ~@12 d5 ~@11",
  C: "[bb4,d5] ~@3 [bb4,d5] ~ [bb4,d5]@2 ~ [ab4,c5] ~@2 [g4,b4]@6 [a4,c5]@5 ~", // Bb Ab G Am
  D: "[b4,d5]@5 ~ d5@2 ~@2 [f4,d5] ~ [g4,eb5]@5 ~ [g4,eb5]@5 ~, ~@6 f4 ~@17", // Bm Dm Cm
  E: "[eb4,c5]@5 ~ [f4,d5]@5 ~ [d4,bb4]@2 ~@10", F: "f4@11 ~ [eb4,g4]@12",
  G: "[g4,bb4]@11 ~ [f4,d5]@2 ~@2 [f4,d5] ~ f4@2 ~@2 [f4,d5] ~, ~@18 d5 ~@5", // Gm Dm
  H: "f4@2 ~@2 [f4,d5] ~ [eb4,c5]@2 ~@2 [f4,d5] ~ [eb4,c5]@11 ~, d5 ~@23", // Dm Cm Dm Cm
  I: "[[d4,bb4]@2 ~@2 [d4,bb4]@2 [db4,a4]@4 [d4,bb4] ~ [d4,f4,c5]@3 ~@3 [d4,f4,c5]@3 ~@3 [d4,f4]@4 ~@2 [db4,e4]@4 ~@2 [c4,a4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~, ~@23 c5@3 ~@3 bb4@4 ~@15]/2", // Gm Gbm Gm Dm7 Dm Dbm F F5
  J: "[c4,f4] ~@3 eb4@2 c4@3 ~ eb4@2 [eb4,c5]@4 ~@2 [eb4,c5]@4 ~@2", K: "[eb4,c5]@2 ~ [d4,bb4]@2 ~ [d4,bb4]@6",
  L: "[c4,a4]@3 ~@3 [c4,a4]@4 d4@2 c5@2 ~@2 [eb4,c5] ~ c5@2 ~@2 [eb4,c5] ~, ~@10 bb4 ~ eb4 ~@5 eb4 ~@5", // F Cm
  M: "[eb4,c5]@2 ~@4 [eb4,g4]@3 ~ [f4,a4]@2 [eb4,g4]@3 ~ [d4,f4] ~ [d4,f4]@4 bb3@2, ~@22 d4 ~", // Cm Eb F Eb Dm
  N: "[d4,f4] ~@3 [d4,f4]@2 [bb3,d4]@3 ~ d4@2 [f4,d5]@2 ~@2 [f4,d5] ~ d5@2 ~@2 [f4,d5] ~, ~@10 f4 ~@7 f4 ~@5", // Dm Bb Dm
  O: "d5@2 ~@2 [f4,d5] ~ [eb4,c5]@2 ~@2 [f4,d5] ~ [eb4,c5]@12, f4 ~@23", // Dm Cm Dm Cm
  P: "[d4,bb4]@2 ~@4 [d4,bb4]@4 [eb4,c5] ~ [f4,d5]@4 ~@2 [f4,d5]@4 ~@2", // Gm Cm Dm
  Q: "[eb4,c5]@4 ~@2 [d4,bb4]@4 ~@2 [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~", // Cm Gm Cm
  R: "[g4,eb5] ~@3 [g4,bb4]@2 [gb4,a4]@3 ~ [g4,bb4] ~ [g4,c5]@4 ~@2 [g4,bb4]@4 ~@2", // Cm Gm Gbm Gm C5 Gm
  S: "[g4,c5]@2 ~ db5@3 d5 ~ c5 f4@2 [eb4,g4], ~@6 g4@4 ~@2 f4 ~@3 f4 ~ bb4@2 ~@4", // C5 Eb
  T: "[d4,f4]@2 ~@4 [f4,d5] ~@3 [f4,d5] ~ [g4,eb5]@4 ~@2 [g4,eb5]@4 ~@2", // Dm Cm
  U: "[eb4,c5]@3 ~@3 [f4,d5]@4 ~@6 [bb4,d5] ~@5 [bb4,d5] ~", V: "~@4 [bb4,d5] ~@5 [bb4,d5] ~@5 [c5,eb5] ~@5 [c5,eb5] ~",
  W: "~@4 [a4,f5] ~ [a4,f5] ~@17", X: "~@4 [d4,bb4] ~ [d4,bb4] ~@17",
  Y: "f4@5 ~ e4@5 ~ eb4@2 ~@2 [eb4,a4] ~ [eb4,a4] ~@3 [eb4,a4] ~", Z: "[eb4,a4] ~@3 [a4,c5] ~ [a4,c5] ~@17",
  AA: "~@12 f4@11 ~", AB: "[eb4,g4]@11 ~ [g4,bb4]@11 ~",
  AC: "[f4,d5]@2 ~@2 [f4,d5] ~ f4@2 ~@2 [f4,d5] ~ f4@2 ~@2 [f4,d5] ~ [eb4,c5]@2 ~@2 [f4,d5] ~, ~@6 d5 ~@5 d5 ~@11", // Dm Cm Dm
  AD: "[eb4,c5]@11 ~ [d4,bb4]@2 ~@2 [d4,bb4]@2 [db4,a4]@4 [d4,bb4] ~", // Cm Gm Gbm Gm
  AE: "[d4,f4,c5]@3 ~@3 [d4,f4,c5]@3 ~@3 [d4,f4]@4 ~@2 [db4,e4]@4 ~@2, ~@11 c5@3 ~@3 bb4@4 ~@3", // Dm7 Dm Dbm
  AF: "[c4,a4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~@3 eb4@2 c4@3 ~ eb4@2", // F F5
  AG: "[eb4,c5]@2 ~ [eb4,c5]@2 ~ [eb4,c5]@2 ~ [d4,bb4]@2 ~", AH: "[d4,bb4]@12 [c4,a4]@3 ~@3 [c4,a4]@4 d4@2, ~@22 bb4 ~",
  AI: "c5@2 ~@2 [eb4,c5] ~ c5@2 ~@2 [eb4,c5] ~ [eb4,c5]@2 ~@4 [eb4,g4]@3 ~ [f4,a4]@2, eb4 ~@5 eb4 ~@17", // Cm Eb F
  AJ: "[eb4,g4]@3 ~ [d4,f4] ~ [d4,f4]@4 bb3@2 [d4,f4] ~@3 [d4,f4]@2 [bb3,d4]@3 ~ d4@2, ~@10 d4 ~@11 f4 ~", // Eb Dm Bb
  AK: "[f4,d5]@2 ~@2 [f4,d5] ~ d5@2 ~@2 [f4,d5] ~ d5@2 ~@2 [f4,d5] ~ [eb4,c5]@2 ~@2 [f4,d5] ~, ~@6 f4 ~@5 f4 ~@11", // Dm Cm Dm
  AL: "[eb4,c5]@12 [d4,bb4]@2 ~@4 [d4,bb4]@4 [eb4,c5] ~", AM: "[f4,d5]@2 ~ [f4,d5]@2 ~ [eb4,c5]@2 ~ [d4,bb4]@2 ~",
  AN: "[g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~@3 [g4,bb4]@2 [gb4,a4]@3 ~ [g4,bb4] ~", // Cm Gm Gbm Gm
  AO: "[g4,c5]@2 ~ [g4,bb4]@2 ~ [g4,c5]@2 ~ db5@3, ~@9 g4@2 ~", // C5 Gm C5
  AP: "d5@2 ~@2 c5@2 f4@4 [eb4,g4]@2 [d4,f4]@2 ~@4 [f4,d5] ~@3 [f4,d5] ~, f4 ~@3 f4 ~ bb4@2 ~@16", // Eb Dm
  AQ: "[g4,eb5]@4 ~@2 [g4,eb5]@4 ~@2 [eb4,c5]@3 ~@3 [f4,d5]@4 ~@2", // Cm Dm
  AR: "~@4 [bb4,d5] ~@5 [bb4,d5] ~@5 [bb4,d5] ~@5 [bb4,d5] ~", // Bb
  AS: "~@4 [c5,eb5] ~@5 [c5,eb5] ~@5 [a4,f5] ~ [a4,f5] ~@5", AT: "~@16 [d4,bb4] ~ [d4,bb4] ~@5",
  AU: "~@12 f4@5 ~ e4@5 ~", AV: "eb4@2 ~@2 [eb4,a4] ~ [eb4,a4] ~@3 [eb4,a4] ~ [eb4,a4] ~@3 [a4,c5] ~ [a4,c5] ~@5",
  AW: "[eb4,c5]@3 ~@3 [f4,d5]@4 ~@2 [d4,d5] ~ eb5@2 [e4,e5] ~ [f4,f5] ~ [g4,g5] ~ [a4,a5] ~, ~@14 eb4 ~@9", // Cm Dm D E F G A
  AX: "[bb4,bb5] ~@3 [g4,bb4] ~ [g4,bb4] ~@3 [g4,bb4] ~ [eb4,c5]@5 ~ [d4,bb4]@4 ~@2", // Bb Gm Cm Gm
  AY: "[eb4,c5]@2 ~ [e4,db5]@3 f4 ~ c5 [f4,bb4] ~ [eb4,g4], ~@12 d5 ~@3 f4 ~@7", // Cm Dbm Bb5 Eb
  AZ: "[d4,f4]@2 ~@4 [f4,d5] ~@3 d5@2 [g4,eb5]@4 ~@2 [g4,eb5]@4 ~@2, ~@10 f4 ~@13", // Dm Cm
  BA: "[eb4,c5]@4 ~@2 [f4,d5]@4 ~@2 [d4,bb4] ~@3 [d4,bb4] ~ c5@2 bb4@2 c5@2, ~@18 eb4 ~ d4 ~ eb4 ~", // Cm Dm Gm
  BB: "[d4,d5] ~@3 [f4,d5]@2 [g4,eb5]@2 d5@2 [g4,eb5] ~ [f4,f5] ~ [g4,g5] ~ f4@2 eb4@2 [d4,d5] ~ [c4,c5] ~, ~@8 f4 ~@7 f5 ~ eb5 ~@5", // D Dm Cm F G D C
  BC: "[bb3,bb4] ~@5 [bb3,bb5] ~@17", // Bb
})).s("gm_trumpet").gain(0.3)

// chords · trombone
const trombone = note(`<
  A B C D E F G H I J K L M N O P Q@2 R S T U V W@2 X Y Z@2 AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU AV@2 AW AX AY AZ BA@2 A BB H I J K L M N O P Q@2 R BC T BD BE BF BG BH BI BJ
>`.pickRestart({
  A: "f3@11 ~ [eb3,g3]@11 ~", B: "[g3,bb3]@11 ~ bb3@2 ~@2 bb3 ~ bb3 ~@2 bb3 ~@2",
  C: "bb3@2 ~@2 bb3 ~ bb3@2 ~@2 ab3 ~ g3@5 ~ a3@5 ~", D: "b3@5 ~@7 c3@4 ~@2 c3@5 ~",
  E: "f3@4 ~@2 f3@4 ~@2 bb3@4 ~@2 bb2@3 ~@3", F: "f3@3 ~ g3 ~ a3@2 ~@2 g3 ~ f3@3 ~ g3 ~ a3@2 ~@2 g3@2",
  G: "f3 ~ g3 ~ f3 ~ f3 ~ g3 ~ a3 ~@9 d4 ~ eb4@2", H: "f4@10 ~@6 f3 ~ e3@2 ~@2 f3 ~",
  I: "d3 ~ eb3 ~ e3 ~ f3 g3 ~@2 a3 ~ bb3@4 ~@2 bb3@4 ~@2", J: "bb3@3 ~@3 bb3@4 ~@2 a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~",
  K: "a3 ~@3 a3 ~ a3 ~@3 a3 ~ [a3,c4] ~ [bb3,db4] ~ [b3,d4] ~ [c4,eb4] ~ d4@2 [bb3,db4] ~, ~@20 b3 ~@3", // Am Bbm Bm Cm Bbm
  L: "c4@6 ~@10 [f3,a3] ~ f3@2 ~@2 [f3,a3] ~, a3@3 ~@15 a3 ~@5", M: "f3@4 ~@12 f4 ~ eb4@2 ~@2 c4@2, a3 ~@11",
  N: "a3@5 ~ eb4@3 ~ f4@2 eb4@4 d4 ~ d4@2 ~@2 bb3@2", O: "d4@2 ~@14 [d4,f4] ~ [d4,f4] ~@3 [d4,f4] ~",
  P: "[d4,f4]@6 ~@10 f3@2 eb3@2 ~@2 [f3,g3] ~", // Dm Fsus2
  Q: "[d3 ~ eb3@2 [e3,f3] ~ f3 ~ g3 ~ a3 ~ bb3@3 ~@3 bb3@4 ~ ab3@3 ~@4 ab3@3 ~@3 eb4 ~ d4 ~ c4 ~ bb3 ~ a3 ab3@2 ~]/2", // Fmaj7
  R: "g3@2 ~@2 eb3 ~ eb3 ~@3 eb3 ~ eb3@4 ~@2 eb3@4 ~@2", S: "eb3@4 ~@2 e3@4 ~@2 f3@2 ~@2 f3@2 bb3@3 c4@2 ~",
  T: "d4@3 ~@9 c4 ~ db4 ~ d4 ~ eb4@2 c4 ~ bb3@2", U: "a3@2 ~ a3@2 ~ bb3@2 ~ a3@2 ~", V: "g3@2 ~ f3@2 ~ eb3@2 ~ d3@2 ~",
  W: "[c3@2 ~@2 f3 ~ f3@2 ~@4 d4@6 ~@2 d4@10 ~@2 d4@6 ~@2 c4@2 bb3@2 ~@2 c4@2]/2",
  X: "d4@2 ~@2 f3@2 f3@2 ~@8 f3 ~ bb3@2 ~ d4@2 ~", Y: "[f3,c4]@5 ~ [e3,bb3]@5 ~ [eb3,a3]@12",
  Z: "[~@2 [f3,a3] ~ [g3,bb3] ~ [ab3,c4] ~ [a3,db4] ~ [bb3,d4] ~ [c4,eb4]@8 ~ [bb3,d4] ~ [a3,c4]@5 ~@2 [a3,c4] ~ ab3 ~ g3 ~ [f3,a3]@12, ~@31 b3@2 bb3@2 ~@13]/2", // F Gm Ab A Bb Cm Bb Am …
  AA: "~@4 [a3,c4] ~ [a3,c4] ~@5 [e3,bb3]@10 ~@2", // Am Edim
  AB: "[e3,bb3]@5 ~ f3 ~ a3 [g3,bb3] ~ [ab3,b3], ~@11 a3@2 ~@2 c4@2 ~@7", AC: "[a3,c4]@2 ~@4 [a3,eb4]@2 ~@4 f3@11 ~",
  AD: "[eb3,g3]@11 ~ [g3,bb3]@11 ~", AE: "~@8 d4 ~ eb4@2 f4@10 ~@2",
  AF: "~@4 f3 ~ e3@2 ~@2 f3 ~ d3 ~ eb3 ~ e3 ~ f3 g3 ~@2 a3 ~", AG: "bb3@4 ~@2 bb3@4 ~@2 bb3@3 ~@3 bb3@4 ~@2",
  AH: "a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~@3 a3 ~ a3 ~@3 a3 ~",
  AI: "[a3,c4] ~ [bb3,db4] ~ [b3,d4] ~ [c4,eb4] ~ d4@2 [bb3,db4] ~ c4@6 ~@6, ~@8 b3 ~@3 a3@3 ~@9", // Am Bbm Bm Cm Bbm
  AJ: "~@4 [f3,a3] ~ f3@2 ~@2 [f3,a3] ~ f3@4 ~@8, ~@6 a3 ~@5 a3@2 ~@10", // F
  AK: "~@4 f4 ~ eb4@2 ~@2 c4@2 a3@5 ~ eb4@3 ~ f4@2", AL: "eb4@4 d4 ~ d4@2 ~@2 bb3@2 d4@2 ~@10",
  AM: "~@4 [d4,f4] ~ [d4,f4] ~@3 [d4,f4] ~ [d4,f4]@6 ~@6", // Dm
  AN: "~@4 f3@2 eb3@2 ~@2 [f3,g3] ~ d3 ~ eb3@2 [e3,f3] ~ f3 ~ g3 ~ a3 ~", AO: "bb3@3 ~@3 bb3@4 ~ ab3@3 ~@4 ab3@3 ~@3",
  AP: "eb4 ~ d4 ~ c4 ~ bb3 ~ a3 ab3@2 ~ g3@2 ~@2 eb3 ~ eb3 ~@3 eb3 ~", AQ: "eb3@2 ~ eb3@2 ~ eb3@2 ~ e3@2 ~",
  AR: "f3@2 ~@2 f3@2 bb3@3 c4@2 ~ d4@3 ~@9", AS: "c4 ~ db4 ~ d4 ~ eb4@2 c4 ~ bb3@2 a3@4 ~@2 a3@4 ~@2",
  AT: "bb3@2 ~ a3@2 ~ g3@2 ~ f3@2 ~", AU: "eb3@4 ~@2 d3@4 ~@2 c3@2 ~@2 f3 ~ f3@2 ~@4",
  AV: "[d4@3 ~ d4@5 ~ d4@3 ~ c4 bb3 ~ c4 d4 ~ f3!2 ~@2]/2", AW: "~@4 f3 ~ bb3@2 ~ d4@2 ~ [f3,c4]@5 ~ [e3,bb3]@5 ~",
  AX: "[eb3,a3]@12 ~@2 [f3,a3] ~ [g3,bb3] ~ [ab3,c4] ~ [a3,db4] ~ [bb3,d4] ~", // Ebdim F Gm Ab A Bb
  AY: "[c4,eb4]@8 ~ [bb3,d4] ~ [a3,c4]@5 ~@2 [a3,c4] ~ ab3 ~ g3 ~, ~@19 b3@2 bb3@2 ~", // Cm Bb Am
  AZ: "[f3,a3]@13 ~@3 [a3,c4] ~ [a3,c4] ~@5", // F Am
  BA: "[[e3,bb3]@5 ~ [e3,bb3]@5 ~ f3 ~ a3 [g3,bb3] ~ [ab3,b3] [a3,c4] ~@2 [a3,eb4] ~@2, ~@23 a3@2 ~@2 c4@2 ~@19]/2", // Edim Gm Abm Am Adim
// … 91 more lines