Strudelify

Charleston Rag

Eubie Blake

KeyD♭ majorTempo228 bpm
0:00/0:00
// Charleston Rag — Eubie Blake
// 228 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 177 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(228/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 · "A.PIANO 1"
const piano = note(`<
  A B C@2 D E F@2 D G H@2 I@2 J K L M N O P Q R S T U H@2 I@2 J V L W X Y Z@2 AA@2 AB@2 AC@4 AD@2 AE@2 AF@2 AG AH AI AJ
  AK AL AM@4 AN@2 AO AP AQ@2 AR AS AT@4 AU@2 AV@2 AW AX AY AZ@2 BA BB BC BD BE BF@2 BG BH BI@2 BJ@2 BK BL BM BN BO BP@7
  BQ BR BS@2 BK BL BT BN BO BU@8 BV BW BX BY BZ CA CB CC CD CE CF CG CH@3 CI@3 CJ CK CL CM CN CK CO@7 CP CQ CR CS CT CU
  CV CW CX CY CZ DA DB DC DD DE DF DG@4
>`.pickRestart({
  A: "~@13 c5@2 eb5", B: "e5 ~@14 g5",
  C: "[bb5@2 [c6,c7]@2 ~@2 [db6,db7]@3 ~ [f5,f6] [gb5,gb6] ~@3 [gb5,g5] ~@2 [c5,c6]@2 ~@2 [db5,db6]@2 ~@2 f5 ~ gb5@2 ~@2, bb6 ~@14 bb4@2 ~@15]/2", // C Db F Gb Gmaj7 C Db
  D: "~@2 gb2 bb4 [eb3,bb3] ~ gb2 ~ [bb3,c5] ~@2 [eb3,bb3,c5] ~@4, ~@3 c5@2 ~ gb5@2 ~@2 gb5@2 ~@4, ~@7 [eb4,bb4]@2 ~@2 [eb4,bb4]@2 ~@3", // Eb5 Bbsus2 Cm7 Eb5
  E: "[eb3,eb4,a4,c5,f5]@2 ~@6 [eb3,eb5,a5,c6,f6]@3 ~@4 [gb5,g5]", // F7 Gmaj7
  F: "[bb4@2 [c5,c6]@2 ~@2 db5@2 ~@2 [f4,f5] gb5 gb4 ~@2 [g3,g4,ab4] ~@2 [c4,c5]@2 ~@2 [db4,db5]@2 ~@2 [f3,f4] ~ [gb3,gb4]@2 ~@2, ab5 ~@5 db6 ~@8 [bb3,bb4]@2 ~@15]/2", // C F Abmaj7 C Db F Gb Bb
  G: "[eb3,eb4,a4,c5,f5]@2 ~@6 [eb3,eb5,a5,c6,f6]@3 ~@3 bb1@2", // F7
  H: "[~@15 gb2@2 ~@3 f2 ~@3 [eb4,c5] ~ [f4,db5]@2 ~@2 bb1@2, f4@11 ~@5]/2", // Cm Db
  I: "[~@2 a1@2 a2@2 ~@18 [eb4,c5] ~ [f4,db5]@2 ~@2 bb1@2, [f4,bb4]@11 ~@5]/2", // Cm Db Bb5
  J: "bb2@2 ~@3 a1@2 a2 ~@3 f2 ~ bb1@2 ~, ~ [ab1,db4,bb4] ab2 ~@5, ~@3 f4@2 ~@5 [eb4,f4,c5]@2 ~@4", // Bbm7 F7
  K: "~@2 [f4,bb4,db5]@2 ~@3 db3 ~@3 [f4,bb4]@2 ~ c2@2, ~ c2@2 ~@7 bb1@2 ~@4, ~@11 [bb2,db4] ~@4", // Bbm Bb5 Bbm
  L: "c3 ~@2 bb3 ~ g2@2 g3 ~@3 e5@2 ~@2 c3, ~ [e4,g4,bb4] ~@3 [e2,bb4,c5,g5] ~ c2, ~@11 e3 ~@4", // Edim C7
  M: "~ gb2@2 [bb4,eb5,gb5]@2 ~@2 f3 ~ eb2@2 [eb3,c5,f5] ~@4, ~@3 [gb3,c5] ~@7 [a4,eb5]@2 ~@3", // Ebm F7 Gbdim Adim
  N: "~@4 [bb1,bb2] ~@3 [c2,c3] ~@3 [db2,db3] ~@3, [ab4,bb4,d5,f5]@15 ~", // Bb C Db Bb7
  O: "d3@2 f5 ~ [f3,ab3,bb3,d4] ~@3 [bb1,bb2] ~@2 f3 [ab3,bb3,d4] ~ f5 ~, d2 ~@3 ab5@2 ~@2 f5@2 bb4@5 ~, ~@10 ab5@3 ~@3", // Bb7 Bb Bb7
  P: "[eb2,eb3,bb4,gb5] ~@3 eb5@2 ~@2 [gb2,gb3] ~@3 [a2,a3] ~@3, ~@4 f3 ~ [bb4,gb5]@10", // Ebm Gb A Ebm
  Q: "bb3@2 ~@2 [gb3,bb3,eb4,d5] ~ [gb4,bb4,eb5]@2 [gb2,gb3] ~ d5 ~ [gb3,bb3,eb4,bb4] ~@2 bb2, bb2 ~@3 gb4@2 ~@6 [gb4,eb5]@2 ~@2", // Ebm Gb Ebm
  R: "[bb4,f5]@2 ~ db4 [e4,c5]@2 ~ db5 f4 ~ [db5,f5] [f3,bb3,db4] ~@3 [g2,g3], bb3 ~@3 [f3,bb3] ~@5 f4@2 ~@4", // Bb5 C Db Bbm G Bb5
  S: "e4@2 ~ [bb2,bb3] db5@2 ~@2 [g2,g3] ~ [e4,db5]@2 gb2@2 ~@2, db5 ~@11 gb3 ~@3", // Bb G Dbm
  T: "~@3 e5 f5@2 f4@2 ~@2 db5 [d5,e5] f5@2 f4@2, [f2,f3]@3 ~ [eb2,eb3]@3 ~", // Dsus2 F Eb
  U: "~@3 e5 f5@2 f4 ~@4 eb4@2 ~ bb1 f4, db2@3 ~ [c2,c3]@2 ~@2, ~@5 [a4,c5] ~@2", // C Am
  V: "~@3 bb4@2 ~@2 db3 ~@3 [f4,bb4]@2 ~ c2@2, ~ c2@2 ~@7 bb1@2 ~@4, ~@2 [f4,db5]@2 ~@7 [bb2,db4] ~@4", // Bb5 Db Bbm
  W: "~ gb2@2 [bb4,eb5,gb5]@2 ~@2 f3 ~ eb2@2 [eb3,c5,eb5,f5] ~@4, ~@3 [gb3,c5] ~@7 a4@2 ~@3", // Ebm F7 Gbdim
  X: "~@3 b2 b3 ~ ab2@2 ab3 ~ f2@2 f3 ~ d2@2, [ab4,b4,d5,f5]@15 ~", // Abdim
  Y: "d3 ~@2 f5 [f3,ab3,b3,d4] ~ d5@2 [f2,f3,f5] ~@3 [f3,ab3,b3,d4] ~ f5 ~, ~@2 [b4,ab5] ~@2 [b4,ab5]@2 ~", // Fdim F Fdim E
  Z: "[[bb4,gb5]@2 ~@2 [f2,f3,gb4] ~@3 [gb2,gb3] ~@3 [a2,a3] ~@3 bb3@2 ~@2 [gb3,bb3,eb4,gb4,bb4,d5] ~ [gb4,bb4,eb5]@2 [gb2,gb3] ~ d5 eb4 [gb4,bb4,eb5]@2 ~@2, [eb2,eb3] ~@3 eb5@2 [bb4,gb5]@12 ~@14, ~@16 bb2 ~@11 [gb3,bb3] ~@3]/2", // Ebm Gbmaj7 Gb A Ebm Gb Ebm Eb …
  AA: "[[f4,bb4,f5]@2 ~@2 [e4,c5]@2 ~@2 [f4,db5] ~ [f4,bb4,f5] ~@3 [g2,g3,e4,db5]@4 bb4 ~ [e4,db5]@2 ~@2 [e4,db5] ~ [eb4,c5]@2 [f2,f3] ~ [db4,bb4]@2, [bb2,bb3]@2 ~@8 [gb2,gb3]@3 ~@3]/2", // Bb5 C Db Bb5 Dbdim Dbm Cm F …
  AB: "[bb2@2 bb4 g3 [g2,e4,db5] ~@2 [gb3,e4,db5] gb2@2 [eb4,c5] [f2,f3] ~@3 [bb2,bb3]@2 ~@4 [g4,ab4] [a4,b4] ~ [gb3,ab3,c4]@5 d5 [e5,f5] ~, bb3 ~@13 [db4,bb4]@4 ~@5 c5@4 ~@5]/2", // Dbdim Gb7 Cm F Bb Abmaj7 Asus2 Ab7 …
  AC: "[~@4 [db4,f4]@2 ~@4 [db3,db4] ~ [c3,c4] ~ b2 ~@3 f5@2 [ab3,bb3,d4] ~@5 [bb3,ab4,ab5]@2 ab3 ~ bb4 ~ g3@2 [g3,bb3,db4]@2 ~@2 [db4,g4] ~ eb2 ~@3 [a1,a2,db4]@8 [g4,bb4,db5] ~@7 [gb4,c5]@4, [db3,ab4,db5,ab5]@6 ~@10 [bb2,bb3]@4 ~@4 [ab2,ab3]@4 ~@4 bb4@4 ~@2 db5@5 ~@21, db4@2 ~ [ab4,eb5,ab5]@7 ab4@3 ~@2 [g4,db5]@3 ~@14, ~ f5@2 ~@7 ab5 [d5,f5]@3 ~ db4@2 ~@11 [ab1,ab2,c4]@4]/4", // Db C Bb7 Gdim Dbdim A Gdim Gbdim …
  AD: "[[ab4,db5,ab5]@2 f5@2 [ab3,db4] ~@5 [db3,db4] ~ [c3,c4] ~ [b2,b3] ~@3 f5@2 [ab3,bb3,d4] ~ ab2 ~ ab3@2 [ab3,bb3,d4,ab5] ~@3 bb4 ~, db4 ~@5 [ab4,eb5,ab5]@14 ab4@6 ab4@2 ~@4, ~@16 [bb2,bb3]@4 ab5@2 [d5,f5]@5 ~@5]/2", // Db5 Db C B Bb7 Ab5 Bb Dm
  AE: "[~@2 [bb3,bb4]@3 ~ [db4,g4] ~ [eb2,eb3] ~@3 [a1,a2,db4]@8 [g4,db5] ~@7 [gb4,c5]@3 ~, [g3,db4,g4,db5]@4 ~@2 db5@6 ~@12 [ab1,ab2,c4]@7 ~]/2", // Bb Dbdim Eb A Gdim Gbdim Gdim Ab
  AF: "[[ab4,db5,ab5]@2 f5@2 [ab3,db4] ~@3 ab3 ~@3 [ab3,db4,f4] ~@3 f2 ~ f5@2 [ab3,db4,f4] ~@3 [db2,db3] ~ [ab4,ab5] ~@3 c6@2, db4 ~@5 [ab4,db5,ab5]@14 [ab4,ab5]@4 f5@2 ~@6, ~@8 f3@2 ~ db5@2 ~@3]/2", // Db5 Db Ab Db5 Ab
  AG: "[c2,c3,bb5] c6@2 ~ [ab3,f4] ~@3 [f2,f3] ~ f6 ~ [ab3,c4,f4] ~ c6@2, ~@3 ab5@2 ~@3 c6@2 ~@6, ~@2 f5 ~@5", // C7 Db F Fm
  AH: "[ab2,ab3,bb5] c6 bb5@2 [c4,f4] ~ ab5@2 c6@2 f6 ~ [ab3,c4,f4] ~ c6@2, ~@2 ab5 ~ f5@2 ~@2 f3 ~@7", // Absus2 F5 Fm
  AI: "[g2,g3,bb5,c6] bb5 g5@2 [c4,e4] ~ g5@2 [e2,e3] ~ e6@2 [bb3,c4,e4] ~@2 c6, ~@4 e5@2 ~@4 g6 ~@5", // C7 C E C7
  AJ: "[c2,c3] ~ bb5 ~ e5@2 ~ e3 ~@3 [e6,g6] [bb3,e4] ~@3, ~@4 e4 ~@11", // C Em Bbdim
  AK: "[f2,c3,a3,eb5,a5,c6,f6]@3 ~@5 [ab3,d4,ab5,d6,f6,bb6]@5 ~@3", // F7 Bb7
  AL: "[eb2,bb2,g3,db5,g5,bb5,eb6]@5 ~@3 [ab2,gb3,c4,gb5,c6,eb6,ab6]@4 ~@4", // Eb7 Ab7
  AM: "[db3 ~@3 [db4,f4]@2 ~@4 [db3,db4] ~ [c3,c4] ~ b2 ~@3 f5@2 [ab3,bb3,d4] ~@5 [bb3,ab4,ab5]@2 ab3 ~ bb4 ~ g3@2 [g3,bb3,db4]@2 ~@2 [db4,g4]@2 eb2 ~@3 [a1,a2,db4]@8 [g4,db5]@2 ~@6 [gb4,c5]@4, [ab4,db5,ab5]@6 [ab4,eb5,ab5]@14 ab4@6 ~@4 [g4,db5]@6 ~@16 bb4 ~@11, db4@4 ~@12 [bb2,bb3]@4 ~@4 [ab2,ab3]@4 ~@4 bb4@4 ~@2 db5@5 ~@21, ~ f5@2 ~@7 ab5 [d5,f5]@3 ~ db4@2 ~@11 [ab1,ab2,c4]@4]/4", // Db C Bb7 Gdim Dbdim A Gdim Gbdim …
  AN: "[[ab5,db6,ab6]@2 f6@2 [ab3,db4,f4] ~@7 [b2,b3] ~@3 [bb2,bb3] ~ f6@2 [ab3,bb3,d4] ~@3 [ab2,ab3] ~ ab5@2 [bb3,d4] ~ bb5 ~, db3 ~@5 [ab5,eb6,ab6]@12 ~@2 [ab5,ab6]@3 f6@3 ab6 ~@5, ~@11 d6@2 ~@3]/2", // Db5 Db B Bb Bb7 Ab Bb Ab5 …
  AO: "[g2,g3] ~@2 db4 [eb3,g3] ~ [db5,g5,db6]@2 [eb2,eb3] ~ [gb5,gb6] [f5,f6] eb3 ~ [gb5,gb6] f6, [db5,g5,db6]@2 ~@5 f5, ~@2 bb5@3 ~@11", // G Eb Dbdim Eb Gb F Gb Dbdim
  AP: "bb2 ~ db5 a2 ~@4 ab2 ~@3 [gb3,ab3,c4] c5 [db5,d5,eb5] e5, ~ db6 ~ [eb5,eb6]@3 ~@2", // Ab7 Eb
  AQ: "[[db2,db3] ~ ab4 ab5 [ab3,db4,f4] ~ [db5,db6]@2 db3 ~ [bb4,bb5] db4 [ab4,bb4,ab5] ~@3 [db2,db3] ~@3 [f3,ab3,db4] ~@3 [e4,e5] ~ eb5@2 [f3,ab3,db4] ~@3, f5@2 ~@12 [f4,ab4,db5,f5]@7 ~@5 eb4 ~@5]/2", // Db Bb Absus2 Db E Db
  AR: "[gb2,gb3] ~ [eb5,gb5,eb6] [e5,g5] [gb3,bb3,db4] ~ [eb5,gb5,eb6] g5 [db2,db3] ~ [eb5,eb6] ~ [gb3,bb3,db4,db5,db6] ~@3", // Gb Ebm Em Gb Ebm Db Eb Gb
  AS: "[e2,e3] ~ [eb5,e5,gb5,ab5,eb6,e6] ~ [g2,g3] ~ [eb5,gb5,eb6] [e5,g5,ab5,e6] bb3 eb6 eb5 [g3,bb3,db4,e4,db5,db6] ~@3 [db2,db3,f4,ab4,db5,f5], ~ g5 ~@6", // E Emaj7 G Ebm E Gdim Db
  AT: "[~@2 [ab4,ab5] [ab3,db4,f4] ~@2 db6 db3 ~@2 [bb4,bb5] f4 [ab3,db4,ab4,ab5] ~@2 eb2 eb3 ~@3 [g3,bb3,db4,g4,bb4,db5] ~@3 [ab2,ab3] ~@2 [gb3,ab3,c4,gb4,ab4,c5] ~@3 [db3,db4] ~@3 [ab2,ab3] ~@4 [gb3,ab3]@3 ~ ab5 [a5,bb5,b5] c6 ~ [db3,db4]@2 ~@6 [f2,eb3,a3,eb4,a4,c5,f5]@6 ~@2, ~@6 db5@2 ~@7 f5@5 ~@3 eb5@5 ~@3 [f4,ab4,db5]@8 c4@4 g5@2 ~@2 db6@2 ~@15]/4", // Ab Db Bb Db5 Gdim Ab Ab7 Db …
  AU: "[~@2 a1@2 a2@2 ~@2 ab2@2 g1@2 g2@2 ~ gb2@2 ~@3 f2 ~ e1@2 [eb4,c5] ~ [f1,f4,db5]@2 f2 ~ bb1@2, f4@11 ~@5, ~@7 gb1 ~@4 e2 ~@3]/2", // Cm Db
  AV: "[bb2@2 a1@2 a2@2 ~@2 ab2@2 g1@2 g2@2 ~ gb2@2 ~ f1@2 f2@2 e1@2 [eb4,c5] ~ [f4,db5]@2 f2@2 bb1@2, [db4,f4,bb4]@11 ~ e2 ~@3]/2", // Cm Db Bbm
  AW: "bb2@2 [ab1,db4,f4,bb4]@2 ~ a1@2 a2 ~@3 f2 ~ bb1@2 bb2, ~@2 ab2 ~@2 [eb4,f4,c5] ~@2", // Bbm7 F7
  AX: "~@3 bb4@2 db2@2 db3 ~@3 [f4,bb4]@2 ~ c2@2, ~ c2@2 c3 ~@6 bb1@2 ~@4, ~@2 [f4,db5]@2 ~@7 [bb2,db4] ~@4", // Bb5 Db Bbm
  AY: "c3 ~@2 bb3 ~ g2@2 g3 ~@3 e5@2 c2@2 c3, ~ [e4,g4,bb4,c5] ~@3 [e2,bb4,c5,g5] ~@2, ~@11 e3 ~@4", // C7
  AZ: "[~ gb2@2 [bb4,eb5,gb5]@2 f2@2 f3 ~ eb2@2 [eb3,c5,eb5,f5] ~@8 [bb1,bb2] ~@3 [c2,c3] ~@3 [db2,db3] ~@3, ~@3 [gb3,c5] ~@7 a4@2 ~@2 d5@15 ~@2, ~@16 [ab4,bb4,f5]@15 ~]/2", // Ebm F7 Bb C Db Gbdim Bb7
  BA: "d3@2 f5 ~ [f3,ab3,bb3,d4] ~ d5@2 [bb1,bb2] ~@2 [f3,d4] [ab3,bb3] ~ f5 ~, d2 ~@3 [bb4,ab5]@2 ~@2 f5@2 bb4@5 ~, ~@10 ab5@3 ~@3", // Bb7 Bb Dm Absus2 Bb7
  BB: "[eb2,eb3,bb4,gb5] ~@3 [f2,f3,gb4] ~@3 [gb2,gb3] ~@3 [a2,a3] ~@3, ~@2 eb5 [bb4,gb5]@5", // Ebm Gbmaj7 Gb A Ebm
  BC: "[bb2,bb3]@2 ~@2 [gb3,bb3,eb4,bb4,d5] ~ [gb4,bb4,eb5]@2 [gb2,gb3] ~ d5 ~ [gb4,bb4,eb5]@2 ~ bb2, ~@4 gb4@2 ~@6 [gb3,bb3,eb4] ~@3", // Bb Ebm Gb Ebm
  BD: "[f4,bb4,f5]@2 ~ [f3,bb3,db4] [e4,c5]@2 ~ [f3,f4,db5] ~@2 [db5,f5] [f3,bb3,db4] ~@3 [g2,g3], bb3 ~@9 f4@2 ~@4", // Bb5 Bbm C Db Bbm G
  BE: "e4@2 bb4@2 db5@2 bb4 db5 e4 ~ eb4@2 [f2,f3] ~ [db4,bb4]@2, db5 ~@3 [gb2,gb3]@7 ~@5, ~@4 e4 ~@5 c5 ~@5", // F Gb
  BF: "[[bb2,bb3] ~ [db4,bb4] g3 [g2,e4,db5] bb4 ~ [gb2,gb3,e4,db5] ~@2 [eb4,c5] [f2,f3] ~@3 [bb2,bb3] ~@3 [f2,f3] ~@4 [bb1,bb2,bb4]@6 ~@2, ~@14 [db4,f4,bb4]@7 ~@3 [db5,f5,bb5]@4 ~@4]/2", // Bb Gb Dbdim Gb7 Cm F Bb F …
  BG: "[ab3,b3,eb4,ab4,b4,ab5] ~ [ab3,b3,eb4,ab4,b4,ab5] ~@7 [bb4,bb5] ~ [ab4,ab5]@2 ~@2, ~@3 [b3,eb4]@4 ~, ~@3 [ab4,b4,ab5] ~@4, ~@7 ab3@7 ~@2", // Abm Bb Ab B Abm
  BH: "[ab3,b3,e4,ab4,b4,ab5] ~ [b3,e4,ab4,b4,ab5] ab3 ~@2 [ab4,b4,ab5]@3 ~ [bb4,bb5] ~ ab4@2 ~@2, ~@6 [ab3,b3,e4]@6 ab5 ~@3", // E Abm Bb E
  BI: "[[ab3,b3,f4,ab4,b4,ab5] ~@2 [ab3,b3,f4,ab4,b4,ab5] ~@2 [ab4,b4,ab5]@2 ~@2 [bb4,bb5] ~ [ab4,ab5] ~@3 [c4,gb4,ab4,c5,ab5]@5 ~@3 [b3,db4,f4,b4,db5,f5,ab5]@3 ~ c5 [d5,eb5] [e5,f5] ~, ~@6 [ab3,b3,f4]@6 ~@3 eb3@5 ~@12]/2", // Fdim Abm Bb Ab Ab7 Db7 Ebmaj7 Fmaj7 …
  BJ: "[gb5 ~ bb5 ~ [bb2,db6] ~ a5 ~ [a3,c6] ~ ab5 ~ [ab2,b5] gb5 ~ [gb2,gb3]@2 f5 ~ f2@2 eb5 ~ [eb3,gb5] ~@2 db5 [db2,db3]@2 c5 ~ [c2,c3,eb5], ~@4 bb3@2 ~@2 a2@2 ~@2 ab3@2 ~ bb5 ~@3 ab5 ~@3 eb2@2 ~@2 f5 ~@4]/2", // Bbm Am Abm Gb Ebm Db Cm
  BK: "~@3 [gb3,ab3,c4] ~@2 eb5 [eb2,eb3] ~@4 [gb3,ab3,c4] ~@3, ~ ab5@2 ~@13, ~ [gb4,c5] ~@2 [gb4,c5,eb5,ab5]@3 ~", // Ab7 Eb Ab7 Gbdim Ab7
  BL: "[ab2,ab3,eb5] ~ [c5,ab5] ~ [gb3,ab3,c4] ~@3 db3@2 ~@3 [d5,eb5] e5 [gb2,gb3,f5], ~ gb4 ~ [f4,b4,db5]@2 ~ c5 ~, ~@8 db2 ~@7", // Ab5 Fm Ab7 Ebmaj7 Gbmaj7 Db7
  BM: "gb5 ~ bb5 [bb2,bb3,db6] ~ a5 ~ c6 [a2,a3] ab5 ~ b5 [ab2,ab3] gb5 ~ [gb2,gb3,bb5]", // Bbm A Ab Gb
  BN: "~ f5 ~ [f2,f3,ab5] ~ eb5 ~ [eb2,eb3,gb5] ~@3 [db2,db3,f5] ~ c5 ~ [c2,c3,eb5]", // Fm Ebm Db Cm
  BO: "~@2 [gb4,c5] [gb3,ab3,c4] ~@2 eb5 ab2 ab3 ~@3 [gb3,ab3,c4] ~@3, ~@2 ab5@2 ~@4 [gb4,c5,ab5]@7 ~", // Gbdim Ab7
  BP: "[[ab2,ab3,eb5] ~ [gb4,c5,ab5] ~ [gb2,gb3] ~ [b4,db5]@2 [f2,f3]@2 d5@2 ~ c5 db5 ~ [f2,f3] ~ f5 ~ [ab3,bb3,d4] ~ d5@2 [bb1,bb2] ~ bb5@2 d4 [c5,db5] ~@2 f3 ~ f5 ~ [ab3,bb3,d4] ~@2 [bb1,bb2] f5 ~ [ab4,bb5] [ab3,bb3,d4] ~@4 eb3@2 eb5@2 [g3,bb3,eb4] ~ db5@2 [bb2,eb5]@2 [g4,db5,bb5] ~ [g3,bb3,eb4] ~@3 [g2,g3] ~ eb5@2 [g3,bb3,eb4] ~ db5@2 [eb2,eb3,eb5] ~ [g4,db5,bb5] ~ [g3,bb3,eb4] ~@2 ab3 ab2 ~ eb5@2 [gb3,ab3,c4] ~ c5@2 [eb2,eb5] ~ [gb4,c5,ab5] [gb3,ab3,c4] ~@3 ab3 ab2 ~@2 [gb3,ab3,c4] ab5@2 ~ ab3 eb5@2 [gb4,c5,eb5,ab5] [gb2,gb3] ~@4, ~@6 f4 ~@3 db5 ~@3 d5@4 ~@2 [ab4,bb5]@2 ~@2 f5@2 ab4 ~@3 d5@4 ~@2 ab4@2 d5@2 ~@6 db5@6 bb5@2 ~@8 db5@6 bb5@2 ~@14 ab5@2 ~@12 eb5@2 ~@2 c5@2 ~@8, ~@46 g4@4 ~@6 bb3 ~@5 g4@4 ~@12 [gb4,c5]@6 ~@10 [gb4,c5]@6 ~@12, ~@48 eb2 ~@39 eb3@2 ~@14 ab2 ~@7]/7", // Ab5 Ab7 Gb Bsus2 F Bb7 Bb Dbmaj7 …
  BQ: "f3@2 ab4@2 [b4,eb5,ab5] ~ g4@2 ab4@2 [b4,eb5,ab5] ~@2 ab4@2 [b4,eb5,ab5], f2 ~@11 gb4@2 ~@2", // Abm
  BR: "~ gb4@2 ab4@2 [b4,eb5,ab5] ~@2 f4 ~@3 [db5,f5,ab5,db6]@4, ~@12 [db2,db3] ~@3", // Abm Db
  BS: "[~@2 bb5 ~ [bb2,db6] ~ a5 ~ [a3,c6] ~ ab5 ~ b5 gb5 ~ [gb2,gb3]@2 f5 ~ [f2,f3]@2 eb5 ~ eb3 gb5 db5 ~ [db2,db3]@2 c5 ~ [c2,c3,eb5], ~@4 bb3@2 ~@2 a2@2 ~@2 [ab2,ab3]@2 ~ bb5 ~@3 ab5 ~@3 eb2@2 ~@2 f5 ~@4]/2", // Bbm Am Gb F Db Cm Ab
  BT: "gb5 ~ bb5 [bb2,bb3,db6] ~ a5 ~ c6 [a2,a3] ~@2 b5 [ab2,ab3] gb5 ~ [gb2,gb3,bb5]", // Bbm A Ab Gb
  BU: "[[ab2,ab3,eb5] ~ [gb4,c5,ab5] ~ [gb2,gb3] ~ [b4,db5]@2 [f2,f3]@2 [c5,db5] ~@2 c5 db5 ~ [f2,f3] ~ f5 ~ [ab3,bb3,d4] ~ d5@2 [bb1,bb2] ~ ab4 bb3 d4 [c5,db5] ~@2 [f2,f3] ~ f5 ~ [ab3,bb3,d4] ~@2 bb2 [bb1,f5] ~ [ab4,bb5] [ab3,bb3,d4] ~@4 eb3@2 eb5@2 [g3,bb3,eb4] ~ db5@2 [bb2,eb5]@2 [g4,db5,bb5] ~ [g3,bb3,eb4] ~@3 g2@2 eb5@2 [g3,bb3,eb4] ~ db5@2 [eb2,eb3,eb5] ~ [g4,db5,bb5] ~ [g3,bb3,eb4] ~@2 ab3 ab2 ~ eb5@2 [gb3,ab3,c4] ~ c5@2 [eb3,eb5]@2 ab5 [gb3,ab3,c4] ~@4 [db2,db3]@2 db5@2 [f3,ab3,b3,db4] ~ b4@2 [ab3,db5] f4 ~ [ab3,b3,db4]@2 ~ db5 [gb2,gb3] gb4 ~@3 [db2,db3] ~@3 [ab3,b3,db4,f4]@4 ~ db5 eb5 [gb4,e5,f5], ~@6 f4 ~@3 d5@2 ~@2 d5@4 ~@2 [ab4,bb5]@2 ~@2 f5@2 bb5@2 ~@2 d5@4 ~ bb5@2 ~@9 g4@4 ~@6 bb3 ~@5 g4@4 ~@12 [gb4,c5]@6 ~@10 b4@6 ab5@2 ~@26, ~@36 ab4@2 d5@2 ~@6 db5@6 bb5@2 ~@8 db5@6 bb5@2 ~@14 ab5@2 ~@8 f4@4 ~@8 [b4,ab5]@2 ~@3 [bb4,db5,gb5]@2 ~@11 c5@2 d5@2, ~@48 eb2 ~@15 g3 ~@23 eb2 ~@15 ab2@2 ~ f3 ~@20]/8", // Ab5 Ab7 Gb Bsus2 F Dbmaj7 F Bb7 …
  BV: "[gb3,bb3,db4,gb5]@2 ~@2 [bb1,bb2] ~@3 [c2,c3] ~@3 d3@2 ~@2, ~@12 d2 ~@3", // Gb Bb C
  BW: "eb2 a3@2 bb3!2 d4 ~ eb4!2 ~ f4 gb4!2 ~ a4 bb4, eb3 ~@7", BX: "bb4 d5@2 eb5 ~ f5 gb5 ~ gb5@2 ~@6, ~@2 eb5 ~@5",
  BY: "gb5@2 eb5@2 f5 ~ [b2,b3,a4,gb5]@4 eb5 ~ [bb2,bb3,d5,f5] ~@3, a4@5 ~@7 ab4@2 ~@2", // B7 Bb
  BZ: "[eb3,gb4,bb4,eb5]@2 ~@2 [ab2,ab3] ~@3 [bb2,bb3] ~@3 [c3,c4]@2 ~@2, eb4 ~@15", // Ebm Ab Bb C
  CA: "db3@2 g3 ab3!2 ~ c4 db4!2 ~ e4 f4!2 ~ g4 ab4, db2 ~@15", CB: "~ c5 ~ db5!2 e5 ~ f5 f5@2 ~@6, ab4 ~@7",
  CC: "~@4 eb5 ~ [a2,a3,g4,f5]@4 db5 ~ [ab2,ab3,c5,eb5] ~@3, ~ [bb2,bb3,g4,f5]@4 ~@11, ~@3 db5@2 ~ db5 ~@5 gb4@2 ~@2", // Dm Ab Gm7
  CD: "[f4,ab4,db5]@4 [ab2,ab3] ~@3 [db3,db4,db5,f5,ab5,db6]@5 ~@3, [db3,db4] ~@15", // Db Ab Db
  CE: "~ [a2,c4]@7 [c4,gb4,a4,d5]@4 ~@4", CF: "[ab2,f3,b3]@8 ~ b3@3 ~@4, ~@2 [f4,ab4,db5] ~",
  CG: "c4@3 ~ [gb4,a4,d5] ~@3, ~@8 c4 ~@7", // D
  CH: "[[ab2,b3]@6 ~@2 [b3,f4,ab4,db5]@4 ~ [d2,a2,c4]@7 [gb3,gb4,d5]@3 ~@5 eb5@2 ~@2 [e2,d4]@4 [ab3,ab4]@2 ~@2 [f2,c3,eb4]@4 [a3,a4,f5]@3 ~, f3@8 ~@16 [eb2,bb2,db4]@4 g4 ~@7 e5 ~@11, ~@27 g3@2 ~@2 b2@5 ~@12]/3", // Abm Db7 D7 D E7 Ab F7 Dm …
  CI: "[[gb2,db3,e4]@4 [bb3,bb4,gb5]@2 ~@2 [g2,d3,f4]@4 [b4,g5] ~@3 [c4,gb4,c5,ab5]@3 ~@5 [db5,db6]@4 ~@4 [gb2,gb3] ~ bb5 ~ [bb2,bb3,db6] ~ a5 ~ [a2,a3,c6] ~ ab5 ~ [ab2,ab3,b5] gb5 ~ bb5, ~@12 b3@2 ~ [ab2,eb3]@4 ~@3 db2@4 ~@22, ~@23 [ab2,f3]@4 ~@3 [gb4,bb4,db5,gb5]@10 ~@8]/3", // Gb7 Ebm G7 Em Ab7 Db Gb Bbm …
  CJ: "[gb2,gb3] [gb5,gb6] ~ [f2,f3] ~@2 [f5,gb5,f6,gb6] [eb2,eb3] ~@2 [f5,gb5,f6,gb6] db3 db2 ~ [gb5,gb6] ~, ~ [f5,f6] ~@6", // Gb F Gbmaj7 Eb Gbmaj7 Gb F
  CK: "[c2,c3,f5,f6] ~ [eb5,eb6]@2 [gb3,ab3,c4] ~@3 [eb2,eb3] ~@3 [gb3,ab3,c4] ~ [ab4,ab5] ~, ~@6 [ab4,c5,eb5,gb5,ab5]@7 ~@3", // F5 Eb Ab7 Eb Ab7 Ab Ab7
  CL: "[f3,bb4,bb5] ~ [ab4,ab5]@2 [f3,ab3,b3,db4] ~@3 [db2,db3] ~@3 [f3,ab3,b3,db4] ~ [gb4,bb4,db5] ~, ~@6 [db5,f5,ab5,db6]@5 ~@3 gb5@2", // Bb5 Ab Db7 Db Db7 Gb Db
  CM: "[gb2,gb3] ~ bb5 [bb3,db6] bb2 a5 ~ [a2,a3,c6] ~ ab5 ~ b5 [ab2,ab3] gb5 ~ [gb2,gb3,bb5]", // Gb Bbm Am Ab Gb
  CN: "~@2 [f5,gb5,f6,gb6] [f2,f3] ~@2 [gb5,gb6] [eb2,eb3] ~@2 [f5,f6]@2 [db2,db3] ~ [gb5,gb6] ~, ~@6 [f5,f6]@2 ~@2 [gb5,gb6] ~@5", // Gbmaj7 F Gb Eb F Db Gb F …
  CO: "[[ab2,ab3,bb4,bb5] ~ [ab4,ab5] ~ [f3,ab3,b3,db4] ~ [db5,f5,gb5,ab5,db6]@2 [db2,db3] ~ [c5,db5] d5 ~@2 [c5,db5] ~ [f2,f3] ~ f5 ~ [ab3,bb3,d4] ~@2 f5 [bb1,bb2] bb5@2 ~ [ab3,bb3,d4] [c6,db6] ~@2 [f2,f3]@2 f6 ~ [ab3,bb3,d4] ~ d6@2 [bb1,f6] bb6 ab5 bb3 d4 ~@3 [eb2,eb3] ~ eb5 ~ [g3,bb3,eb4] ~ db5@2 [bb2,bb3,eb5] [g4,db5,bb5] ~@2 [bb3,eb4] ~@3 [g2,a2,g3] ~ eb6@2 [g3,bb3,eb4] ~ db6@2 [eb2,eb3] ~ [g5,db6,bb6] ~ [g3,bb3,eb4] ~@3 [ab2,ab3] ~ eb5@2 [ab3,c4] ~ c5@2 [eb2,eb3,eb5] ~ [gb4,c5,ab5] [gb3,ab3] c4 ~@3 [ab2,ab3] ~@2 [gb3,ab3,c4] ab6@2 c6@2 [eb2,eb3] ~ [gb5,c6,eb6,ab6]@2 [gb3,ab3,c4] ~@3, ~@14 d5@4 ~@2 ab4@2 d5@2 ~ ab4 ~@4 d6@4 ~@2 [ab5,bb6]@2 ~@8 [g4,db5]@5 ~ bb5@2 ~@7 [g5,db6]@6 ~ bb6@2 ~@2 eb6@2 ~@4 c5@6 ab5@2 ~@8 [gb5,c6]@6 ~@12, ~@39 gb4@2 ~@8 eb6 ~@2 eb6 ~@3]/7", // Absus2 Ab Db7 Db Dbmaj7 F Bb7 Bb …
  CP: "ab4 ~@3 [b4,eb5,ab5] ~ g4 ~@3 [b4,eb5,ab5] ~ gb4 ~ ab4 [b4,eb5,ab5]", // Abm
  CQ: "~@2 gb4 ~ ab4@2 [b4,eb5,ab5] ~ f4 ~@3 [db2,db3,db5,f5,ab5,db6]@4", // Abm Db
  CR: "~@2 bb5 ~ [bb3,db6] ~ a5 ~ [a2,c6] ~ ab5 ~ [ab2,ab3,b5] ~ gb5 [gb3,bb5], ~@2 bb2 ~ a3 ~@3", // Bbm Am Abm Gb
  CS: "~ f5 ~ [f3,ab5] f2 eb5@2 [eb2,eb3,gb5] ~@2 [f5,gb5,gb6,g6] [db2,db3]@2 ~ [gb5,gb6] [c2,c3], gb2 ~@4 f6 ~ [f5,f6]", // Fm Ebm Db Gb C F
  CT: "~ eb5@2 ~ [gb3,ab3,c4] ~@3 eb2 ~@3 [gb3,ab3,c4] ~@3, ~ eb6 ~@4 [ab4,ab5]@7 ~@3", // Ab7 Ab
  CU: "[ab2,ab3,bb4,bb5] ~ [ab4,ab5] ~ [f3,ab3,b3,db4] ~@2 [db2,db3] ~@4 [f3,ab3,b3] e5 f5 [gb2,gb3,gb5], ~@3 [db5,f5,ab5,db6]@2 ~ db4 ~", // Absus2 Ab Db7 Db Fdim Gb Db
  CV: "~ bb5 ~ [bb2,bb3] db6 a5 ~ a3 c6 ~ ab5 ~ [ab2,ab3,b5] ~ gb5 bb5, ~@7 a2@2 ~@7", // Bb Abm
  CW: "[gb2,gb3] f5 ~ f3 f2 eb5 ~ gb5 eb2 ~ [f5,gb5,g6] [db2,db3]@2 ~ [f5,f6]@2, ~@3 ab5@2 ~@5 f6@2 ~@2 [gb5,gb6] ~", // Gb Db F Gb
  CX: "c3@2 eb5@2 [gb3,ab3] ~@3 eb2 ~@3 [gb3,c4] ~@3, c2 ~ eb6 ~ c4@2 [ab4,ab5]@8 ~@2, ~@6 ab3 ~", // Gbsus2 Gbdim Ab
  CY: "[f3,bb4,bb5] ~ [ab4,ab5]@2 [f3,ab3,b3,db4] ~@3 [db2,db3] ~@3 [f3,ab3,b3,db4] ~ d5 ~, f2 ~@2 db6@3 ~@2, ~@7 db5@6 ~@3", // Bb5 Ab Db7 Db Db7
  CZ: "[f2,f3,b4,d5,f5,g5,b5] ~ [d5,f5] ~ [f3,ab3,bb3,d4] ~@3 [bb1,bb2,bb4,d5,f5,g5,bb5] ~ [bb4,g5] f3 d4 ~@3", // G7 Dm Bb7 Gm7 Eb
  DA: "[f3,b4,d5,f5,g5] ~ [b4,d5,g5,b5] ~@3 [bb4,d5,g5] [bb1,bb2] [bb4,d5,f5,g5,bb5] ~ [bb4,d5,f5,g5,bb5] ~ [f3,ab3,bb3,d4] ~ db5 ~, [f2,b5] ~@7", // G7 G Gm Bb Gm7 Bb7 Fdim
  DB: "[eb3,b4,db5,f5,b5] ~ [b4,db5,f5,g5,b5] [bb3,eb4] g3 ~ [bb4,db5,f5,g5,bb5] ~ [bb1,bb2,bb4,db5,f5,g5,bb5] ~ [bb4,db5,f5,g5,bb5] [g3,bb3,eb4] ~@2 b4 ~, [eb2,g5] ~@7", // Db7 Eb5 Gm7b5 Eb
  DC: "[eb2,eb3,b4,db5,f5,b5] ~ [b4,db5,f5,g5] eb3 eb2 ~ [db5,f5,g5,bb5] ~ [d2,d3,bb4,db5,f5,g5,bb5] ~ [bb4,db5,f5,g5] ~ [db2,db3] ~ [db5,eb5,gb5,bb5] ~, g5 ~@7", // Db7 Gm7b5 Gm7 Gm7b5 Db Ebm7
  DD: "[c2,c3,bb4,c5,eb5,gb5,bb5] ~ [bb4,c5,db5,eb5,gb5,bb5] ~ [gb3,ab3,c4] ~ [ab4,c5,eb5,gb5,ab5] ~ [ab2,ab3,ab4,c5,eb5,gb5,ab5] ~ [ab4,c5,db5,eb5,gb5,ab5] ~ [gb3,ab3,c4] ~ [bb4,db5,f5,ab5,bb5] ~", // Cm7b5 Ebm7 Ab7 Bbm7
  DE: "[f2,f3,bb4,db5,f5,ab5,bb5] ~ [bb4,db5,f5,ab5,bb5] ~ [f3,ab3,b3,db4] ~ [ab4,db5,f5,ab5] ~ [db2,db3,ab4,db5,f5,ab5] ~ [ab4,db5,f5,ab5] ~ [f3,ab3,b3,db4] ~ db5 gb3", // Bbm7 Db7 Db Db7
  DF: "[gb4,bb4,db5,gb5]@2 ~@2 [db2,db3] ~@3 [f3,ab3,b3,db4]@4 ~ d5 [eb5,e5,f5] ~, gb2 ~@11 c5@2 ~@2", // Gb Db Db7
  DG: "[[gb2,gb3] ~@3 [db2,db3] ~@3 [gb1,gb5,bb5,db6,gb6]@45 ~@11, gb5@3 ~@5 gb2@2 ~@54]/4", // Gb Db Gb
})).s("gm_piano").gain(0.5)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~ A B C D E F ~ D G H@2 I@2 J K L M ~ N O P Q R S T U@2 I@2 J K L M ~@3 V ~ W X Y Z AA AB ~ AC ~ AD ~ AE ~ AF AG AH AI
  AJ ~ Z AA AK ~ AL AM AN AO AP AQ AR ~@2 AS ~@2 AT@2 AU AV AW ~ AX ~@5 AY ~@6 AZ ~ BA ~ AZ ~ BB ~ BC BD BE ~@9 AZ BF BB
  ~@2 AP ~@9 BG ~@5 BH BI BJ ~@8 BK BL BM ~@2 BN BO BP ~ BQ ~ BR BS ~ BT BU BV ~ BW BX BY BZ CA CB CC CD ~ AZ ~@4
>`.pickRestart({
  A: "~@15 [gb5,f6,gb6,g6]", B: "~@15 [gb4,f5]", C: "bb5@2 ~@8 f4 ~ gb4@2 ~@2, b5 ~@15",
  D: "~@3 eb4 ~@4 eb3 ~ gb2@2 ~@4, ~@2 gb5@3 ~@11", E: "[f2,a3] ~@7 [f2,a3]@2 ~@4 [gb4,f5] e5",
  F: "ab4 ~@13 [f3,gb3,f4,gb4] [ab3,a4]", G: "[f2,a3] ~@7 [f2,a3]@2 ~@6",
  H: "[~ a1 a2 ab1 ab2 g1 g2 gb1 ~ f1 ~ e1 e2 f1 f2 ~, [db4,bb4]@11 ~@5]/2", // Gb
  I: "[bb2@2 ~@4 ab1@2 ab2@2 g1@2 g2@2 ~ gb2@2 ~ f1@2 f2@2 e1@2 e2@2 f1@2 f2@2 ~@2, db4@21 ~@11, ~@7 gb1 ~@8]/2",
  J: "~@10 f1@2 ~@3 bb2, ~@10 g1 ~@5", K: "~@3 c3 ~ db2@2 ~@9", L: "~ [bb2,c5] ~@6", M: "~@5 f2@2 ~@9",
  N: "~@2 bb4 d5 ~@4", O: "~@4 [f2,gb4] ~@11", P: "~@4 bb4 ~@11", Q: "f4@2 ~@5 [f2,f3] ~@8",
  R: "~@2 bb4 ~ e4@2 ~ bb4 ~@8, ~@3 g4 ~@4", S: "~@2 [c5,db5] [d5,eb5] ~@6 c5 eb5 ~@4",
  T: "~@2 [c5,db5] [d5,eb5] ~@7 e5 ~@3 gb4, db3@3 ~@2 f5 ~@2", // Dbmaj7 Ebmaj7
  U: "[~@2 a1@2 a2@2 ab1@2 ab2@2 g1@2 g2@2 gb1@2 ~@2 f1@2 ~@2 e1@2 e2@2 f1@2 f2 ~@3, [db4,bb4]@11 ~@5]/2", // Gb
  V: "~@10 [gb4,bb4] ~@5", W: "~@6 g4 ~@9", X: "~@2 db4 ~@3 bb4 ~@9", Y: "~@4 [e4,f4,gb4] ~ bb4 ~@5 c5 [db5,eb5] ~@2",
  Z: "~@4 ab3@2 ~@8 b3 ~", AA: "~@12 d4 ~@3", AB: "~@2 eb3@2 ~@2 eb3 ~@9", AC: "db3 ~@3 f4 ~@11",
  AD: "~@4 [eb3,g3,db4] ~@11", AE: "db3 ~@3 f4 ~@3 ab2 ~@7", AF: "~@2 bb5@2 c4 ~ ab5@2 ~@8", AG: "~@4 ab3 ~@3 f2 ~@7",
  AH: "~@4 bb3 ~@3 bb5@2 ~@6", AI: "bb5 c6 ~@2 [bb3,c4] ~ g5@2 bb5@2 ~@2 c4 ~@2 c6, ~@3 g5@2 ~@3 e2 ~@7",
  AJ: "~@2 bb2 ~", AK: "~@2 eb3@2 ~@2 eb3@3 ~@7", AL: "db4 ~@15", AM: "~@12 ab3 ~@3", AN: "~@4 bb3 ~@7 [bb3,db4] ~@3",
  AO: "~@2 a2 ~@5", AP: "~@11 ab3 ~@4", AQ: "~@8 [f2,f3,d5] ~@7", AR: "~@3 [ab5,e6] ~@3 [e5,ab5,e6] ~@8",
  AS: "~@4 eb3 ~@11", AT: "[~@3 ab1 ~@5 f1 ~@6, [db4,bb4]@11 ~@5]/2", AU: "~@3 ab1 ~@3 gb1", AV: "~@5 f1 ~@2",
  AW: "~@5 f1 ~@2, ~@10 g1 ~@5", AX: "~ bb2 ~@6", AY: "~@7 f2 ~@8", AZ: "~@13 db5 ~@2", BA: "~@3 f3@2 ~@11",
  BB: "~@9 db5 ~@6", BC: "~@10 c5 ~@5", BD: "~@12 [ab3,bb3] ~@3", BE: "f2 ~@2 bb5@2 ~@11", BF: "~@9 ab5 ~@6",
  BG: "[c3,c4] ~@3", BH: "gb3@5 ~@3", BI: "~@9 f3@3 ~@4", BJ: "gb3@9 ~@7, a2 ~@3", BK: "f2 ~@15", BL: "~@5 ab5 ~@10",
  BM: "~@12 eb2 ~@3", BN: "~@2 bb5 ~@5", BO: "~@7 ab5 bb2 ~@2 ab3 ~@4", BP: "~@12 g3 ~@3", BQ: "~@4 gb3 ~@11",
  BR: "~ ab4 ~@2 ab4 ~@3", BS: "ab4 ~@15", BT: "~@7 eb5 ~@8", BU: "~@8 eb3 ~@7",
  BV: "~@12 db5 [d5,eb5] ~@2, ~@11 c5@2 ~@3", BW: "~@7 eb3 ~@2 [g5,gb6] ~@5", BX: "~@4 eb3 ~@3",
  BY: "~@14 [b4,f5,g5,b5] ~", // G7
  BZ: "~@2 [b4,g5,b5] ~@3 [bb4,d5,f5,g5,bb5] ~@3 [d5,f5,bb5] ~ [ab3,bb3] ~ [b4,d5,f5,g5,b5] ~", // Em Gm7 Bb Absus2 G7
  CA: "~@2 f5 [f3,ab3] [bb3,d4] ~ [f5,bb5] ~@7 [b4,f5,g5,b5] ~", CB: "~@2 a5 ~@11 [db5,f5,g5,b5] ~",
  CC: "a5 ~ b5 ~@3 bb4 ~@3 bb5 ~@3 bb4 ~", CD: "db5 ~@15",
})).s("gm_piano").gain(0.29)

stack(piano, piano_soft)

More by Eubie Blake