Strudelify

Butler's Boogie

Henry Butler

KeyB♭ majorTempo120 bpm
0:00/0:00
// Butler's Boogie — Henry Butler
// 120 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 94 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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@2 B C D@2 E F G H I@6 J@6 K@6 L@8 M@2 N O P Q@2 R@2 S@2 T U V@2 W@2 X@2 Y@3 Z@5 AA@6 AB@5 AC@2 AD AE AF AG AH AI AJ
  AK AL AM AN AO@4 AP@3
>`.pickRestart({
  A: "[[f1,f2]@4 ~@4 [d4,bb4,d5]@4 ~@5 eb5@4 ~@3 [e4,bb4,db5,e5,f5]@4 ~@4 bb0@3 ~ bb1@4 [d1,g4,bb4,eb5,g5]@3 ~ [e4,bb4,db5]@4 [f1,bb4,d5]@3 ~ [f2,db4,ab4,db5]@3 ~ [d4,bb4] ~@4 d5@3, ~@16 [eb4,c5]@3 ~@9 [f4,bb4,f5]@9 ~@7 d2@2 ~@10 g1@3 ~ [g2,db5]@2 ~@2, ~@28 db5@2 ~@14 f4 ~@3 [f4,f5] ~@11 [f4,bb4,f5]@4, ~@29 d5@7 ~@28]/2", // F Gm Bbm Ebmaj7 Bbdim Bb Db Gm …
  B: "~ d5@2 ~@4 eb5 [f4,g4] ~ [e4,bb4] ~ [f4,bb4,d5,f5]@4 f1@4 [db4,ab4,bb4,db5]@3 ~ d1@4 [f4,bb4,f5]@4, bb1@3 bb4@4 bb4@2 ~ db5@2 ~@11 [d4,ab4]@3 ~@2 db5@2 ~@2, ~ f5@7 g1@6 ~@18, ~@4 [bb2,f4]@5 ~@3 g2@2 ~@6 f2@2 ~@6 d2 ~@3", // Fsus2 Edim Bb Bbm7 Bb5 Ddim Bb5
  C: "~@4 [bb1,f4]@2 ~@2 [d1,g4,db5,eb5,g5]@3 ~ [d2,e4,bb4,db5]@3 [f4,f5] d5@2 ~@2 f2@2 ~@2 [d4,d5] ~ [f4,f5] ~ [g4,g5]@3 ~, bb0@2 d5@3 ~@14 [db4,db5]@3 ~@10, ~ f5@4 ~@27, ~@3 bb4@3 ~ bb4@3 ~@5 [f1,bb4]@4 ~@5 g1@2 ~ g2@4 ~", // Bb5 Eb7 Bbdim F D F G Db …
  D: "[[bb1,ab4,d5,f5,ab5]@3 ~ [g4,g5]@2 ~@2 [f4,g4,f5] ~ g4@2 c3@2 ~@2 [db2,db5]@3 ~ [db3,c5]@2 ~@2 d2@2 [db4,c5] ~ d3@2 ~@6 eb3@3 ~ gb4 g4@2 ~ f2@2 ~@2 bb1@4 [bb3,eb4,g4,bb4]@4 c2@4 [gb4,bb4,db5]@4, ~@3 bb2@2 ~@3 c2@2 g5 ~@4 db4@3 ~ c4@2 ~@2 bb3@2 ~@3 [bb3,bb4]@11 ~ [db4,bb4]@5 ~@7 bb2@2 ~@6 [e4,f4]@2 ~@2, ~@24 bb4 ~@7 eb2@7 ~ f1@3 ~@17 c3 ~@3]/2", // Bb7 G Fsus2 Db Dbmaj7 Eb Gb Bb …
  E: "~@2 f4 ~ eb2@2 ~@2 [g1,eb4,c5]@4 [g2,g4]@4 [db4,eb4,g4,bb4]@3 ~ ab2@3 ~ [a1,g3,bb3,db4,g4]@4 [a2,db4]@2 d4@2, eb1@4 ~@8 f2 ~@3 ab1@4 ~@12, ~ bb4@2 [bb4,db5]@2 ~@3 gb4 ~@19 [f3,bb3,f4]@4, ~ g4 ~@2 g4 ~@11", // Cm G Eb7 Gdim A Bbm Bb5
  F: "bb1@4 bb2@2 ~@2 [ab1,eb5,g5]@2 ~@3 [db5,d5,f5]@3 ~@4 [g2,f4]@2 ~@2 [f1,g4,eb5,g5]@3 ~@3 d5@2, ~@10 f4@4 ~@3 f5@5 ~@10, ~@6 ab2 ~ g1@3 ~@3 f2 ~, ~@18 d5@3 ~@8 [db5,f5]@3, ~@19 bb4@2 ~@6 f4@4 ~", // Abmaj7 Db G7 Cm Db
  G: "~@4 f4 f5@3 d5 e1 f5@2 ~ d2@2 ~@2 eb1@4 [eb2,f4]@3 ~ [e1,g4]@3 ~ [e2,ab4]@3, bb0@2 d5@2 bb1@4 ~ [d1,eb5,e5]@3 e4@3 ~@17, ~ f5@2 bb4@2 ~@7 f4@6 ~@14", // Ebsus2 Em E
  H: "f1@4 ~ f5@2 ~@2 g1@3 ~ g2@2 ~ ab1@5 [ab2,d5]@3 ~ a1@3 ~ [g2,a2]@3, a4@2 ~@2 f2@2 ~@6 [g4,eb5]@3 ~@6 f4 ~@2 db5@3 ~@5, ~@25 e4@2 ~ eb4@4", // Abdim Gsus2 Cm
  I: "[f1@4 ~ [e2,e4]@2 ~@2 g1@3 ~ [f4,d5]@3 bb4@4 ab2@3 ~ [a1,eb4,g4,bb4]@4 a2 ~@4 [bb1,bb2]@3 ~ [ab1,bb4]@3 ~ f4@2 bb4@2 g1@3 ~ [bb3,e4,bb4]@4 ~@4 [bb3,eb4,bb4]@3 ~ [bb3,db4]@3 ~ [ab1,f2,bb3,d4,bb4]@4 ~@4 [d4,bb4,d5]@4 [d4,ab4,bb4,d5]@4 [eb4,eb5]@4 f1@3 ~ [a1,e4,bb4,db5,e5]@2 ~@3 d5@3 bb0@2 ~@3 f4@3 [d1,g4,bb4,eb5,g5]@3 ~ [d2,e4,bb4,db5]@3 ~ [f1,bb4,d5]@4 ~ [ab4,db5]@3 [g1,d4,ab4,bb4]@3 ~ [g2,f4,bb4,db5,f5]@2 d5@2 ~ d5@2 ~ [bb2,f4]@4 [g4,bb4,eb5]@2 [e4,bb4,db5] ~ [g2,f4,bb4,d5,f5]@3 ~@5 [f2,db4,ab4,db5]@3 ~ [c1,d1,d4]@3 ~ [c2,db5,f5]@2 d5@2 ~@4 bb1@4 [d1,bb4,eb5]@4 [d2,f4,bb4,db5]@3 ~ [f4,d5,f5]@2 ~@2 [f2,db4,ab4,db5]@3 ~ [g1,d4,ab4]@2 [f4,f5] ~ [g2,g4]@3, ~@5 f2@3 ~@4 g2@3 ~ [ab1,eb4]@7 ~@6 f4@6 ~@58 [f4,bb4,f5]@5 ~@2 d5@5 ~@8 f4@2 ~@17 bb4@5 ~@4 [b4,eb5,g5] ~@7 bb4@4 ~@4 [f4,bb4]@5 ~ d5@3 ~@3 g5@2 ~@18 g5 ~@2, ~@5 [f4,d5] ~@2 [e4,db5]@3 ~@17 bb4@5 ~@48 c5@3 ~@15 f5@6 ~@8 f5 ~@16 f5@8 ~@24 f5@2 bb4@5 ~@23, ~@29 db4@2 ~@5 bb3@3 ~ ab2@2 ~@6 g2@2 ~@3 gb1@6 ~@2 f1@8 ~@24 [bb1,db5]@2 ~@6 [bb1,bb4]@4 ~@24 bb1@9 ~@19 d2 ~@7 f4 ~@3 g4 ~@22, ~@30 d4@5 ~@21 gb2@2 ~@59 [f2,db4,bb4]@3 ~@17 g1@6 ~@2 f1@7 ~@9 bb0@4 ~@8 c2 ~@3 [f1,bb4]@4 ~@11]/6", // E Dm Eb Bb Absus2 Bbdim Eb5 Bbm …
  J: "[~ [bb1,d5,f5,ab5]@4 [bb2,g4,g5]@4 [f4,f5] ~ g4@2 c3@4 ~ [bb4,db5]@3 ~ db3@2 ~@2 d2@2 [b3,c4] ~ eb2@2 ~@5 eb2@4 ~ g4@2 ~@6 bb1@3 db4 bb2@2 ~ c2@5 [eb2,gb4,g4,db5]@3 ~@5 eb2@3 ~ [gb4,c5]@3 ~ [f2,g2]@4 [db4,g4,bb4]@3 ~ ab2@2 ~@2 [a1,g3,bb3,eb4,g4]@4 ~ d4@3 ~@4 bb1@3 ~ [d1,g4,eb5,g5]@3 c2@2 ~ d5@2 ~@3 bb4 [e2,f2,f4]@4 [g1,eb5,g5]@2 ~@4 d5@2 ~@8 g4 eb1 ~@3 [g4,db5,d5,f5]@3 ~@5 e4@2 ~ [e1,e4,f4,db5,e5]@3 ~ [eb4,eb5]@4 f1@4 ab4 ~@3 [g1,db5]@4 g2@2 ~@6 a2@3 ~ c2@4 c3@2, ~ ab4@2 ~@6 c2@5 ~@3 [db2,f4]@7 ~@9 eb1@8 [g1,bb3,db4]@3 ~@2 g2@4 db4@2 ~ bb4@2 ~@10 eb1@3 db5@5 eb4@2 ~@19 db4@2 ~@15 [db5,f5]@3 ~ f5@8 ~@4 f5@11 [d1,eb5,g5]@3 ~@5 eb1@4 eb2@2 ~@6 [e2,c5]@3 ~@5 [f2,d5]@6 ~@2 f2 ~@3 a1@7 ~@7, ~@11 g5 ~@5 db4@3 ~ [c4,c5]@2 ~@2 [bb3,bb4]@4 ~ [db4,eb4,g4,bb4]@12 ~@3 [a3,gb4]@4 bb3@2 ~@3 ab4 ~@7 [f4,bb4]@5 g4@2 f4@5 ~@3 g4@4 ~@28 f4@4 ~@3 d5@2 ~@4 g4 ~ f4@3 db5@2 ~@3 d5@2 bb2 f4@5 ~ f4@4 ~@3 d5@3 f4 ~@14 f4@2 ~@2 e4@2 ~@2 [eb4,f4,a4,c5]@11 ~@7, ~@68 bb4@2 ~@3 [g1,g4]@4 ~@5 ab1@7 ~@5 [bb1,f3,bb3,f4]@4 bb0@8 ~@8 f1@4 ~@8 g2@2 ~@2 bb1@10 ~@2 d2@2 ~@5 bb4@3 ~@15 a4@5 ~@20, ~@133 bb4@6 ~@8 f5@5 ~@40]/6", // Bb7 Eb F Bbm Cmaj7 Eb7 Gbdim Fsus2 …
  K: "[~@2 db5@3 ~ [f2,f4,d5]@4 [e4,db5]@3 ~ [g2,f4,d5]@4 ab1@2 ~@2 [ab2,g4]@2 ~@2 [a1,eb4,g4,bb4]@3 ~ [a2,db4]@2 ~@2 bb1@3 ~ eb4 ~@7 g1@4 [bb3,e4,bb4]@4 ~@4 [gb2,bb3,eb4,bb4]@4 db4@2 ~@2 f2@3 ~ bb1@4 [bb1,bb2,bb3,bb4]@3 ~ [bb1,bb2,bb3,bb4]@4 [bb1,bb2,bb3,bb4]@4 [bb1,bb2,bb3,bb4]@3 ~ [ab1,ab2,c4,c5]@4 gb1@2 ~@2 [gb1,gb2]@5 [gb1,gb2]@2 [gb1,gb2] [e4,db5]@4 ~ gb2 [gb1,gb2]@2 [gb1,gb2]@2 ~@3 gb2 ~ gb1 [gb1,gb2]@4 [gb1,ab1,gb2] ~@3 [gb1,gb2]@4 [gb1,gb2]@4 [gb4,bb4,eb5]@4 ~ [gb1,gb2]@2 ~@2 [gb1,gb2]@4 [gb1,gb2]@3 ~ c2@4 db2@2 ~@4 e4 ~ db4@2 ~ f1@2 bb3 ab3 [f2,bb3]@2 ab3 ~@2 ab3 ~@2 ab2@3 ~@2 [gb3,db4]@3 [bb2,e3,db4]@2, ~ f1@5 ~@4 g1@8 bb4 ~ c5@2 ~@10 d4@4 ~@2 [bb3,bb4]@12 ~@12 [bb3,bb4]@7 ~@59 e5@10 ~@21 gb4 ~ f4@2 ab4@2 ~@5 ab3 ~@10 ab3@2 ~@9, ~@21 bb4@2 ~@2 gb4@3 ~@2 [f4,bb4]@8 ~ f4@10 ~@15 d4@5 ~@25 [e4,gb4,bb4,db5]@12 [gb4,bb4]@8 [e4,gb4,bb4,db5]@13 [ab4,bb4,db5,eb5]@12 ~@7 [gb4,bb4,db5]@6 ~@2 [db4,e4,bb4]@4 ~ [e4,ab4]@4 ~ f4@2 ~@3 bb3@2 ~@6 bb3@2 ~ bb3@3 ~@9, ~@34 bb2 ~@3 ab1@8 ~@8 gb1@7 ~ f1@4 ~@40 [gb1,gb2]@2 ~@2 gb1@2 ~@7 gb1@2 ~@17 [gb1,gb2]@2 ~@3 ab1 ~@18 db1@3 ~@27, ~@42 ab2@8 g2@2 ~@42 gb2 ~@25 gb2@2 ~@44 [db2,eb4]@3 ~@9 ab1@4 ~@4 bb1@4 ~@2]/6", // Dm Dbm G7 Abmaj7 Eb A Bbdim Ebm …
  L: "[~@2 [db2,f3]@4 ~ db3@2 ~@9 e2@4 eb4 ab4 ~@2 f1@3 ~@2 gb1@2 ~@6 gb2@3 ~ [bb1,gb4,bb4,db5]@4 bb2@4 [db2,e4,gb4,bb4,db5]@4 db3@2 ~@2 [eb2,e4,gb4,bb4,db5,eb5]@4 [eb3,ab4,eb5]@2 e5 ~@5 [gb3,ab4]@4 [gb4,eb5]@3 ~ gb3 ~@3 [eb2,db4,db5]@4 eb3@2 ~@2 [e2,eb4,bb4,db5,eb5]@4 ~ bb4 ~@2 [f1,f2]@2 ~@2 [f1,f2,f4,f5]@4 [f1,f2,f4,f5]@3 ~ [f1,f2,f4,f5]@4 [f1,f2,f4,f5]@3 ~@2 c2@3 [eb1,eb2,f4,f5]@3 ~ [e1,e2,f4,f5]@4 ~ b4@3 ~@5 [d4,bb4,d5]@3 ~ [ab4,d5]@3 ~ eb5@2 ~ eb5@4 ~ bb4@3 [bb1,db5,f5]@2 d5@2 ~@4 [bb2,f4,bb4]@4 [d2,bb4,eb5,g5]@4 [d1,f4]@4 ~@4 f2@3 ~ g1@3 ~ [g2,db4,db5]@2 [d4,d5]@2 ~@8 [g1,g4,g5]@3 [f4,bb4,db5] ~ g2@2 ~ f1@4 [f2,db4,ab4,db5]@3 ~ [d1,d4]@4 [c2,d2] d5@3 ~@4 [bb1,f4]@3 ~ db5 db1@2 ~ [c2,e4,bb4,db5]@3 ~ [f1,bb4,d5,f5]@3 ~ [f2,db4,db5]@3 ~ [g1,d4,ab4]@2 [f4,f5] ~ [g2,g4,g5], ~@6 [f3,ab3,db4]@3 ~ eb2@12 bb4@4 ~@5 [db4,e4,ab4,bb4]@12 e4@2 ~@2 c5 ~@15 [bb4,db5]@5 e5@2 bb4@5 ~@8 eb4 ~@11 [f4,f5]@6 ~@42 [d4,bb4]@5 ~@7 [e4,db5,e5]@4 [f4,bb4]@5 ~ d5@6 g4@2 ~@6 [f4,bb4]@8 ~@12 [bb2,f4]@5 ~@26 bb4@4 ~@9 f4 ~@12, ~@15 eb3@7 f2@2 ~@11 gb1@8 ~@24 gb2@4 ~@4 [gb2,bb4]@8 ~@12 f2@2 ~@22 [d1,d2,f4,f5]@4 ~@8 [f1,f2,f4,bb4,d5,f5]@3 ~@13 eb4@2 ~@2 eb4@8 ~@4 bb1@7 ~@5 d2 ~@3 f1@4 ~@12 bb1@9 ~@23 bb0@3 ~@5 [c1,g4,bb4,eb5,g5]@3 ~@18, ~@69 db5@7 ~@71 c5@12 ~@5 f5@6 ~@9 db5@2 ~@10 bb4 ~@8 [bb4,f5]@5 ~@2 [f4,bb4,d5,f5]@3 ~@13 [f4,f5]@5 ~ d5@3 ~@24, ~@180 d5@5 ~@38 [bb4,db5]@3 ~@2 f5@4 ~@24]/8", // Db Gb Gb7 Ebm7 Ab5 Gbsus2 Ebm Eb7 …
  M: "[~@3 [bb1,ab4,d5,f5,ab5]@4 [bb2,g4,g5]@2 ~@2 [c2,f4]@2 g4@2 [b2,c3]@3 ~@2 bb4@3 [db3,c4,c5]@3 ~ [d2,bb3,bb4]@2 [c4,c5] ~@9 eb2@4 [g1,db4,eb4,bb4]@4 g2@3 ~ [bb1,eb4,gb4]@4 ~ [bb2,eb4]@2 ~ c2@5, ~@11 f5 ~ g5 ~@5 db2@7 ~@5 eb2@2 ~@2 eb1@8 gb4@2 ~@10 g4@3 ~@6, ~@19 [db4,db5]@3 ~@10 [bb3,bb4]@12 ~@7 db4@2 ~@3 db4 ~@7]/2", // Bb7 Eb F5 Cmaj7 Dbmaj7 Gm C Eb7 …
  N: "[f4,g4,bb4,db5]@3 ~ db5 ~@3 eb3@4 [c2,eb4,g4,c5]@4 [c3,g4]@4 [db4,g4,bb4]@3 ~ bb2@2 ~@2 [g1,g3,bb3,db4,g4]@4, c3@2 ~ eb2@8 ~@9 bb1@4 ~@8, gb4 ~@3 bb4@3 [bb4,db5]@5 ~@20, ~@5 g4@7 [gb4,d5] ~@19", // Gm7b5 Cm C5 Gdim Bbm D
  O: "~ d4@3 ~@4 bb1@4 [d1,eb5,g5]@2 ~@2 [d2,c5,db5]@3 ~@9 [eb4,bb4]@2 ~@2, [f3,bb3,f4]@4 ~@10 f4@4 ~@2 f1@3 bb4@5 g1@4, [bb1,db4]@2 ~@2 bb0@8 ~@4 f5@6 d5@6 d4 ~@3, ~@12 [e2,f2]@3 ~, ~@25 f4@5 ~@2", // Ebmaj7 Eb5 Bb5 Bbm Fmaj7
  P: "db4 d4@2 ~@5 bb2 ~@3 d5 e5@2 ~@2 f5@3 d5 ~@3 [eb2,f4]@3 ~ [e1,e4]@4, [g2,f4,ab4,bb4]@3 ~ bb1@5 [c2,db2,e5]@2 ~ [d2,gb5]@2 ~@2 [d1,eb5,e5]@4 eb1@4 ~@8, ~@8 [c5,d5,eb5]@2 f5@4 ~ d5@2 ~@3 eb5@2 f5@5 ~@5, ~@21 e5@2 ~@9", // Ebsus2 E Gm7 C D Cm
  Q: "[eb4@4 f1@4 ~ [f4,g4] ~@4 db5 ~@5 ab1@4 eb4@4 ~@4 [a2,f4]@4 [db5,f5]@4 [f2,d5,f5]@4 [g1,db5,f5]@4 [g2,d5,f5]@4 [gb1,ab1]@2 ~@3 g4 ~@2 [a1,eb4,gb4,g4,bb4]@3 ~, e2 ~@3 f5@7 ~@21, ~@8 db5@4 ~@3 bb4@7 ~@30 bb4 ~ c5@2 ~@8, ~@4 f2 ~ g1@2 [g2,f4]@3 ~ ab2 ~ a1@4 f1@4 ~@6 ab2 ~@3, ~@9 d5@3 ~@2 d5@2 ~@3 e4@3 ~@33 bb4@2 ~@7]/2", // Fsus2 Dm Db Dm Gm7b5 G7 Gbsus2 Eb …
  R: "[db4@4 [bb1,d4]@4 [db2,ab4]@2 ~@6 d1@4 [bb3,eb4,g4,bb4]@4 eb2@2 ~@2 [e1,e4]@3 ~ e2@4 [f1,f4]@2 ~ g4 ~ bb4 c5@2 db5@2 ~@2 eb5@2 f5 e5 gb5 ~ g5@2 bb5 ~ c6 ~ db6 ~ d6@2, [f4,bb4]@2 [bb3,bb4]@3 ~@2 [db4,bb4]@2 ~@7, a2@2 ~@6 eb4 ~ f4@10 ~@27 d5@3 ~@14, ~@12 d2@8 eb1@3 ~@13 f2 ~@27]/2", // Bb Db5 Eb E F Bb5 Bb Gb
  S: "[f5@2 [db6,f6] ~ [bb0,gb6]@3 gb6 ~ ab6 e6@2 [ab6,bb6] ~ bb6 ~ f6 ~ f6@2 ~ f6@2 ~ [f2,f6]@4 [g1,g6]@3 f5 ~ d6@2 ~@5 [bb2,f5]@4 [eb5,bb5]@3 ~@3 d5@2 ~ gb1@2 ~@2 f2@2 ~@2 d1@3, ~@4 ab6 ~@3 bb1@2 ~@2 d1@2 ~@2 d2@2 ~@2 f1@4 ~@8 g2@2 ~@2 bb1@8 g1@5 [g2,db5]@2 ~ f1@6 ~@6, ~@17 bb6@2 ~ bb6@2 ~ [ab6,bb6]@2 ~@3 eb6 ~@2 db6@4 f6@4 bb5@5 ~@5 bb5@4 ~@11, ~@37 d6@8 ~@19]/2", // Db Ebm Absus2 F G Bb5 Eb5 Gdim …
  T: "~ [d2,gb5,db6]@2 ~ bb0@2 d6@2 ~ bb1@3 ~ d6@2 ~@3 [db6,d6]@3 ~@2 bb5 g5 [e2,f5] ~@2 f5 ~ ab5 [e5,f5], ~ bb5@3 ~@11 c6@2 d2@2 ~@2 f1@3 ~ f2@2 ~@2 g1@3, ~ f5 ~@6 f5@3 ~ d1@3 ~ bb5@2 ~@4 c6@2 ~@6 g5@2", // Dmaj7 Fmaj7
  U: "~ [g2,eb5]@2 db5@2 ~@4 bb2@3 ~ [c5,ab5]@3 ~ [c3,bb4,g5]@3 ~ [a4,gb5]@3 ~ [ab4,f5]@4 d2@2 ~, ~@5 d5@8 ~@12 db3@2 ~@5, ~@5 bb1@4 ~@4 c2@4 ~@4 db2@7 ~@4, ~@7 bb5@5 ~@20", // Cm Fm C7 D Db
  V: "[~ [eb2,c5,db5,f5]@3 ~ [eb1,c5]@4 [eb2,bb4]@3 ~ [g1,c5]@2 g4 ~ g2@2 ~@2 bb1@4 gb4 g4@2 ~@2 g4@2 ~ [c3,f4,g4,bb4,db5]@4 [f4,g4,bb4,db5]@3 ~@2 e4@2 ~ [g1,eb4,g4,c5]@4 [f2,g2]@3 ~@5 ab2@2 ~@2 [a1,eb4,g4,db5]@3, ~@17 bb4@7 ~ [bb2,f4,bb4,db5]@3 ~ c2@8 eb2@7 ~ gb1 ~@7 [ab1,eb4,g4,bb4]@7 ~@4, ~@29 [f4,gb4,bb4,db5]@3 ~@5 gb4 ~@2 [bb4,db5]@4 ~@20, ~@41 eb3@3 ~@20]/2", // Dbmaj7 Cm Eb5 C5 Gm7b5 Cm Fsus2 A7 …
  W: "[~@4 d5 bb0@4 ~ f4@2 ~ [d1,db5]@2 d5@2 [d2,eb5,g5]@4 e5 bb5 ~ [f5,bb5] ~ [f2,f5,bb5]@3 [g1,bb5]@2 ~ bb5@2 [g2,f5,bb5]@3 [f5,bb5]@2 ~ [f5,bb5]@2 ~ bb5@2 f5 d1@2 [f5,bb5]@2 [d2,f5,bb5]@3 [f5,bb5]@2 ~ bb5@2 ~ bb5@2 ~ [e1,f5,bb5]@2, ~ [bb1,db4,db5]@2 d4@3 ~@3 bb1@2 ~@10 f1@4 ~@12 bb1@8 bb5@2 ~@9 f5 ~@2 f5 ~@4, ~@2 [ab4,bb4]@4 ~@7 f5 ~ f5 ~@13 f5 ~ f5@2 ~@9 [bb2,f5]@4 ~@7 eb1@3 ~@2 eb2@2 ~@4]/2", // Dmaj7 Ebmaj7 Bb5 Gm Gm7 Bb5 Bb Bb5 …
  X: "[bb5 ~ [e2,bb5]@2 ~@2 a5 ~ g5 ~ f2@2 ~@3 g5@2 f5 ~@4 ab1@4 [ab2,db5,f5]@3 ~ d5@3 ~ [a2,eb5]@3 e5 gb1 ~@3 e2 ~@2 [eb5,g5]@3 ~ [g2,eb5,g5]@3 ~ db5@2 ~@6 [a1,eb4,bb4]@3, f5@4 ~ [c5,eb5,ab5]@3 a5@4 g5@2 g1@4 [g2,e5]@2 ~@10 [a1,f5]@7 f1@7 ~ g1@4 ~@4 ab1@11, ~@6 f1@4 ~@3 f5@2 ~@4 eb5@6 ~@8 g5@3 ~ [f5,bb5]@3 ~ [f2,f5,bb5]@3 ~@11 f5@2 [ab2,bb4]@6 ~, ~@7 d5, ~@59 f4@5]/2", // Edim Db Adim Eb Cm Eb Ab C …
  Y: "[~@5 bb1@3 ~@2 d2@3 d1@4 d2@2 ~@6 eb2@2 ~@2 [db4,e4,g4]@2 ~@2 e2@4 ~ f4 ~ gb4 ~ g4@2 bb4 ~ c5 ~ db5@2 d5 ~@2 f5 ~@3 g5@2 bb5 ~ c6 ~ db6@2 d6@2 e6 ~ [d6,e6,ab6] ~ [f6,ab6] ~ [f6,ab6] ~ [f6,ab6]@2 f6 ab6 ab6@2 ~ ab6@2 [f6,ab6]@2 f6@2 [f6,ab6] ~ [f2,f6,ab6]@2 f6 ~ f6 ab6, ~ [f4,bb4]@7 ~ [bb3,f4,ab4,bb4]@10 ~@77, ~ [a2,db4]@2 d4@5 db2@2 ~@11 [eb1,bb3,eb4,g4]@6 ~@2 [e1,bb4]@8 [f1,f2]@8 ~@24 bb0@2 ~@2 bb1@4 d1@4 ~ d2@4 f1@4 ~@4 g1@2, ~@2 ab4@7 ~@13 bb4@6 ~@27 gb5@4 ~@20 f6 ~ f6@2 ~@3 ab6 ~@6 ab6@2 ~]/3", // Dbdim E7 Fm Bb5 Bb7 A Eb Edim …
  Z: "[~ ab6@2 [f6,ab6]@2 ~@2 e6@2 f6 ~ e6 ~@4 db6@2 [c3,f6]@2 ~@3 ab6 ~ [eb6,gb6] [db3,b5]@2 ~ e6 ~@3 eb6 d3 a5 db6 ~ e6 ~ ab6@2 e6 eb6@2 a5 ~ e6 [f6,ab6]@2 e6 [ab2,eb6]@2 a5 ~ e6 ~ a6 e6 eb6 bb5@2 ~@7 f6@2 ~ eb6@2 ~@2 bb5@2 d1@2 db5@2 d5 bb5@3 ~ gb1@3 ~ [bb4,bb5]@2 ~ [c5,c6]@2 ~@2 [gb5,db6,d6]@3 ~@2 f5 ~@2 [eb2,g5]@4 c6@2 g5@2 f2@2 ~@2 bb1@3 ~ [bb2,bb5]@2 ~@7 [d5,ab5]@2 ~ [f5,ab5,bb5]@3 ~ [eb3,f5,ab5,bb5]@4 [eb5,g5]@3 ~ [db3,eb5,g5]@4 db5@2 ~@3 f4@2 ~ [bb1,b1,eb4,bb4,b4]@2, ~ g2@4 ~ bb1@4 [bb2,ab6]@3 ~ c2@2 eb6 ~@3 ab6@2 db2@4 ~@4 [d2,ab6]@4 ~@4 bb1@6 ~@2 ab1@6 ~@3 g1@6 ~@2 f1@5 db6@2 ~@4 [d6,f6]@3 ~@27 bb5@6 g1@4 g2 ~@11 c2@7 ~ eb2@8 db2@8 c2@6 ~@4, ~ f6 ~@3 [f6,ab6]@3 ~@5 eb6@2 bb5@2 ~@4 e6@3 ~@5 f6@3 e6@2 ~ bb5@2 ~@5 bb2@2 ~@11 f6@3 ~ g2@2 ~@3 f6@3 [e2,f2,f5]@3 ~ bb0@3 ~ bb1@2 ~@5 d2@2 ~@2 f1@4 f2@2 ~@2 g1@4 [f2,g2,f5] ~@3 eb1@8 e5 ~@3 [db5,bb5]@7 ~ db5 ~@7 [c3,eb5,e5,bb5]@3 ~@20 db5@4 ~@3, ~@56 ab6@2 ~@2 d6 ~ db6@3 d6@4 d6 ~@2 g6 ~@3 f5 ~ eb5 ~@19 [g5,bb5]@4 ~ g5@2 db6@6 ~@41 f5@2 [c3,bb4]@3 ~@3]/5", // Fm F5 Ebm Db7 Fm Ab5 Bb C …
  AA: "[~@4 d4@2 bb0@3 ~ [bb1,f4]@2 ~@3 d5@2 ~@2 db5@2 ~ [f1,bb5]@3 ~ [f2,bb5]@3 ~ [g1,f5,bb5]@4 [g2,bb4,bb5]@4 [bb4,bb5]@3 ~ [bb2,bb4,bb5]@4 [c2,d2,g4,eb5,g5]@3 ~@2 f5@3 ~ d5@3 [eb2,f4]@2 ~@3 g4@2 ~@2 f5@3 db5 [d5,f5]@3 ~ [f2,f4]@4 [a1,eb5,g5]@2 f4@2 [g2,a2,f4,g4] d5@2 ~@2 eb5@2 ~ [c3,f4]@2 ~@2 [d2,g4,eb5,g5]@3 ~@3 d5@2 ~ eb5 ~@2 [f2,f4]@3 ~ [g4,eb5,g5]@3 ~ [d2,f4]@4 ~@4 eb1@3 ~ [f1,g4,eb5,g5]@2 ~@3 d5@2 ~ bb0@2 ~@3 f4@3 [e1,db4] ~@3 [c2,d2]@4 ~@4 eb2@3 ~ [e1,db4,e4,g4,bb4]@3 ~ [d4,f4,g4,bb4]@3 ~ f2@4 [bb1,bb2]@2 ~@2 [bb1,bb2]@4 [bb1,bb2,bb3,bb4]@4 [bb1,bb2,bb3,bb4]@4 [bb1,bb2,bb3,bb4]@3 ~ [ab1,ab2,c4,c5], ~@2 [bb1,db4,f4,bb4]@3 ~@9 [d1,db5,f5]@3 ~@5 [gb1,e5] ~@15 bb1@8 ~@4 [d1,db5]@4 eb1@7 ~ e1@4 [e2,db5]@3 ~ f1@4 ~@26 [db5,f5]@3 ~@2 [bb4,d5]@6 ~@8 f5@7 ~@5 f5@8 bb1@3 ~ [d1,bb4]@4 ~@4 [eb1,bb3,eb4,g4,bb4]@7 ~@9 f1@2 ~@23, ~@3 ab4@2 ~@10 eb1 ~@2 [d2,eb5,g5]@3 ~ f5@7 ~@5 f5@12 ~@8 f5@4 ~@4 [eb5,g5]@2 ~@19 [db5,f5]@3 ~@2 f5 ~ [bb4,d5]@2 ~@6 f4@4 ~@18 d5@6 ~@5 db5@4 ~@2 d5@6 ~ d4@7 ~@20 [bb3,bb4]@8 ~@13, ~@54 db5@2 ~@15 gb1 ~@15 c2@6 ~@6 f2@2 ~@2 f1@7 ~ d1@7 ~ [e1,db5]@3 ~@9 [ab1,bb1,f4]@2 ~@5 bb4@5 eb4@2 ~ bb4@4 ~@42]/6", // Bb5 Gm7 Gm Bb Cm Ebsus2 Dm F …
  AB: "[~@3 [gb1,gb2]@4 [gb1,gb2,gb4,bb4,db5]@3 ~ [gb1,gb2]@2 ~@3 [ab1,g4] ~@2 [gb1,gb2]@3 ~ [gb1,gb2,gb4,bb4,eb5]@3 ~ [gb1,gb2,e4,ab4,db5]@2 ~@2 [gb1,gb2,gb4,bb4,eb5]@3 ~ gb2 e5@2 ~@5 gb2@4 [gb4,bb4,eb5]@3 ~ e2@3 ~ [eb1,ab4,db5]@4 eb2@2 ~@2 [eb4,eb5] ~@3 [c2,e5] f5@2 e5 ~@2 bb4@2 [db2,db5] ~ [d5,e5] ~@2 [d5,e5] ~@2 f2@2 [db5,eb5] bb4 [bb1,ab4] ~@2 ab4 [ab2,bb4]@2 ab4 g4 [bb1,gb4]@4 bb2@3 ~ [d4,e4] ~ e4 ~ db3@4 ~@4 eb3@2 ~@2 e2@5 [e3,db4,db5]@2 ~ [gb2,eb4,eb5]@4 ~ e5@2 ~@5 gb2@4 [bb1,bb4,eb5]@4 ~ bb2@3 ~ [db4,eb4] ~@3 db3@2 ~@2, ~@7 e4 ~@7 bb4@5 ~@15 [ab4,eb5]@4 ~@2 bb4@5 ~@37 bb4 ~@5 bb4@2 ~@40 [ab4,bb4,eb5]@4 ~@2 bb4@2 ~@8 bb4@3 ~ [ab4,db5]@6 ~@3, ~@15 [gb1,gb2,ab4,db5,eb5]@3 ~@17 gb1@2 ~@2 gb1@8 e1@7 ~@9 d1@4 ~@4 db1@3 ~ eb2@2 ~@2 [f1,ab5]@3 ~@5 ab1@4 ~@12 db2@4 ~@4 eb2@4 ~@4 eb2 ~@11 gb2@2 ~@2 gb1@3 ~@13 db2@3 ~@6, ~@16 d5@3 ~@21 e5@7 ~@25 eb5@2 ~@4 f5@2 ~@2 eb5@2 ~@28 db5@9 ~@15 e5@3 ~@21, ~@42 ab4@4 ~@9 e4 ~@49 f4@6 db4@9 ~@18 ab4@5 gb4@2 ~@15]/5", // Gb Abmaj7 Gb Ebm Dbm Ebm Dbsus2 Eb …
  AC: "[[eb2,bb4,eb5]@4 ~ e5@2 ~ eb2 eb5 ~@2 e3@3 [eb2,bb4,eb5]@5 eb3@3 ~ ab4@3 ~ [eb2,eb4,eb5]@3 ~ e5@3 ~ e2 ~@3 e2 ~@3 [f1,e2,f2,f4]@3 ~ [f1,f2,f4]@3 ~ [bb4,c5]@3 [f1,f2,f4,bb4,c5,f5]@4 ~ [f1,f4,bb4,c5]@4, ~@4 [ab4,bb4]@4 e5@2 [ab4,bb4]@4 ~ ab4@2 ~@7 e4 ~@10 f4@6 ~@2 [bb4,c5,f5]@4 [bb4,f5]@3 ~@14, ~@4 [eb3,eb5]@2 ~@2 e2@7 ~@8 [db2,db5]@3 ~@5 [f2,e4]@4 f2@2 ~@2 f2@2 ~@10 [f1,f2,f4,f5]@4 ~@4 [f2,f5]@4 ~, ~@9 d5@5 ~@22 f5@6 ~@22]/2", // Eb5 Eb Fmaj7 F Bbsus2 Fsus4 Absus2 Bbsus2 …
  AD: "[f1,f2,f4,bb4,c5,f5]@3 ~ [f1,f2,f4,c5,f5]@4 [f1,f2,f4,db5,d5,f5]@4 ~@5 d5@2 ~ [g4,eb5,g5]@3 ~ [f4,c5,db5,f5]@2 ~@4 f4 ~, ~@3 bb4@5 a4@2 ~@6 [f4,db5,f5]@3 ~@8 f5@2 bb4@2 ~, ~@28 d5@3 ~", // Fsus4 F5 Db Cm Dbmaj7 Db
  AE: "~ [eb4,bb4,b4]@3 ~@2 d4@2 bb0@2 eb5 ~ [bb1,e4,f4]@3 ~ [d1,bb4,eb5,g5]@3 ~ [d2,f4]@4 [f1,f4,bb4,db5,d5]@2 ~@2 f2@2 ~@2, ~@4 [db4,f4,bb4]@3 ~@9 g4 ~@9 f5@4 ~@2, ~@5 [bb1,ab4]@3 ~@24", // Bmaj7 Bb Ebmaj7 Dm Bb Bbm Bb7
  AF: "[g1,d5]@3 ~ [f4,bb4,db5,f5]@3 ~ f5@2 ~@2 bb2@4 [g4,eb5]@2 [e4,bb4,db5] ~ [f4,bb4,d5,f5]@4 g1@4 [g2,db4,ab4,db5]@2 ~@2, ~@4 g2@2 ~ d5@2 ~ d5@6 ab1@4 ~@4 ab1@3 ~@5, ~@4 bb1@5 ~ ab2 ~@5, ~@11 [f4,bb4]@6 ~@15", // G5 Bbm Cm Bbdim Bb Db Bb5
  AG: "[f1,d4,ab4,bb4]@4 f2 d5@3 ~@4 [bb1,f4]@4 [d1,bb4,eb5]@4 [d2,e4,bb4,db5]@3 ~ [f1,f4,bb4,d5,f5]@3 ~@2 ab4@2 ~, ~@4 [f4,bb4,f5]@4 bb0@2 d5@6 [f4,g4,db5] ~@11 [f2,db4,db5]@3 ~, ~@4 db5@2 ~@3 f5@8 ~@15, ~@11 bb4@5 g5@2 ~@14", // Bb7 Bb5 Ebmaj7 Bbdim Bb Bb5 Gm7b5 Db
  AH: "[d4,d5] ~ [f4,f5] ~@2 [g4,g5]@2 ~ [ab4,d5,f5,ab5]@3 ~@2 gb5@3 [f4,g4,f5] ~ g4@2 c3@2 ~@3 [db4,db5]@3 [db3,c4,f4,c5]@3 ~, g1@2 ~@2 g2@2 ~@2 bb1@8 c2@4 ~@4 db2@7 ~, ~@12 [bb2,g4,g5]@5 ~ g5 ~@5 f4@3 ~@5", // D F G Ddim Fsus2 Db Dbmaj7 Eb
  AI: "[d2,bb3,bb4]@2 [c4,c5] ~@9 eb2@4 ~ g4@2 ~@2 gb4@3 [db4,g4,bb4]@3 ~ [bb2,c5]@2 ~@2, ~@2 eb2 ~ eb1@4 g1@2 [g2,c4] ~ bb1@2 ~@2, ~@5 [bb3,bb4]@11 bb4@7 ~@9, ~@16 [db4,gb4]@2 ~@10 eb4 ~@3", // Gm C Gdim Bbsus2 C5 Bb Gb5
  AJ: "c2@4 ~ g4@3 ~ g4 ~@2 eb2@4 ~ c5@2 ~@2 [db4,bb4]@3 ab1@4 ab2@2 ~@2, ~@4 db5@4 ~@3 db5@5 ~@16, ~@4 [eb2,gb4]@2 ~@2 eb1@4 f4 ~@3 g1@4 g2@2 ~@10, ~@5 [f4,bb4]@5 ~ bb4@2 ~@3 [eb4,g4]@2 ~ g4@5 ~@8", // Gb Ebm Bb5 Eb
  AK: "[a1,g3,bb3,db4,g4]@3 ~ [a2,db4]@2 d4@2 bb1@5 bb2@3 ~ [ab1,eb5,g5]@2 f4@2 [f4,g4] d5@2 ~ f5@3 ~ g2@2 ~, ~@4 [f3,bb3,f4]@4 ~@13 [ab2,db5,f5]@3 g1@7 ~, ~@28 f4@3 ~", // Gdim A Abmaj7 Fsus2 Bb5 Db
  AL: "~ [g4,eb5,g5]@2 ~@2 [e2,f2] d5@2 ~@3 bb4 ~ bb1@3 [d1,eb5,g5]@3 ~@2 [c2,d2,db5,d5,g5]@3 ~@6 f4@2, ~ f1@4 db5@3 ~ f5@7 g4 ~@4 f5@4 ~@2 d5@2 eb2@2 ~, ~@3 f4@4 ~ bb0@2 d5@2 f4@5 ~@8 eb1@6 ~, ~@28 bb4@3 ~", // Cm Fmaj7 Ebmaj7 Csus2
  AM: "~ [eb1,e1,e4]@4 eb4@4 ~@4 f2@4 [a1,f4]@3 ~ f4@4 f4@4 [c3,f4]@3, ~@5 e2@2 ~@2 f1@8 ~@4 a2@10 ~, ~@5 f4 ~@11 f5@15, ~@25 c2@7", // Emaj7 Dm F5
  AN: "~ d2@3 ~ [d3,f4]@4 [f2,db5,f5]@3 ~ [f3,f5]@4 [g2,eb5]@4 [g3,db5,f5]@2 d5@2 ~@4 [ab3,f4]@2 ~, ~@12 d5@4 ~ g5@2 ~@6 ab2@7, ~@26 f5@2 bb4@3 ~, ~@27 d5@4 ~", // Dm Db F Cm Gm7b5 Db
  AO: "[~ [a2,eb4,bb4]@4 db4@4 [bb1,bb2,d4]@3 ~ ab4@3 ~@5 g1@4 [bb3,e4,bb4]@4 ~@4 [gb2,bb3,eb4,bb4]@3 ~ [f1,bb3,db4]@4 [f2,bb3,bb4]@3 ~ eb4 e4 f4@2 bb4 ab4 f4@2 ~ ab1@3 [bb3,e4,bb4]@4 ~@4 [gb2,bb3,eb4,bb4]@3 ~ [f1,db4]@4 [f2,bb3,d4]@4 eb4 e4 ~@7 ab1@3 [bb3,e4,bb4]@4 ~@12 [f2,f4,d5]@3 ~ [g1,e4,db5]@3 ~ [a1,eb4,c5]@4 db4 ~ d4@2 ~@7, ~@5 [f4,ab4,bb4]@7 ~ [bb3,bb4]@11 ~@27 bb3@6 ~@12 bb3@2 ~@6 [bb3,bb4]@3 ~ ab2@2 bb4@5 ~@40, ~@5 bb2@2 ~@6 ab1@8 ~@8 gb1@7 ~ gb1 ~@7 [ab1,bb3,bb4]@4 ~@4 g1@4 ~@4 gb1@7 ~@9 ab1@5 bb3@6 ~ g2@2 ~@6 [gb2,bb3,eb4,bb4]@7 ~@24, ~@17 ab2@7 ~ g2@2 ~@22 ab2@2 ~@6 g2@2 ~@19 f4@10 ~@40, ~@85 g1@6 ~@2 gb1@8 f1@7 ~@9 [bb1,bb4]@4 ~@7]/4", // Eb Bb Bbdim Ebm Bbm Bb5 Bbdim Ebm …
  AP: "[~@2 bb1@11 ~@28 bb7@30 ~@25, ~@2 [e4,g4]@19 e4@7 g5 ab5@8 d7 e7 g7@31 ~@26, ~@2 [ab3,c4]@16 ab3@53 ~@25, ~@2 bb0@3 ~@9 f2@8 g4@49 ~@25, ~@19 c4@7 d5@45 ~@25]/3", // Em Ab
})).s("gm_piano").gain(0.41)

// chords · piano · soft notes
const piano_soft = 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 AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP@2 AQ ~ AR AS AT AU
  AV AW AX AY AZ@2 BA BB BC BD BE BF BG@2 BH BI BJ BK BL BM BN BO BP BQ BR BS BT@2 BU BV BW BX BY ~ BZ CA CB CC CD CE CF
  CG CH@3
>`.pickRestart({
  A: "~@9 ab4 ~@19 eb5 ~@2", B: "~@24 ab4 ~@7", C: "~@28 eb5 ~ d5@2", D: "db1 ~@31", E: "~@16 eb2 ~@9 c4 ~@5",
  F: "~@8 gb1 ~@8 b1 ~@11 ab4 ~@2", G: "f4 db5 ~@7 db5 ~@20 e4 ~", H: "~@13 gb5 ~@18",
  I: "~@13 f5 ~ f5 ~ e1 ~@7 ab4 ~@6", J: "~@9 ab1 ~@7 bb1 ~@7 f4 ~@6", K: "~ [gb1,db5] ~@8 ab1 ~@2 db5@3 ~@13 gb4 ~@2",
  L: "~@5 [a3,b3] ~@3 bb3 ~@2 bb3 ab1 ~@15 [gb1,bb4] ~@2, ~@5 f4@3 ~@24", M: "~@5 eb5 ~@16 gb1 ~@9",
  N: "~@10 eb1 ~@7 gb1 ~@11 eb5@2", O: "~@10 ab1 ~@6 gb1@2 ~@6 ab4@3 ~@4",
  P: "~@6 [db1,f5]@3 ~@9 gb1@2 ~ bb4@3 ~@2 bb4 ~@5", Q: "~@6 gb5@4 db2 ~@5 gb4 ~@5 bb4 ~@5 [b4,c5] ~@2 b4",
  R: "~@10 ab1 ~@3 c4@6 ~@12", S: "~@2 db5 f4 ~@2 g4@3 ~@17 a3@3 ~@3", T: "~@10 [eb1,a5] ~@4 d2 ~@10 gb5 ab1 ~@4",
  U: "~@23 gb1 ~@3 c5@2 ~@3", V: "~@2 gb1 ~@15 bb1@7 ~@2 db2 ~@4", W: "~@6 db5@3 ~ ab1 ~@21",
  X: "~@14 ab1@3 ~@13 gb1 [b3,ab4]", Y: "~@11 ab4@2 ~@2 ab4@10 ~@7", Z: "~@3 ab1@7 ~ ab1 ~@3 ab1@3 ~@5 ab1@7 ~@2",
  AA: "~@3 ab1@7 ~@9 ab1@4 ab1 ~@8", AB: "~@15 e2 ~@16", AC: "~@15 gb2@7 ~ gb1 ~@7 gb4", AD: "~@7 e4@2 ~@7",
  AE: "g4 ~@5 eb5 ~@25", AF: "~@8 [e2,bb4]@4 ~@12 eb1@3 ~@5", AG: "gb1@3 ~@5 db5 ~@19 eb5@3 ~",
  AH: "~@9 d2 ~@10 gb1 ~@7 ab1@2 ~@2", AI: "~@8 d5@4 a1 ~@8 db5 ~@2 bb4@3 ab4@3 ~@2, ~@4 b1@8 ~@12 ab1 ~@7",
  AJ: "g4 ~@7 db1@2 ~@6 f4@2 ~@2 gb1 ~@6 bb4@2 ~@3", AK: "~@12 db2 ~@15 ab4@3 ~", AL: "~@8 gb1@3 ~ g4@3 ~@17",
  AM: "~ b4 ~@4 f4@2 f4@4 db2 db5 ~@13 ab1 ~@4, d5 ~@15", AN: "~@2 e4 ~ a0@7 ~ g4 ~@8 gb1 ~@3 db2@4 ab1 ~@2",
  AO: "~@5 eb5 ~@7 eb5@2 ~@2 [eb1,gb5]@3 ~@2 gb5@2 ~ gb1@2 ~@2 db5@3, ~@12 c2@2 ~@11 eb1 ~@6", // Ebm
  AP: "[~@5 gb1@4 ~@4 ab1 ~@3 f2@5 ~@7 bb1@7 ~ gb1 ~@7 [ab1,gb5] ~@3 gb5@4 g1 ~@3 bb1 ~@6]/2", // Ab7
  AQ: "~@9 gb4 e4 ~@6 eb1@3 ~@8 g4@3 ~",
  AR: "~@3 d6@2 g6 ~ d6 ab6 ~ gb6 ~@2 e6 ~ ab6 ~ c2 ab6 ~@2 gb1 ~@4 bb6@3 ab6 ~ g5",
  AS: "~@13 ab1 ~@3 gb5 ~@8 ab1 ~@2 eb1 ~@2",
  AT: "~ eb1 b5 ~ f5 ~ c6 ~ g5 ~ [db1,eb6] ~@2 db6@2 ~@3 g5 ~@2 gb1 d6 ~@4 g5@2 ~@3, ~@2 c6@2 ~@17 db6@2 ~@9, ~@3 g5@3 ~@26", // Dbsus2
  AU: "~@6 a1 ~@6 db2 gb5 ~@10 e5@3 ~@4, ~@25 gb5 ~@6", AV: "~@2 d5@3 ~@13 a4 ~@7 ab4 ~@5",
  AW: "~ gb4@3 ~@2 d5 ~@3 f4@2 ~@19 bb4, ~@9 [g4,b4]@3 ~@20", AX: "~@8 gb5@2 ~@12 gb1 ~@7 ab1 ~",
  AY: "~@14 eb1 ~@12 gb1 ~@4",
  AZ: "[~@3 gb1 ~@3 gb1 ~@2 [c5,ab5]@2 ~@18 bb1@4 [db5,d5]@2 ~@2 ab5@2 ~@6 [ab1,ab5] ~@3 ab5@3 ~@11, ~@38 eb5 ~@25]/2", // Fm Dmaj7 Ab
  BA: "~@14 eb1@5 ~@7 gb1 ~@5", BB: "~@20 [d5,eb5] ~ e5 ~@9", BC: "~@2 db6 ~@7 db1@2 e6 ~@9 gb1 ~@9",
  BD: "~ e6 ~@6 ab6 ~@5 db6 ~@3 e6@2 ~@2 f6 c2 ~ db6 e6 c6 ~ d6 ~ bb6",
  BE: "~@7 f6@2 ~@3 db6 bb5 ~@6 bb5 ~@2 ab1 bb6 ~@5 a5 ~",
  BF: "gb1 ~ bb5@4 ~@2 gb6 ~ eb6@2 db1 ~@2 [eb1,bb5,b5] ~@4 b5 ~@10 ab1, ~@2 e6 ~@29", // Bmaj7
  BG: "[~@2 ab1 b5 c6 f5 db6 ~@3 f5@4 ~ f5 ~@3 [eb5,b5] ~@3 a1@2 ~@2 ab2 ~@3 db2@6 ~@10 db5 ~@7 db2 ~@8]/2", // Abm
  BH: "~@3 b1 ~@3 eb5 ~@3 [b1,c2] ~@11 ab5@2 ~@6 ab1", // Cmaj7
  BI: "~@3 ab5@3 ~@6 d2@2 ~ gb5@2 ~@2 f4@3 ~@5 gb1@2 ~@2 gb5, ~@11 ab5@3 ~@18",
  BJ: "~@3 ab1@2 ~@3 gb5@2 ~@6 bb1 ~@3 gb5@2 ~@2 db2 ~@2 f5 ~@4",
  BK: "gb5 ~@3 g4 ~@3 f5@6 ~ gb5@2 ~@3 gb1@2 ~ [f4,g4] ~@8, ~@8 gb1 ~@6 eb1 ~@16", BL: "gb5 ~@14 eb1 ~@12 gb1@2 ~@2",
  BM: "~@4 ab4 ~@19 ab4@5 ~@3", BN: "bb1 ~@3 ab1@3 ~ ab1 ~@7 c5 ~@3 ab1@2 ~@2 [ab1,db5]@2 ~@6",
  BO: "~@4 [bb4,b4] c5 ~@2 eb5@7 ~@5 gb1@2 ~@10", BP: "~@4 ab5@2 ~@3 db5 ~@2 eb5 ~@19, ~@4 eb1 ~@27",
  BQ: "~@12 eb2@3 ~@6 eb2 ~@10, ~@11 db5@4 ~@17", BR: "~@5 b4 ~@26", BS: "~@5 eb2 ~@3 db5@6 ~@10 bb4 ~@3 gb2 ~@2",
  BT: "[~@12 [gb1,g4]@3 c5@3 ~@7 eb5@15 eb5@2 ~@3 f5 ~@7 gb5 ~@3 b4 ~@6, ~@40 bb4 ~@23]/2", // Gmaj7
  BU: "~ e4@2 ~@14 eb1 ~@6 g4 [gb1,b4,c5] ~@2 f4@2 ~@2", BV: "bb4 [ab1,b4] ~@3 eb5 ~@15 ab1 ~@10",
  BW: "~@5 e2 ~@3 b0@2 ~@2 db1@3 ~ eb1 ~@7 gb1 ~@6, ~@9 db1 ~@22", BX: "~@9 gb5 ~@3 a4@4 ~@4 b2 ~@10",
  BY: "~@17 ab1 ~@14", BZ: "~@5 g2 ~ e4 ~@17 ab1 ~ bb4 ~@4, ~@26 d5@5 ~", CA: "~@17 gb5 ~@4 gb5 ~@4 f5@3 ~@2",
  CB: "~@9 gb1@7 ~@14 eb2 ~", CC: "~ eb2 ~@3 c3@3 ~ f4@2 ~@6 ab5 ~@4 gb5@2 ~@8",
  CD: "~@2 d4@3 ~@8 e4 ~@7 ab1@2 ~@3 ab4@4 ~@2, ~@13 f4@10 ~@9, ~@9 bb1@3 ~@4", CE: "~@7 gb4 ~@6 bb1 ~@5 bb4@4 ~@8",
  CF: "~@5 gb1 ~@8 [ab4,b4] ~@11 ab1 ~@5", CG: "~@6 gb1@2 ~@2 [gb1,db5]@2 ~@6 db5@4 ~ ab4 ~@8, ~@3 ab1@5 ~@24",
  CH: "[~@36 ab6@35 ~@25, ~@3 gb4@24 e5@44 ~@25, ~@13 bb1@58 ~@25, ~@16 d3@15 c6@2 e6 [f6,g6]@37 ~@25, ~@25 ab4@45 ~@26]/3", // Fsus2
})).s("gm_piano").gain(0.2)

stack(piano, piano_soft)

More by Henry Butler