Strudelify

Pavane

Herman

KeyG minorTempo118 bpm
0:00/0:00
// Pavane — Herman
// 118 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 159 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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 · "Piano - T"
const piano = note(`<
  ~@14 A B C@2 D@2 E@2 F@2 G H I J K@2 L M@2 N O P Q R S T U V W X@2 Y Z AA AB AC@4 AD AE AF AG AH AI AJ AG AK AL AM AN
  AO AP AQ AR AS AT AU AV@2 AW AX AY AZ BA@3 BB@3 BC BD@3 BE@3 BF@7 BG BH@8 BI@7 BG BJ@6 BK@7 BL@5 BM@7 BN BO@8 BP@6
  BQ@4
>`.pickRestart({
  A: "d3@12 [d3,g3]@11 ~, [a3,d4,g4,a4]", B: "[d2,gb3,c4,gb4,a4]@4 d3 c3 bb2 a2",
  C: "[g2@6 d3@3 ~@33 ab2@5 ~, ~@9 [g3,c4,f4,g4,d5]@24 bb2@6 f3@8 ~, ~@15 d3@32 ~, ~@18 g2@29 ~, ~@21 ab2@9 eb3@17 ~]/2", // Gsus4
  D: "[g2@2 d3 ~@11 ab2@2, ~@3 [g3,c4,f4,g4,d5]@13, ~@5 d3@11, ~@17 g2@16 bb2@6 f3@8 ~, ~@7 ab2@3 eb3@6]/2", // Gsus4
  E: "[g2@2 d3 ~@11 ab2@2, ~@3 [g3,c4,f4,g4,d5]@8 bb2@2 f3@3, ~@5 d3@11, ~@3 g2@5, ~@7 ab2@3 eb3@6]/2", // Gsus4
  F: "[g2 ~@6 ab2, ~@6 d3@9 d3@18 bb2@6 f3@8 ~, ~@9 [g3,c4,f4,g4,d5]@38 ~, ~@17 g2@30 ~, ~@21 ab2@9 eb3@17 ~]/2", // Gsus4
  G: "~@7 [bb3,d4,g4], g2, [bb3,d4,g4]@7 ~, ~@3 g3@5, ~ f3", // Gm
  H: "eb3@3 ~@4 d3, [bb3,d4,eb4,g4], ~@3 eb3@5, ~@4 d3@3 ~, ~@3 a3", // Ebmaj7
  I: "c3@3 c3 ~@3 c3, [bb3,c4,eb4,g4] [bb2,bb3,c4,eb4,f4]", J: "~@3 f3 ~@2 f3@2, [d3,a3,d4,f4] [g3,bb3,d4,g4]",
  K: "[g3@3 ~ eb3@3 d3 g3@3 g3 ~@3 c3, f4 ~@2, [eb3,bb3,d4] [d4,g4]@2 ~, ~@9 g3@7 ~@8 [c3,bb3,eb4]@13 ~@11, ~@12 [bb3,eb4]@12 c4@11 ~ [bb3,c4,eb4,g4]@12]/2", // Ebmaj7 G5 Cm7 Eb5 Cm7
  L: "d3@3 ~ a3@3 a3, [d4,g4], a3 ~, ~@3 d3@5", // G5
  M: "[~@21 [c4,d4,gb4,a4]@2 ~@13 f3@9 f3@3, [c4,gb4,a4]@3 [d2,a3] ~@4, d4@3 d4 [eb2,g3]@4 [g2,bb3,d4,g4]@8, ~@2 gb3@6 ~@3 g3@5, ~@6 d2@9 d4@6 ~@2 gb4@2 ~@23]/2", // D7 Gbdim D5 Eb Gm
  N: "~@7 d3, [bb3,d4,g4], eb3@3 eb3@5, ~ eb4@23, ~@12 d3@6 a3@5 ~", // Gm
  O: "c3@8 ~@13 eb3@3, [bb3,c4,eb4,f4], ~ c3@2, ~ f3", P: "~@2 g3 [f3,a3,d4,f4], [d3,a3,d4,f4]@17 ~@7, ~@9 f3@8 ~@7",
  Q: "eb3@3 eb3 ~@3 [eb3,d4,f4], [bb3,eb4,g4] [g3,bb3,a4], ~@4 [eb3,f4]@3 ~, ~@3 bb2", // Dm Eb Gm Ebsus2
  R: "~@2 d4 [d3,c4,d4,gb4,a4], [d3,g3,g4]@3 ~, d4 ~, ~@3 a3@3 ~@2", S: "g3@3 g3 ~@3 d3, [c4,d4,a4], ~ g3",
  T: "g2@3 g2 ~@3 a3, [bb3,d4,g4], ~ g2, ~@5 d3@3, ~@18 g3@5 ~", U: "[bb3,d5]@17 ~ c4@6, ~@17 eb5@6 ~",
  V: "[d4,f5]@3 [eb4,g5]", W: "[d4,f5]@2 [c4,eb5]@2 [d4,f5]@3 [bb3,d5]",
  X: "[[c4,eb5]@17 ~ f5@5 eb5@6 ~ d5@6 eb5@9 c5@3, ~@17 c4@6 bb3@24 ~]/2", Y: "bb3@2 ~ db5, d5@3 ~, ~@12 g3@11 ~",
  Z: "[g3,d4,g4,a4,d5]", AA: "[gb3,c4,gb4,a4,d5]", AB: "bb2@3 f3 bb2@4",
  AC: "[g2@9 d3@3 g3@6 g2@3 c3@11 ~ c3@3 c3@9 f2@11 ~ f2@2 ~ f2@6 g2@3 ab2@11 ~ ab2@3 ab2@12]/4",
  AD: "eb3@9 eb3@2 ~ eb3@6 bb2@3 eb3@3", AE: "d3@9 d3@2 ~ d3@9 a3@3", AF: "d4@8 ~ d4@3 c4@12",
  AG: "d3@4 ~@3 [d4,gb4,a4], [d4,gb4,a4]@7 ~, ~ d3", AH: "c3!2, [c4,gb4,a4]", AI: "bb2!2, [bb3,d4,f4,a4]@23 ~",
  AJ: "~@7 a3, [db4,f4,a4,c5], a3@8 e3@3 bb3@13, ~ a2@7, ~ db3@3", AK: "c3!2, [c4,f4,a4]@23 ~",
  AL: "bb2!2, [bb3,d4,f4,a4]", AM: "~@17 a3@6 ~, [db4,f4,a4,c5]@11 bb3@12 ~, a3@8 e3@15 ~, ~@3 a2@20 ~, ~@6 db3@17 ~",
  AN: "~@12 f4@4 ~@5 d3@3, [d4,a4], d3@7 ~, f4@12 ~@4 f4@7 ~, ~@9 a3@11 a3@4", // D5
  AO: "db4@3 ~ bb4@4, [a2,g4,c5]@13 ~@11, ~@3 [g3,db4]@5", // Am7 Gdim
  AP: "~@12 f4@4 ~@5 d3@3, [d4,a4], d3@7 ~, f4@3 ~ f4@2, ~@9 a3@11 a3@4", // D5
  AQ: "db4@3 ~ bb4@4, [a2,g4,c5], ~@3 [g3,db4]@5", AR: "~ d4, [bb2,bb3,f4,a4], d4 ~, ~@3 gb3@5",
  AS: "~ g3, [e3,eb4], ~ [bb3,d4,g4]@23, ~@3 b2@5", AT: "d3@3 d3 d3@4, [a3,d4,gb4]",
  AU: "d4@9 d4@3 d4@11 ~, [a3,db4,eb4,gb4]", // Ebm7b5
  AV: "[~@15 [bb3,d4,g4]@4 [bb3,d4,g4]@4 ~ eb3@9 ~@3 d3@9 d3@3, [g2,bb3,d4,g4]@7 ~@17, ~@9 g3@6 ~@8 [bb3,eb4,g4]@24 ~, ~@12 f3@12 ~@9 eb3@14 ~]/2", // Gm Eb
  AW: "c3@8 ~ c3@3 ~@9 c3@3, [bb3,c4,eb4,g4] [f3,bb3,c4,eb4,f4]", // Cm7 Fsus4
  AX: "a3@5 ~@4 d3@2 ~@3 f3@10, [d4,f4]@11 ~@13, d3@3 ~@5, ~@5 a3@6 [g3,bb3,d4,g4]@12 ~", // Dm Gm
  AY: "~ eb3@8 ~@12 c3@3, [bb3,d4,eb4,g4]@23 ~, ~@9 bb2@14 ~, ~@12 eb3@11 ~", // Ebmaj7
  AZ: "d3@3 d3 [d3,c4,d4,gb4,a4]@4, [a3,d4,g4] ~", // D7 Dsus4
  BA: "[g3@9 g3@3 g3@3 ~@6 d3@2 ~@9 g2@3 ~@7 a2@5 ~@19 a3@6, [a3,c4,d4,g4]@23 g2@9 ~@4 g2@12 [d4,f4]@24, ~@15 g3@9 [g3,bb3,c4,d4,g4]@23 bb2@25, ~@4 a3 bb3, ~@16 bb3@3 f3@5]/3", // Am7 Dm Gm
  BB: "[~@11 g2@3 ~@6 d3@3 c3@10 c3@3 c3@9 ~@15 f2@3 [g2,c4,eb4,g4,bb4]@9, [g3,bb3,d4,f4]@14 c3@2 ~ g3@6 ~@22 [f3,c4,eb4,f4,ab4]@17 ~@10, ~@9 d3@6 [d4,f4,g4,bb4]@8 [c4,eb4,g4,c5]@22 ~@12 c3@6 ~@9]/3", // Cm7 Gm7 Fm7 Gm7 Cm
  BC: "~ ab3, [ab2,c4,eb4,g4,ab4,c5], ~@3 eb3@5", // Abmaj7
  BD: "[[eb2,bb2,eb3,eb4,g4,bb4]@8 ~@3 [f2,c3,f3,c4,f4,a4]@9 ~@4 [g2,d3,g3]@21 d3@2 ~ [g2,d3,bb3,g4]@15 [d3,d4]@3 [g3,g4]@3 [d3,d4,d5]@3, ~@23 [bb3,d4,g4]@22 d4@18 ~@6 g4 ~@2]/3", // Eb F G5 Gm D G D Gm
  BE: "[d5@7 ~ [g2,bb3,g5,g6]@16, [g3,bb4]@2 ~, [g2,g5] ~@2, ~@7 [d3,d5,d6]@16 ~]/3", // Gm G D
  BF: "[~@9 [f3,d4,g4,bb4] eb3@3 ~ d3@3 d3 ~@3 eb3 ~@2 eb3@2 ~@3 a3 ~@2 f3@2 ~@7 [g2,bb3,eb4] c3@3 c3 c3@3 c3 d3@3 d3 d3@2, ~ g2@4 ~@14 d3@2 ~@7, ~@2 [d4,g4,bb4]@7 ~ [d4,eb4,g4,bb4]@8 ~@32 [d4,g4,a4]@6, ~@15 d3@15 ~@9 eb3@15 [c3,c4,eb4,g4,bb4]@11 ~@13 [d3,d4,f4,a4]@11 ~@13 [eb3,g4]@24 ~@42, ~@6 g3@4 ~@12 [f3,c4,eb4,f4,g4,bb4]@4 ~@4 [g3,bb3,d4,g4]@4 [bb3,eb4]@7 ~ [bb3,c4,eb4,g4]@8 ~@6]/7", // Gm7 Eb Gm Ebmaj7 Dsus4 Cm7 Dm Eb …
  BG: "~@2 a4 d4@6 d4@3, ~ [a3,d4,g4] [c4,gb4,a4]@6", // Dsus4 Gbdim
  BH: "[c4@6 ~@18 a3@6 ~@18 d3@6 c3@9 c3@3 ~@9 eb3@3 ~@21 c3@3 ~@9 c3@3 ~@9 f3@3 [eb3,d4,eb4,g4,bb4]@12 [a2,db4,eb4,g4,bb4]@12 ~@9 e3@3 ~@6 a3@5 ~ d3@9 eb3@3 d3@3 c3@3, ~@6 [bb3,d4,f4,bb4]@16 [bb3,d4,f4,bb4]@9 ~@12 g2@12 ~@47 [f2,eb4,g4,ab4,c5]@12 ~@78, ~@15 f3@6 ~@9 [g3,bb3,eb4,g4]@24 [bb3,c4,eb4,g4]@23 ~ [f3,c4,eb4,f4,a4]@12 [eb4,f4,a4,c5]@11 ~@73 [eb4,gb4,a4,c5]@11 ~ [c4,eb4,gb4,a4]@6, ~@18 bb2@12 ~@9 d3@9 ~@18 c3@12 ~@9 c3@11 ~@16 [bb2,d4,g4,ab4,c5]@12 ~@24 [d3,db4,e4,gb4,a4]@12 [gb3,eb4,gb4,a4,db5]@11 ~@19]/8", // Ebmaj7 Eb7 Bb Fm7 Eb Cm7 F7 Ebdim …
  BI: "[bb2 a2 g2@3 ~@4 [f3,d4,g4,bb4] eb3@3 ~ d3@3 d3 ~@3 eb3 ~@2 eb3@2 ~@3 a3 ~@2 f3@2 ~@7 [g2,bb3,eb4] c3@3 c3 c3@3 c3 d3@3 d3 d3@2, ~@2 [d4,g4,bb4]@7 ~ [d4,eb4,g4,bb4]@8 ~@20 d3@4 ~@14, ~@15 d3@15 ~@9 eb3@15 [c3,c4,eb4,g4,bb4]@11 ~@13 [d3,d4,f4,a4]@11 ~@13 [eb3,g4]@24 ~@42, ~@6 g3@4 ~@12 [f3,c4,eb4,f4,g4,bb4]@4 ~@4 [g3,bb3,d4,g4]@4 [bb3,eb4]@7 ~ [bb3,c4,eb4,g4]@8 [d4,g4,a4]@6]/7", // Gm7 Eb Gm Ebmaj7 Cm7 Dm Eb Cm7 …
  BJ: "[c4@6 ~@18 a3@6 ~@18 d3@6 c3@9 c3@3 ~@9 eb3@3 ~@27 [f3,c4,eb4,g4]@9 [bb3,c4,d4,g4]@11 ~@4 [eb3,bb3,eb4,g4]@9 [f3,a3,c4,f4]@6, ~@6 [bb3,d4,f4,bb4]@16 [bb3,d4,f4,bb4]@9 ~@12 g2@12 ~@35 eb4@15 ~@39, ~@15 f3@6 ~@9 [g3,bb3,eb4,g4]@24 [bb3,c4,eb4,g4]@23 ~ [f3,c4,eb4,f4,a4]@12 [f4,a4,c5]@24 ~@30, ~@18 bb2@12 ~@9 d3@9 ~@18 c3@12 ~@9 c3@11 ~ c3@16 ~@29]/6", // Cm Gm Eb F Bb Eb Cm7 F7 …
  BK: "[~@6 g3@8 g3@3 ~@10 d3@3 g2@9 g2@3 g2@11 ~ d3@12 ~@9 [d4,gb4,a4]@3 c3@12 c3@12 bb2@12 bb2@12 ~@21 a3@3 d3@12 d3@6, ~@6 [bb3,c4,d4,f4]@24 [bb3,d4,g4]@24 [d4,gb4,a4]@21 ~@3 [c4,gb4,a4]@24 [bb3,d4,f4,a4]@23 ~ [db4,f4,a4,c5]@24 [d4,gb4,a4]@18, ~@18 g3@12 ~@36 d3@12 ~@48 a3@8 e3@3 bb3@13 ~@18, ~@43 a2@7 ~@6, ~@22 db3@3 ~@3]/7", // D Bb Gm D Gbdim Bbmaj7 F D
  BL: "[~@3 [d4,gb4,a4]@3 c3@12 c3@12 bb2@12 bb2@12 ~@17 a3@6 ~@13 f4@4 ~@5 d3@3 db4@9 ~@3 bb4@6, ~@6 [c4,f4,a4]@23 ~ [bb3,d4,f4,a4]@24 [db4,f4,a4,c5]@12 bb3@12 [d4,a4]@24 ~@18, ~@54 a3@8 e3@15 ~ f4@12 ~@4 f4@7 ~@19, ~@57 a2@20 ~@10 a3@11 a3@4 ~@9 [g3,db4]@9, ~@60 db3@17 ~ d3@21 ~@3 [a2,g4,c5]@13 ~@5]/5", // D F Bbmaj7 F D5 Gdim Am7
  BM: "[~@18 f4@4 ~@5 d3@3 db4@9 ~@3 bb4@12 ~@12 d4@13 ~@11 g3@12 d3@9 d3@3 d3@12 d4@9 d4@3 d4@11 ~@16 [bb3,d4,g4]@3, ~@6 [d4,a4]@24 ~@25 d4@11 ~@36 [a3,d4,gb4]@24 [a3,db4,eb4,gb4]@24 ~@9 g3@6 ~@3, ~@6 d3@21 ~@3 [a2,g4,c5]@24 [bb2,bb3,f4,a4]@24 ~@9 b2@15 ~@48 [g2,bb3,d4,g4]@14 ~@4, ~@6 f4@12 ~@5 f4@8 ~@137, ~@15 a3@11 a3@4 ~@9 [g3,db4]@15 ~@9 gb3@15 ~ [e3,bb3,d4,eb4,g4]@24 ~@59 f3@6]/7", // Gm D5 D Ebm7b5 Am7 Bbmaj7 Gm Gdim …
  BN: "~ [bb3,d4,g4]@4 ~ eb3@9 ~@3 d3@6, ~@5 [bb3,eb4,g4]@19, ~@5 eb3@3", // Gm Eb
  BO: "[~@3 d3@3 c3@8 ~ c3@3 ~@9 c3@3 a3@6 ~@3 d3@2 ~@3 f3@10 ~ eb3@8 ~@12 c3@3 d3@9 d3@3 [d3,c4,d4,gb4,a4]@12 g3@9 g3@3 g3@3 ~@6 d3@2 ~@10 g2@3 ~@6 a2@5 ~@19 a3@6 ~@12 g2@3 [c3,d4,f4,g4,bb4]@2 g3, ~@6 [bb3,c4,eb4,g4]@12 [f3,bb3,c4,eb4,f4]@12 [d4,f4]@11 ~@25 eb3@11 ~@40 g3@9 [g3,bb3,c4,d4,g4]@23 bb2@25 ~@9 d3@6 ~@3, ~@30 d3@9 ~@2 [g3,bb3,d4,g4]@12 ~@10 bb2@14 ~@48 g2@9 ~@4 g2@12 a3@12 bb3@12 ~@18, ~@36 a3@6 ~@12 [bb3,d4,eb4,g4]@23 ~ [a3,d4,g4]@12 ~@12 [a3,c4,d4,g4]@24 ~@24 [d4,f4]@24 ~@18, ~@50 bb3@3 f3@5 [g3,bb3,d4,f4]@5 ~]/8", // D7 Gm7 Cm7 Fsus4 Dm Gm Ebmaj7 Dsus4 …
  BP: "[~@2 d3@3 c3@10 c3@3 c3@9 ~@15 f2@3 [g2,c4,eb4,g4,bb4]@9 ~@12 ab3@12 [eb2,bb2,eb3,eb4,g4,bb4]@8 ~@4 [c3,f3,c4,f4,a4]@9 ~@3 [g2,d3,g3,d4]@21 d3@2 ~ [g2,d3,bb3,g4]@15 [d3,d4]@3, ~@5 [c4,eb4,g4,c5]@22 [f3,c4,eb4,f4,ab4]@17 ~@19 eb3@15 ~@23 [bb3,g4]@22 d4@18 ~@3, ~@39 c3@6 ~@9 [ab2,c4,eb4,g4,ab4,c5]@24 ~@11 f2@9 ~@46]/6", // Cm7 Eb F G5 Gm D Cm Fm7 …
  BQ: "[~ g3@2 ~ d3@2 ~@27 [g2,bb3,g5,g6]@48 ~@15, g4@3 [d4,d5]@3 g5@23 [d3,d5]@48 ~@19, ~@4 g4 ~ bb4@48 ~@42, ~@6 d5 g2@23 d6@48 ~@18, ~@7 g3@48 ~@41]/4", // Gm D
})).s("gm_piano").gain(0.26)

// bass · acoustic bass · "Jazz Bass"
const bass = note(`<
  A B C D B E F G H I J K L M N O P@2 Q@2 R@4 S T U V W X Y Z AA T AB AC AD AE AF AG AH AI AJ AK@2 AL AM AN AO AP@4 AQ
  AR AS AT AU AV AW AT AU AX AY AZ BA BB BC@2 BD BE BF S BG BH BI BJ BK BL BM BN BO BP@2 BQ BR BS BT BU BV@2 BW@3 BX
  BY@4 BZ CA CB@5 CC CD@3 BX BY@4 BZ CA CE@2 CF@3 CG@5 CH@4 CI@3 CJ@7 CK@6 CL CM CN@6 CO@4
>`.pickRestart({
  A: "g2@3 g2 f2@3 f2", B: "eb2@8 ~ eb2@3 d2@9 d2@3", C: "c2@2 f2 eb2", D: "d2@2 g2 f2",
  E: "c2@8 ~ c2@2 ~ c2@2 ~ c2@6 c2@3", F: "d2@8 ~ d2@3 a2@12", G: "d3@11 ~ d3@3 c3@2 bb2@3 ~ a2@3",
  H: "bb2@9 bb2@3 a2@8 ~ a2@3", I: "g2@9 g2@3 bb2@8 ~ bb2@2 ~", J: "c3 g2", K: "f2 ab2", L: "bb2@9 bb2@3 f2@8 ~ f2@3",
  M: "eb2@8 ~ eb2@3 eb2 ~@2 eb2@5 ~ eb2@3", N: "d2@3 d2 a2@4", O: "d3@4 d2 c2 bb1 a1",
  P: "[g1@6 d2@3 g2@6 d2@3 g1@3 ab1@9 eb2@3 bb1@6 f2@3 ab1@5 ~]/2",
  Q: "[g1@6 d2@3 g2@5 ~ d2@3 g1@3 ab1@9 d2@3 bb1@6 f2@3 ab1@6]/2", R: "[g1@2 d2 g2@2 d2 g1 ab1@3 eb2 bb1@2 f2 ab1@2]/2",
  S: "g1@3 g2 f2@4", T: "eb2@3 eb2 d2@2 a2 d2", U: "c2@3 c2 bb1@3 c2", V: "d2@9 f2@3 g2@6 f2@5 ~",
  W: "eb2@3 bb2 eb2@3 d2", X: "c2@3 g2 c3@3 c2", Y: "d2@8 ~ d2@3 a2@9 a2@3", Z: "d3 d2 eb2 d2", AA: "g1@3 g2 f2@3 f2",
  AB: "c2@8 ~ c2@3 f2@9 eb2@3", AC: "d2@3 f2 g2@2 f2@2", AD: "eb2@9 eb2@2 ~ eb2@6 bb1@3 eb2@3", AE: "d2@3 a2 d3@2 d2@2",
  AF: "g2@9 g2@2 ~ g2@9 d2@3", AG: "g1@8 ~ g1@2 ~ g1@3 d2@3 g2@3 a2@3", AH: "bb2@3 f2 bb1@4", AI: "g1@8 ~ g1@3 g1@12",
  AJ: "c2@3 c2 c2@4", AK: "[f1@8 ~ c2@3 f2@3 eb2@3 c2@3 f1@2 bb1@9 ~ bb1@3 bb1@12]/2", AL: "eb2@8 ~ eb2@3 eb2@12",
  AM: "d2@8 ~ d2@3 d2@12", AN: "d3@3 a2 d2@2 c2@2", AO: "bb1@3 f2 bb1@4",
  AP: "[g1@9 d2@3 g2@6 g1@3 c2@12 c2@3 c2@9 f1@11 ~ f1@3 f1@6 g1@3 ab1@11 ~ ab1@2 ~ ab1@12]/4",
  AQ: "eb2@8 ~ eb2@3 eb2@6 bb1@3 eb2@3", AR: "d2@8 ~ d2@3 d2@9 a2@3", AS: "d3@8 ~ d3@3 c3@12", AT: "d2!2",
  AU: "c2@11 ~ c2@12", AV: "bb1@11 ~ bb1@11 ~", AW: "~@3 a1@3 db2@2 e2@3 ~ bb2@9 a2@3", AX: "bb1@12 bb1@11 ~",
  AY: "~ a1 db2 e2 bb2@2 a2@2", AZ: "d2@9 a2@3 f3@4 ~ f3@3 a2 d2@3", BA: "a1@9 ~ db3@14, ~@9 g2@14 ~",
  BB: "d2@9 a2@3 f3@4 f3@3 ~@2 d2@3, ~@10 a2 ~", BC: "[a1@3 g2@5 bb1@3 gb2 d3@4, ~@9 db3@17 ~@22]/2",
  BD: "~ e2@8 b1@3 g2@12", BE: "~ d2@8 d2@2 ~ d2@12, ~ c2 ~@22", BF: "d3@8 ~ d3@3 d3@12", BG: "eb2@3 eb2 d2@3 d2",
  BH: "c2@8 ~ c2@3 ~@9 c2@2 ~, ~@12 f2@11 ~", BI: "d2@6 a2@3 d2@2 g2@3 f2@10", BJ: "eb2@8 ~ bb1@3 eb2@9 c2@3",
  BK: "d2@3 d2 d2@4", BL: "g2@9 g2@3 g2@2 ~ g2@6 d2@3", BM: "g1@8 ~ g1@2 ~ g1@6 a1@6", BN: "bb1@3 f2 bb2@2 a2@2",
  BO: "g2@9 d2@3 g1@3 c2@2 g2@3 ~ d2@3", BP: "[c2@8 ~ c2@2 ~ c2@9 f2@12 c2@3 f1@3 g1@9]/2", BQ: "ab1@3 eb2 ab2@4",
  BR: "[eb2,bb2]@5 ~ [f2,c3]@5 ~", BS: "[g2,d3]@7 d2", BT: "g2@4 ~ d2 g2 d2", BU: "g1@7 d2", BV: "[~ g1@39 ~@8]/2",
  BW: "[~@3 d2@3 g1@9 d2@3 g2@9 f2@3 eb2@8 ~ eb2@3 d2@8 ~ d2@3 c2@9 eb2@3 f2@6]/3", BX: "eb2@2 d2@3 a2 g2@2",
  BY: "[f2@6 eb2@11 ~ d2@9 g1@3 c2@9 c2@3 c2@8 ~ c2@3 d2@9 d2@3 d2@9 a2@3 d3@11 ~ d3@6]/4", BZ: "c3@2 bb2@3 f2 bb1@2",
  CA: "a2@6 g2@9 d2@3 ~ g1@5",
  CB: "[d2@6 c2@8 ~ c2@3 c2@9 eb2@3 f2@9 c2@11 ~ c2@3 f1@9 c2@3 bb1@9 f2@3 eb2@12 a1@12 d2@9 e2@3 gb2@6]/5",
  CC: "a2@5 ~ d2@9 eb2@3 d2@3 c2@3", CD: "[bb1@3 a1@3 g1@9 d2@3 g2@9 f2@3 eb2@8 ~ eb2@3 d2@8 ~ d2@3 c2@9 eb2@3 f2@6]/3",
  CE: "[d2@6 c2@8 ~ c2@3 c2@9 eb2@3 f2@9 c2@9]/2",
  CF: "[~@3 c2@3 ~@3 f2@9 bb2@11 ~@4 eb2@9 f2@11 ~ g2@8 g2@3 ~ g2@6]/3",
  CG: "[~@3 d2@3 g1@9 g1@3 g1@11 ~ d2@12 d2@12 c2@11 ~ c2@12 bb1@11 ~ bb1@11 ~@4 a1@3 db2@2 e2@3 ~ bb2@6]/5",
  CH: "[~@3 a2@3 d2@12 d2@12 c2@11 ~ c2@12 bb1@12 bb1@11 ~@4 a1@3 db2@3 e2@3 bb2@6]/4",
  CI: "[a2@6 d2@9 a2@3 f3@4 ~ f3@3 a2 d2@3 a1@9 ~ [g2,db3]@14 d2@9 a2@3 f3@4 f3@2]/3", // Gdim
  CJ: "[~@3 d2@3 a1@9 ~ g2@14 bb1@9 gb2@3 d3@12 ~ e2@8 b1@3 g2@12 ~ d2@8 d2@2 ~ d2@12 d3@8 ~ d3@3 d3@12 g1@9 g2@3 f2@12 eb2@9 eb2@3 d2@6, ~@2 a2@2 ~@12 db3@17 ~@46 c2 ~@88]/7",
  CK: "[~@3 d2@3 c2@8 ~ c2@3 ~@9 c2@2 ~ d2@6 a2@3 d2@2 g2@3 ~ f2@9 eb2@8 ~ bb1@3 eb2@9 c2@3 d2@9 d2@3 d2@12 g2@9 g2@3 g2@2 ~ g2@6 d2@3 g1@8 ~ g1@2 ~ g1@6, ~@18 f2@11 ~@115]/6",
  CL: "a1@2 bb1@3 f2 bb2@2", CM: "a2@2 g2@3 d2 g1 c2",
  CN: "[g2@3 d2@3 c2@8 ~ c2@2 ~ c2@9 f2@12 c2@3 f1@3 g1@9 ab1@9 eb2@3 ab2@12 [eb2,bb2]@10 ~@2 [f2,c3]@10 ~@2 [g2,d3]@21 d2@3 g2@13 ~@2 d2@3]/6", // Eb5 F5 G5
  CO: "[g2@4 d2@3 g1@23 d2@3 g1@41 ~@22]/4",
})).s("gm_acoustic_bass").gain(0.26)

// other · bassoon · "Clarinet/"
const bassoon = note("<~@55 A B C D E@2 F G@2 H I J K@3 L@2 ~@87>".pickRestart({
  A: "gb4", B: "d4@3 e4", C: "gb4@3 g4", D: "a4@5 g4@6 ~ bb4@9 a4@3", E: "[gb4@19 ~ e4@3 d4@21 e4@3 ~]/2", F: "f4@5 g4",
  G: "[a4@6 g4@6 bb4@9 a4@2 f4@20 ~@2 e4@3]/2", H: "d4@11 db4@5 d4@4 e4@4", I: "f4@7 e4", J: "d4@3 db4 d4 e4",
  K: "[f4@18 e4@5 a4@8 ~@2 a4@27 g4@4 a4@4 g4@3 ~]/3", L: "gb4/2",
})).s("gm_bassoon").gain(0.48).pan(0.7)

// other · bassoon · "Lead Alto"
const bassoon_2 = note("<~@123 A B C@2 D@8 E@5 ~@19>".pickRestart({
  A: "~ d3@3", B: "e3 gb3@3", C: "[g3@2 a3@2 g3@2 bb3@3 a3 gb3@6]/2",
  D: "[~@2 e3@3 ~ d3@21 e3@3 f3@21 g3@3 a3@6 g3@6 bb3@9 a3@3 f3@20 ~ e3@3 d3@12 db3@4 d3@4 e3@4 f3@21 e3@3 d3@12 db3@4 d3@4 e3@4 f3@18]/8",
  E: "[e3@6 a3@8 ~ a3@27 g3@4 a3@4 g3@3 ~ gb3@48 ~@18]/5",
})).s("gm_bassoon").gain(0.26).pan(0.3)

// other · piccolo · "Lead Teno"
const piccolo = note("<~@16 A@4 B@2 C@3 ~@7 D@7 E F@2 G H@5 I J@5 ~@105>".pickRestart({
  A: "[~@3 d6@13]/2", B: "[~@3 d5@13]/2", C: "[~@3 d5@19 ~@2]/3",
  D: "[~@12 g5@24 f5@18 eb5@11 g5@12 ~ f5@12 a5@12 g5@12 bb5@11 ~ a5@12 c6@12 d6@6 c6@3 bb5@3 a5@3 c6@3]/7",
  E: "bb5@3 bb4", F: "[d5@17 eb5@6 f5@19 g5@6]/2", G: "f5@5 eb5@6 ~ f5@8 d5@3 ~",
  H: "[eb5@18 f5@5 eb5@6 d5@6 ~ eb5@8 c5@3 d5@18 ~ db5@5 d5@48 ~]/5", I: "d5@3 eb5",
  J: "[f5@17 g5@4 f5@8 eb5@3 ~@4 f5@4 d5@3 ~@2 eb5@20 ~ f5@3 eb5@9 d5@3 ~@3 eb5@3 c5@3 ~@3 d5@15 eb5@12]/5",
})).s("gm_piccolo").gain(0.4)

// other · tenor sax · "Lead Teno"
const tenor_sax = note("<~@75 A B@4 C D@4 E@3 ~@19 F@2 G@3 H@8 I@4 ~@18 J@5 K L@5 M@3 ~@3>".pickRestart({
  A: "~@14 g3@3 a3@3 bb3@4",
  B: "[eb3@12 d4@22 [d4,eb4] c4@27 bb3@3 a3@3 c4@3 bb3@3 ~ d3@2 c4@3 f3@3 d4@3 g3@3 eb4@3 ~ bb3@3]/4", C: "bb3@3 c4",
  D: "[d4@12 ~@3 c4@8 c4@21 ab3@15 ~@3 g3@9 ab3@6 ~ g3@6 ab3@5 f3@6 ~]/4", E: "[g3@6 ~@6 c4@7 ~@4 d4@49]/3",
  F: "[~@15 d4@11 ~ d4@21]/2", G: "[d4@3 d4@24 ~ d4@26 ~@9 d4@9]/3", H: "[~ d4@25 ~@3 bb3@21 a3@8 ~ eb4@3 d4@2]/8",
  I: "[~@3 d4@3 c4@4 bb3@16 ~@6]/4",
  J: "[~@20 g3@3 a3@3 bb3@4 eb3@12 d4@22 [d4,eb4] c4@27 ~ bb3@2 a3@3 c4@3 bb3@3 ~ d3@2 c4@3 ~ f3@2 d4@3 ~ g3@3]/5", // Ebmaj7
  K: "eb4 bb3 bb3@6", L: "[c4@6 d4@12 ~@3 c4@8 c4@21 ab3@15 ~@3 g3@9 ab3@6 ~ g3@6 ab3@5 f3@6 ~ g3@6 ~@6 c4@6]/5",
  M: "[~@5 d4@50 ~@17]/3",
})).s("gm_tenor_sax").gain(0.56)

// other · piccolo · "3rd Tenor"
const piccolo_2 = note("<~@16 A@4 B@2 C@3 ~@14 D E F G H@2 I J K E L@5 ~@105>".pickRestart({
  A: "[~@3 d5@13]/2", B: "[~@3 d4@13]/2", C: "[~@9 d4@58 ~@5]/3", D: "~@3 bb4", E: "bb4@3 c5", F: "d5@3 eb5",
  G: "d5@6 c5@5 d5@9 bb4@4", H: "[c5@17 c5@6 bb4@24 ~]/2", I: "a4@12 g4@11 ~", J: "g4", K: "gb4",
  L: "[d5@17 ~ d5@3 eb5@24 c5@19 ~@2 eb5@12 d5@4 ~@2 eb5@3 c5@3 ~@3 d5@15 ~@12]/5",
})).s("gm_piccolo").gain(0.4)

// other · tenor sax · "3rd Tenor"
const tenor_sax_2 = note(`<
  ~@60 A@2 B C D@4 E F G H I@2 J@7 K@3 L@4 ~@27 M@6 N@3 ~@3 O@8 P@5 Q R S T@4 U V@2 W@2 X@4 ~@3
>`.pickRestart({
  A: "[~ a3@2 c4]/2", B: "d4", C: "db4", D: "[~ f4@2 gb4]/2", E: "f4", F: "g4", G: "a4@23 ~", H: "bb4 a4",
  I: "[~@5 d3@6 ~ bb3@6 a3@5 g3@6 f3@6 eb3@7 d4@6]/2",
  J: "[c4@6 g3@6 eb3@5 g3@3 ~ f3@17 g3@3 a3@3 bb3@15 ~ d4@21 eb4 d4 c4@28 bb3@2 a3@3 c4@3 bb3@6 c4@6 d4@6 eb4@6 d4@18 ~ eb4@6]/7",
  K: "[f4@14 ~ eb4@8 d4@9 ~ c4@3 d4@4 bb3@2 ~@3 c4@15 ~@3 d4@9]/3",
  L: "[c4@6 bb3@6 c4@6 ab3@5 bb3@8 ~@5 f4@8 ~@3 g4@49]/4",
  M: "[~@15 f3@15 g3@47 ~ eb3@24 ~@3 c4@21 ~@3 c4@15, ~@5 d4@29 ~@14]/6", N: "[~ [a3,c4]@4 [g3,d4]@4 ~@3]/3",
  O: "[~@3 a3@4 c4@2 d4@4 db4@4 ~@2 f4@4 gb4@2 ~@2 f4@4 gb4]/8",
  P: "[~@6 f4@24 g4@24 a4@23 ~ bb4@12 a4@12 ~@6 d3@6 bb3@6]/5", Q: "a3@6 g3@6 f3@5 eb3@7", R: "d4 c4 g3 eb3",
  S: "g3@3 f3@17 g3@4", T: "[a3@2 bb3@15 ~ d4@21 eb4 d4 c4@28 bb3@2 a3@3 c4@3 bb3@6 c4@6 d4@6 ~]/4", U: "eb4 d4@3",
  V: "[eb4@6 f4@14 ~ eb4@8 d4@9 ~ c4@3 d4@4 bb3@2]/2", W: "[~ c4@5 ~ d4@3 c4@2 bb3@2 c4@2]/2",
  X: "[ab3@6 bb3@8 ~@4 f4@8 ~@3 g4@49 ~@18]/4",
})).s("gm_tenor_sax").gain(0.48)

// other · piccolo · "4th Tenor"
const piccolo_3 = note("<~@16 A@4 B@2 C@3 ~@15 D E F G@2 H@4 I@5 ~@105>".pickRestart({
  A: "[~@3 c6@13]/2", B: "[~@3 c5@13]/2", C: "[~@3 c5@19 ~@2]/3", D: "d5@18 eb5@5 ~", E: "f5@3 g5",
  F: "f5@5 ~ eb5@5 f5@9 d5@4", G: "[eb5@17 f5@6 eb5@6 ~ d5@5 eb5@9 c5@4]/2", H: "[d5@17 db5@6 d5@48 bb4@18 ~ c5@6]/4",
  I: "[d5@17 eb5@4 d5@9 c5@3 ~@3 d5@4 bb4@3 ~@2 c5@20 bb4@4 c5@9 bb4@3 ~@3 c5@3 ab4 a4 ~@4 bb4@26 ~]/5",
})).s("gm_piccolo").gain(0.48)

// other · tenor sax · "4th Tenor"
const tenor_sax_3 = note("<~@60 A B@2 C ~ D ~ D ~@8 E ~@3 F G@4 H I@2 ~@39 J@8 ~@8 K ~@3 L M@4 N@4 ~@3>".pickRestart({
  A: "~ gb3", B: "f3/2", C: "g3", D: "eb4 ~", E: "eb3 ~", F: "a3@3 bb3",
  G: "[c4@14 c4@9 bb3@22 c4@17 c4@8 ~ c4@6 bb3@6 c4@6 ~ ab3@6]/4", H: "g3@8 ~@3 a3@9 ~@4", I: "bb3/2",
  J: "[~@3 gb3@2 f3@8 g3@4 ~@2 d4@2 eb4@2 c4@2 ~@2 d4@2 eb4@2 c4]/8", K: "~ eb3@2 ~", L: "~ a3@3",
  M: "[bb3@6 c4@14 c4@9 bb3@22 c4@17 c4@8 ~ c4@6 ~ bb3@6 c4@6]/4", N: "[ab3@6 g3@8 ~@3 a3@9 ~@4 bb3@49 ~@17]/4",
})).s("gm_tenor_sax").gain(0.56)

// other · tenor sax · "4th Tenor" · soft notes
const tenor_sax_soft = note("<~@64 A B A C D E@3 ~@63 F@5 ~@19>".pickRestart({
  A: "~ d4", B: "~ c4", C: "~@12 c4@11 ~", D: "d4", E: "[f4@25 gb4@46 ~]/3", F: "[~ d4@4 f4@4 gb4@8 ~@3]/5",
})).s("gm_tenor_sax").gain(0.32)

// other · flute · "Bari Sax"
const flute = note("<~@16 A@4 B@2 C@3 ~@14 D@3 E@2 F G H I J K@5 H ~@104>".pickRestart({
  A: "[~@3 g5@13]/2", B: "[~@3 g4@13]/2", C: "[~@3 g4@19 ~@2]/3", D: "[~@23 bb4@18 ~ c5@5 d5@19 eb5@6]/3",
  E: "[d5@6 c5@5 d5@10 bb4@2 c5@18 ~ c5@6]/2", F: "bb4", G: "a4@12 g4@11 ~", H: "g4", I: "gb4", J: "bb4@11 ~ a4@12",
  K: "[bb4@17 ~ bb4@3 bb4@23 ~ bb4@23 ~@2 c5@8 bb4@3 ~@3 c5@4 ab4@3 ~@2 g4@26 ~]/5",
})).s("gm_flute").gain(0.4)
// … 209 more lines

More by Herman