Strudelify

Sugar Cane

Scott Joplin

KeyB♭ majorTempo100 bpm
0:00/0:00
// Sugar Cane — Scott Joplin
// 100 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 82 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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@3 B@7 C@7 D@2 E F G@2 H@5 I J K L M@2 N@5 O P Q@2 R@3 S T@4 U@5 V@2 W X@2 Y Z@2 AA AB AC@4 AD@2 AE AF AG AH AI AJ@2
  AK@3
>`.pickRestart({
  A: "[~@12 f2@5 ~ bb2 ~@13 [d3,d4,bb5]@2 d6@2 [c3,c4,f6] ~@13 [f3,g5]@3 f5 ~ [bb2,bb3]@2 ~@13 d6 ~ [c3,c4,f6] ~@14 f5@3 eb4@6, ~@18 bb3@5 f4@12 ~@6 eb4@4 [eb4,c6] f3@2 a5@6 ~@3 d5@7 [f3,d5]@8 ~@7 eb6@12 ~@5, ~@21 d5@4 bb4@10 ~@6 f6@13 ~@5 d4@2 bb4@5 f5@2 [d4,bb5]@4 ~@4 f6@5 f3@2 a5@2 [f3,g5]@5 ~@6, ~@23 bb3@4 [f3,bb3,d5]@8 ~@8 eb6@11 ~@5 f4@12 ~@3 g6@16 ~@6, ~@27 d4@3 f5@5 ~@4 g6@15 ~@6 bb3@3 bb3@8 ~@6 eb4@4 [eb4,c6]@10 ~@5]/3", // Gm F5 Fsus2 Bb F5 Cm Dm Gm …
  B: "[~ eb4@3 [d3,d4]@5 f4@2 ~@2 [eb3,eb4]@5 gb3@2 [eb3,eb4]@2 [d3,d4]@5 [f2,f3] ~@5 g3@2 ~@19 e6@3 [e5,g5,db6,g6]@6 [f5,f6]@3 d4@2 d6@2 [g5,g6] ~ g5@2 ~ eb4 ~@5 [f5,f6]@2 [f4,bb4]@2 d6@2 [db4,bb4]@2 bb5@2 ~ bb4@2 ~@2 [d4,f4,bb4]@2 [a5,f6]@2 ~@7 c6@2 eb6 ~@3 [eb4,f4,a4]@2 [bb5,d6,bb6]@2 bb4 [d4,f4] ~@3 [eb3,g4,eb5]@5 [d3,d4,f5]@3 ~@2 bb4@2 ~@2 d4 d3 ~@5 g4@2 bb4@2 ~@3 bb3@2 [f4,bb4,d5,f5]@2 d3 ~ d5@2 db3@2 bb4@2 [d3,d5] ~@3 [f3,bb3,d4]@4 ~ c3 ~@7 eb5@2 ~@7 [f3,bb3,d4] ~@3 [d2,d3] ~@4 [g2,g3] ~@4 [f2,f3] ~@4 bb2@2 ~@10 f5@2 [d2,d3,bb5] ~ d6, gb4@6 ~@3 f3 ~@8 gb4@4 ~@9 e2@13 [bb3,db5]@2 g5@2 e4@2 [g5,a5]@2 bb4@13 ~@5 eb4@2 ~@2 [gb4,bb4]@4 ~ [eb4,gb4,bb4]@4 d4 ~@16 [c4,a4]@2 ~@16 bb3@4 ~@10 [db3,db4,e4,e5]@4 ~ bb3@4 [eb3,g3,bb3,g5]@4 [eb3,gb3,bb3]@4 eb3@3 ~@23 [f3,a3,eb4,a4,f5]@8 eb4 [f3,a3]@4 ~@24 [f3,bb3,d4]@4 ~ [f3,bb3,d4,d5]@5 ~@2, ~@36 [bb2,db4]@16 db6@4 ~@18 bb5@2 eb6@6 ~@5 [e5,e6] ~@4 d6 ~ [f5,bb5,d6,f6]@6 ~@3 eb6@6 ~@2 [a5,f6]@5 ~@61 c5@4 [a4,f5]@5 [bb4,d5,bb5]@22 ~@4 f4@9 ~@3, ~@38 g4@4 g4@16 ~@8 [f4,bb4]@4 [g4,bb4]@5 ~@12 g4@4 ~@9 f4@5 [a4,a5,f6]@4 a4@4 ~@21 bb4@4 ~ d5@6 ~@3 [bb4,eb5]@3 ~@7 e4 ~@5 [bb4,d5,f5]@8 ~ eb5@6 ~@3 c5@6 ~@22 d5@7 ~@7, ~@40 e3@18 ~@43 eb4@4 ~@17 [eb4,g5]@3 ~@2 [f4,bb4]@5 ~@3 [f4,d5,f5]@3 ~@9 [gb4,gb5]@3 gb3 ~@3 [f3,bb3]@4 [g3,bb3,e5]@4 bb3@2 ~@15 f2@9 ~@19 bb1 ~@6 bb4@7 ~@3]/7", // D Eb D F Dbdim F G F …
  C: "[~ [c2,c3,f5,f6] ~ g6@2 ~ [a3,eb4,f6] ~ eb6@2 c6@2 a5@2 eb4 a3 ~ f5 ~ [bb1,bb2] ~@13 d3@2 d6 c3 [f5,f6] ~@13 f5@3 ~ eb3@5 ~@4 d4@5 f4@2 ~@3 [eb3,eb4]@5 gb3 ~ eb3@2 [d3,d4]@5 [f2,f3]@4 ~@3 g3@2 ~@10 g5@3 ~@8 [e5,g5,db6,g6]@7 ~@2 d4@2 ~@2 g5@2 d6@2 ~ [eb4,g4]@2 eb6@2 ~@2 [f5,f6]@2 [f4,bb4]@2 ~@2 e6 db4@2 bb5@2 [f4,bb4]@2 [f5,f6]@2 ~@3 [a5,f6]@2 [c4,a4]@2 ~@4 c6@2 eb6 ~@4 [eb4,a4]@2 [d6,bb6]@2 bb4@5 [eb4,g5]@3 ~@2 [f4,bb4,f5]@5 ~@4 [d3,d4] ~ d5@2 ~ g5 ~@3 [gb3,eb5]@2 [gb4,gb5]@2 [eb3,gb3,bb3]@2 [f4,bb4,f5]@2 ~ d3 ~@5 bb4@2, ~@10 f1 ~@11 d5@4 bb4@10 ~@3 g6@8 a5@2 [f2,f3,g5]@5 ~@8 [eb3,eb4]@4 ~@14 eb4@2 ~@11 e2@12 bb3 db5@4 e4 g5@3 [bb4,db6]@2 e6@9 f6@11 ~@11 d6@2 ~@6 [bb5,d6]@6 ~@3 eb6@6 ~@7 bb5@7 ~@21 bb4@4 [bb4,eb5]@6 ~@9, ~@24 f4@12 ~@5 f6@13 ~@47 e3@24 f5@4 d6@4 ~@3 bb5 ~@12 e5 ~@23 [a5,c6,f6]@5 ~@25 eb3@4 ~@8 [f3,bb3]@5 [db3,g3,bb3,e4,e5]@4, ~@24 [f3,bb3,d4]@4 [bb3,d5]@8 ~ c4@2 ~@4 eb6@11 ~@45 g4@4 g4@23 ~ f4@9 ~@4 [eb4,gb4,bb4]@4 d4 ~@8 [d4,d6] ~@4 [d4,f4]@4 [eb4,f4]@4 [c4,a4,a5,f6]@4 ~@19 [d3,d4]@2 ~@3 [db3,db4,e4,bb4,e5]@4 ~@4 g3@8 ~@14, ~@28 d4@2 f5@2 [d4,bb5]@3 ~@6 eb4@4 [eb4,c6]@9 eb4@6 gb4@5 ~@14 gb4@4 ~@14 [bb2,db4]@29 ~ bb4@4 [bb4,g6]@4 ~ bb4@4 ~@9 [g4,bb4]@4 ~@4 bb4@4 ~@23 bb4@5 ~@7 [f4,f5]@4 ~@2 bb3@4 bb3@4 ~@14]/7", // F5 F7 Bb F Eb D F Dbdim …
  D: "[[d3,f3,d5] ~@3 [f3,bb3,d4]@4 ~ f2 ~ eb5@2 [a3,eb4,f4,a4] ~ c5 ~ [f2,eb5] ~@3 [a3,eb4]@4 ~@2 bb5@2 ~@3 f4@4 ~@5 ab4@5 c3 ~@4 [a3,eb4] ~@3 f2 ~@6 c6@2, bb3@2 [f4,bb4,d5,f5]@8 ~@3 f5@2 ~@4 f5@6 ~@11 bb4@9 ~@3 eb5@10 c5@6, ~@20 a4@6 ~ [bb3,d5]@9 ~@14 a5@3 g5@11, ~@59 eb4@5, ~@15 eb5]/2", // Dm Bb F7 Adim Bb
  E: "c3 ~@4 [eb4,eb6]@2 ~@2 f2 ~@6 a6@2 [bb2,bb3]@2 ~@3 [f3,bb3,d4,g5,d6,g6]@4 f6 d6@2 ~@2, eb5@9 ~@5 [eb4,c6]@4 ~@10 f2 ~@3, ~@3 a5@7 ~@2 a5@6 [bb5,bb6]@9 f5@2 ~@3, ~@3 bb5@4 d6@11 d6@5 ~@9", // Eb Bb Gm7 Cm Bb
  F: "db5 bb3 ~ d6@2 ~@9 [f2,d3] ~ d5@2 [f3,bb3,d4,f4,d5,f5]@4 ~ eb6@4 ~ [a3,c4,eb4,g5]@4, db6@2 ~ bb5@7 f3@2 ~@11 c3 ~@8, ~@5 bb1@7 ~@20, ~@7 [f4,f5]@4 g5@3 ~@9 [a5,a6]@9, ~@9 [bb3,d4,gb4,gb5]@2 ~ g4@4 ~@11 [eb6,g6]@4 ~", // Dm Bb Am7b5 F A Bbaug Eb
  G: "[[f2,f5,eb6,f6] ~@4 [eb4,d5,d6]@3 ~ c3 ~@6 [g4,g5]@3 f2 ~@3 [f3,eb4,f4,f5]@6 [bb2,bb3,bb6]@2 ~@2 d4 [f3,bb3] ~@3 [f2,f6] ~@4 [bb3,d4,db6]@2 [bb5,d6]@2 ~@5 [bb3,gb4,gb5]@2 [g4,d5,g5]@2 [f2,d3] ~@2 d5@2 [bb3,f4,f5] ~@2, ~@8 eb6@2 ~@2 [f4,f5]@5 ~@4 eb5@8 bb5@4 g5@4 ~ f5@5 ~@4 bb2@7 ~@10, ~@14 [f3,eb4,gb4,gb5]@4 ~@15 g6@2 ~@15 f5@5 ~@9, ~@17 d6@2 ~@5 bb3@2 ~@6]/2", // F7 Ebmaj7 G F7 Bb Bb5 F Bb …
  H: "[~ c3 ~@4 [eb4,a5]@2 ~@3 f2 ~@6 c6@2 c3 ~@3 [eb4,eb6]@3 a5@2 f2 ~@5 a6@2 ~ [bb3,bb6]@2 ~@2 [f3,bb3,d4,g5,d6,g6]@4 ~ [f5,d6]@2 ~@3 [f3,bb3]@2 d6@2 bb3@3 ~@2 [d4,gb4,gb5]@2 [g4,g5]@2 f2 ~@2 d5@2 [bb3,f5] ~@4 [f4,d5]@2 c5@3 f4@2 ~@7 [ab3,d4,f4,bb4]@4 ~ d5@2 ~@2 [g3,bb3,eb4]@2 bb4@3 ~@4 [gb3,bb3,eb4,bb4]@5 [f3,bb3,d4,bb4]@2 ~@2 [f3,bb3,d4]@2 ~@7 [bb3,f5]@5 [g2,g3]@2 ~@2 f2 c5@4 [bb2,bb3]@2 ~@3 [b3,ab4,ab5]@4 ~ [c3,c4] ~ eb5@2 eb4 ~@4 c2 ~, ~ a4@10 ~@2 c5@6 ~ eb5@10 ~ a5@6 ~ bb5@9 ~@7 bb5@9 ~@19 bb4@7 ~@4 g3@2 ~ c5@6 ~@3 c5@7 ~@2 c5@4 ~ d5@2 ~@2 g5@6 ~@27 g5@4, ~@4 eb5@11 [eb4,eb5]@5 ~@13 [f3,a3,eb4,c6]@4 ~ bb2 ~@8 [f2,f6] ~@8 bb2@7 ~@24 c5@7 bb3@4 ~@5 [gb3,bb3,eb4]@4 ~@13 [f3,bb3]@5 ~@10 f3 ~@24, ~@8 g5@11 ~@3 a5@5 d6@11 d6@4 ~@17 [f4,f5]@5 ~@6 f4@2 ~@3 [ab3,bb3,d4]@4 ~@5 f4@5 ~@4 eb4@5 ~@23 d4@4 ~@5 bb4@4 eb4@3 ~@2 [d4,bb4] ~@9 a4@2 ~@9]/5", // Ebdim Eb Bb Gm7 Dm Bb5 D G …
  I: "~@2 [a3,eb4,f4] eb5 ~ [f2,c6]@2 a3 ~ a5@2 [c4,eb4,eb6] ~@2 [eb5,a5,d6]@2 f1 ~@3 [a3,c4,eb4,f4,c6] ~ a6 ~@2 [bb5,d6,bb6]@2 ~@2 [g5,d6,g6]@3, ~ c5@2 ~@4 eb5@5 ~@13 [bb1,bb2] ~@3 [f3,bb3,d4] ~@2", // F7 F5 Cm D F7 Bb G5 Bb
  J: "~@2 [f2,d3,f5,d6,f6] ~@3 [f3,bb3,d4,db5] ~@2 [d5,bb5,d6]@2 [bb1,bb2] ~ [f4,f5]@2 [f3,bb3,d4,gb4] ~@2 g5@2 f2 ~ d5@2 [f3,bb3,d4,f4,d5,f5] ~@4 [a5,eb6]@2 ~, ~@6 [bb5,db6]@2 ~@7 gb5@2 [g4,d5]@3 ~@8 a6@2 ~@2, ~@29 [c2,c3] ~@2", // Dm Bb Gm Bb F Bb Adim Bbm …
  K: "~ [g5,c6,eb6,g6]@4 ~ [f1,f5,c6,eb6,f6] ~@3 [a3,c4,eb4,f4,d5,d6] ~@2 [eb5,c6,eb6]@2 [c2,c3] ~ [f4,f5]@2 [a3,eb4,gb4] ~@3 f1 f2 ~@2 bb3 [a3,c4,eb4,f4,c5,eb5,f5] ~@3, ~ [a3,c4,eb4,f4] ~@8 a5@2 ~@7 gb5@2 [g4,c5,eb5,g5]@4 ~ eb5@2 ~@4", // Cm F7 Dm7 Cm C F Ebdim F7 …
  L: "[d6,bb6]@2 ~@2 bb3 [f3,d4] ~@3 [f2,d3,f5,d6,f6] ~@3 [f3,bb3,db6] db5@2 d6@2 ~@2 [f4,f5]@2 [bb3,d4,gb4,gb5] f3 [g4,d5,g5]@2 f2 ~ d5@2 [f3,bb3,f4,f5] ~, bb5@4 [g5,d6]@5 ~@5 d4 ~ [d5,bb5]@8 ~@8, [bb1,bb2] ~@3 g6@3 ~@11 [bb1,bb2]@6 ~@8", // Gm Dm Bbm F Bbaug G5 Bb5 G5 …
  M: "[~@7 [a3,c4,eb4,f4,eb5,a5]@2 [eb5,g5]@2 [c2,c3] ~@7 c3 [db3,a3] ~ [a5,bb5]@2 [a3,eb4,a5] ~@2 [eb5,a5,d6]@2 f1 ~ a5@2 [a3,c4,eb4,f4,c6] ~ [a5,a6]@2 [bb5,d6]@5 [g5,d6,g6]@4 [f2,d6,f6] f5 ~@3 [f3,bb3,db6] ~@3 bb3@3 ~@2 [f3,bb3,d4,gb4,gb5]@2 [g4,d5,g5]@2, ~@3 [c3,a4]@7 ~@5 f4@5 eb5@4 [eb5,eb6]@2 ~@11 bb6@2 ~@14 bb5@9 ~@2, ~@16 [a3,eb4,eb5]@5 ~@21 [f3,bb3,d4] ~@12 bb2@7 ~@2, ~@18 [f2,c6]@2 ~@17 [bb1,bb2] ~@20 f5@4 ~@2]/2", // F7 Eb C Gbm Bbmaj7 Adim D F7 …
  N: "[[f2,d3] ~ d5@2 ~ [f3,bb3] ~@4 [ab3,bb3,d4,f4,d5]@2 c5@2 ab3@2 ~@5 [c5,c6]@2 [d4,f4,bb4,bb5] ~@4 [bb3,eb4]@2 ~@2 eb4@2 ~@5 [c5,c6]@2 [gb3,bb3,eb4,bb4,bb5] ~@5 c5@3 [bb3,d4]@2 bb4@2 ~@4 [f3,bb3,f5]@5 [g3,e4,bb4]@3 ~@2 f3@2 ~@3 [bb2,bb3] ~@4 f3@5 [bb1,bb2] ~@13 [d3,d4,bb5]@3 d6@2 [c3,c4,f6] ~@12 g5@3 f5 ~ bb3@2 ~@6 d4@3 ~@4 d6@2 [c3,c4]@2 ~@13 f5@3 [eb3,eb4]@5, ~@4 f5@2 ~@8 f4 ~ bb4@7 ~@5 d5 ~ c5@4 bb4@6 ~@12 d5@11 ~@10 bb4@10 ~@3 d5@5 bb4@10 ~@5 f6@13 ~@5 [bb3,d4]@4 [f3,bb3,d5]@4 bb5 [d3,d4]@4 ~@6 eb6@2 f3@2 a5@3 [f2,f3,g5]@5 ~@5, ~@19 [ab3,bb3,f4]@4 [ab3,bb3]@2 ~@7 g3 ~@3 eb4@4 ~@5 [d4,bb4]@6 ~@5 g5@7 ~@25 [bb3,d4]@5 [f3,bb3,d5]@8 ~@7 eb6@3 f3@2 a5@6 ~@3 d5@6 ~@3 [e5,f5]@6 f6 ~ g6@16 ~@5, ~@37 [gb3,bb3]@4 ~@5 bb3@4 ~@4 [f3,bb3,d4]@4 ~@30 f4@13 ~@5 eb4@4 ~ [eb4,c6]@8 ~ bb2 ~@3 f4@12 ~@5 eb4@4 [eb4,c6]@10 ~@5, ~@93 d4@2 f5@6 ~@3 g6@15 ~@7 bb4@10 ~@5 f6@14 ~@5]/5", // Dm Bb5 Bb7 C Bb Eb5 C Ebm …
  O: "~@4 d4@5 f4@5 [eb3,eb4]@5 ~@2 [eb3,eb4]@2 d4@5 [f2,f3]@4, [gb3,gb4]@6 ~@13 [gb3,gb4]@4 ~@9, ~ eb4@4 ~@27, ~@2 eb3@4 ~@17 d3@9", // Eb F Gb
  P: "~@3 g3@2 ~@10 g5@3 ~@9 [e5,g5,db6,g6]@5, ~ e2@4 [bb2,db4]@13 e4@2 g5@2 [bb4,db6]@2 e6@8, ~@7 g4@4 g4@21, ~@9 e3@23, ~@13 [bb3,db5]@19", // Dbdim Bbm
  Q: "[~@3 d4@2 ~@3 [d4,g5,g6]@4 eb4@2 ~ ab5 ~ [eb4,gb4]@2 [f5,bb5,d6,f6]@2 [f4,bb4]@2 d6@2 [db4,g4]@2 ~ bb5@2 [d4,d6] ~@3 [d4,f4,bb4]@2 [a5,f6]@3 [c4,a4]@2 ~@4 c6@2 eb6@2 ~@6 [bb3,d4,f4,bb4]@4 ~ [eb3,eb4,g4,g5]@4, ~ [f5,bb5,d6,f6]@4 d6@7 eb6 ~ [gb5,gb6]@4 ~@7 bb4@3 ~@2 [f4,bb4]@4 ~@5 [eb4,f4]@4 [c4,a4,a5,f6]@4 a4@4 [c4,eb4,a4]@9 ~@4, ~@3 [f4,bb4]@4 [f4,bb4]@5 [gb4,bb4]@4 ~ bb4@4 d4 ~@3 [e5,e6] ~@6 [f5,bb5,d6,f6]@6 ~@3 eb6@6 ~@2 [a5,c6,eb6,f6]@10 ~@5, ~@51 f4@4 ~@9, ~@53 [bb5,d6,bb6]@6 ~@5]/2", // G5 Ebm Bb Bb5 Dbdim D Bb Dm …
  R: "[~ [d3,d4]@3 ~@3 [f4,f5]@2 d4@2 ~ d5@2 [g4,g5] ~@3 [eb3,bb3,eb5]@2 [gb4,bb4,eb5,gb5]@3 [eb3,gb3] ~@3 d3 ~ d5@2 e4 ~ bb4@2 ~ [d3,f3,d5] ~@3 [f3,bb3]@3 ~ c3 ~@8 eb5@2 ~@2 [f3,a3,eb4]@2 ~@2 [f3,bb3,d4] ~@4 [f2,f3]@4 ~ [bb1,bb2]@2 ~@7 [bb4,d5,bb5]@4 bb3 ab3 ~@3 bb1 ~@2 g4@2 [ab3,bb3,d4,f4,f5] ~, [bb4,f5]@7 ~@7 bb3@4 ~@5 bb3@2 ~@7 g3@3 ~ bb3@2 f4@5 ~@8 c5@4 [a4,c5,eb5,f5]@5 ~@28 ab4@3 ~@5, ~ f4@4 [db3,db4,e4,bb4,e5]@4 d3 ~@4 g3@8 ~@5 [f3,bb3]@4 [db3,bb3,e5]@4 ~@5 d4 ~@8 [f3,eb4,a4,f5]@8 ~@2 [bb4,d5,bb5]@11 [bb4,d5,bb5]@2 ~@15 [d5,ab5]@3 ~@6, ~@16 bb4@4 ~@5 [f4,bb4,d5,f5]@4 ~@9 [bb4,d5,f5]@8 eb5@6 ~ f2@7 ~@20 f2 ~@15]/3", // D F G Eb5 Ebm Dm Bb5 F7 …
  S: "~@3 [f2,d3] ~@3 [ab3,bb3] ~@3 [bb1,bb2] ~@2 g5@2 [ab3,bb3,d4,f5] ~ gb5 eb2 [bb2,eb5] ~ c6@3 [bb3,eb4,d5] ~ c6@2 [bb1,c5] ~@2, ~@2 [d5,bb5]@6 ~ ab5@3 ~@13 g5@2 ~@2 g5@2 ~, ~@3 bb4@4 ~@3 ab4@3 ~@7 [g3,g5]@5 ~@7", // Dm Absus2 Bb Bb7 Eb5 Ebmaj7 Bbsus2 Gm …
  T: "[~ eb4 [bb3,c4,d5,g5] ~ [eb2,g5] ~ bb2 ~ f5@2 [bb3,eb4,g4] ~@3 [bb3,c4,eb4,g4] ~@2 g5@2 [e3,db5,g5,bb5]@2 ~@3 [bb4,d5,bb5]@4 [ab3,bb3,d4] ~@2 [ab4,d5,ab5]@2 bb1 ~ g5@2 [ab3,bb3,d4,d5,f5] ~@4 [f2,d3] ~@2 [bb3,d4] ab3 ~ [ab4,d5,ab5]@2 bb1 ~ g5@2 [ab3,bb3,d4,f5] ~ gb5 eb2 ~ [bb2,g3] ~ c6@2 [bb3,c4,eb4,g4] ~ c6@2 [c5,g5]@2 ~ c6@2 [bb3,c4,eb4,g4,d5,g5] ~@8 [bb3,eb4]@2 [g5,bb5]@2 [eb2,eb3]@2 [ab2,g5]@2 [db2,f5,b5]@2 g2@2 c2 [c3,e5]@4 [g3,bb3,c4,e4] ~@4 e2 ~ ab5@2 [g3,bb3,c4,e4] ~@4 [g2,e3] ~@3 [g3,bb3,c4,e4] ~@3 c2 ~ ab5@2 [bb3,c4,e4] ~ c6 ~, c6@2 ~@4 [g3,eb5,c6]@4 gb5@2 ~ g5@3 ~@3 e2 ~@4 [f2,f3] ~@16 [d5,bb5]@5 ~@12 g5@5 ~@13 [bb2,g3,eb5,c6]@7 ~@6 [db3,b4,ab5] ~@22 e5@4 ~@2 e5@7 g5@2 ~, ~@42 bb4@5 ~@16 [d5,g5]@2 ~@2 bb1 ~@6 [eb2,g5]@9 ~@45, ~@78 f5@5 ~@10 c6@8 e5@7 ~@4 c6@8 ~@8, ~@80 [g4,gb5]@2 ~@19 bb5@4 ~@2 g5@10 ~ bb5@4 ~@6]/4", // Gm Eb Cm7 Edim Bb Bb7 Abdim Bb7 …
  U: "[~ f2 ~@7 ab3@3 ~@10 [ab3,c4,f4,c6]@2 g6@2 ~@2 c6@2 ~ c4@4 [gb5,gb6]@4 [c3,c4,eb5,eb6] ~@8 [gb3,gb4,a4,a5]@4 [g3,g4] ~@9 g5 ~@5 c3@2 [f2,f3] ~@8 f5@2 ~@2 [ab3,bb3,d4]@2 ~@2 [eb2,eb3] ~@8 [f2,f3]@5 ~ [e2,db5,g5,bb5]@3 ~@3 [f2,e3,f3] ~@3 [ab3,bb3,d4] ~@4 [f1,f2] ~@2 f5 ~ [ab3,bb3,d4,f5] ~@4 [bb4,d5,f5,bb5]@4 [ab3,bb3,d4] ~@2 [ab4,d5,ab5]@2 f1 ~ g5@2 [ab3,bb3,d4,f5] ~ gb5 eb2 [bb2,g3,eb5,g5] f3 ~ c6@2 [bb3,eb4,d5,g5] ~ c6 ~ [bb1,c5,g5] ~@2 c6 ~ [bb3,c4,eb4,g4,d5,g5] ~, ~ f3@12 [ab3,c4,f4]@7 ab5@4 ~@28 eb5@5 ~@2 eb5@4 ~@3 [g2,g3]@4 ~@5 [ab3,bb3]@8 ~@19 e3@5 ~@53, ~@3 c6@2 ab3@2 ab5@5 [g5,g6]@12 g5 ~@27 [bb4,g5,bb5]@11 [bb4,eb5,g5,bb5]@6 ~ [bb4,f5,bb5]@9 bb1@7 ~@6 [g2,g3]@10 ~@25 [bb1,bb2] ~@32, ~@5 [f5,f6]@11 ab5@2 [f2,f3,f5,f6]@7 ~ ab3@4 [ab3,f4,f5,c6,f6]@4 ~ a3@2 ~@7 [eb3,eb4,c5,c6]@8 ~@5 [eb3,eb4]@13 d5@7 d5@4 [bb4,d5,f5,bb5]@5 ~@21 [bb4,d5,bb5]@7 ~@46, ~@5 [c4,f4]@4 [ab2,c6]@15 ~@2 [ab2,g5]@9 a2 ~@25 [bb2,bb3]@9 ~@4 d4@8 ~@3 [g4,bb4,eb5]@16 ~@14 [ab4,d5,ab5]@4 ~@41]/5", // Fm Gb Cm Gbm G F Bb7 Eb …
  V: "[[eb2,g5] ~ [bb2,g3,eb5,c6] ~@2 f5@2 [eb4,g4,gb5] ~ g5@2 [bb3,c4,eb4,g4] ~@3 [e2,e3] g5 ~ bb2 ~ [d5,f5,ab5,bb5]@4 ~ ab3@2 [ab4,d5,ab5]@2 bb1 ~ g5@2 [bb3,d4,f5] ~@2 bb2@2 [bb4,d5,f5,bb5]@4 [ab3,bb3,d4] ~@3 [bb1,bb2] ~@6 [eb2,gb5] ~ [eb5,g5,ab5]@2 ~@3 [f4,g4,c5,d5] ~ c6@2, ~@13 g5@2 [db5,bb5]@3 ~@6 [bb3,d4,f4]@2 ~@7 ab3@2 ~@9 [ab4,d5,ab5]@3 ~@4 [ab3,bb3,d4,f5]@4 [bb2,g3] ~@3 g5@2 ~@3, ~@14 ab2@2 ~@4 [f2,f3] ~@17 [f2,d3] ~@6 f5@2 ~@2 g5@5 ~@4 c6@2 ~@4]/2", // Eb Cm7 Eb Cm7 E Bb7 Abdim Bb …
  W: "[c5,g5]@2 c6@2 [bb3,c4,eb4,g4,d5,g5] ~@2 [eb2,g5] ~ bb2 ~@3 [bb3,c4,eb4,g4]@2 [g5,bb5]@2 [eb2,eb3]@2 ab2@2 [db2,db3,b4,f5,b5]@3 g2@2 [c5,e5,g5,c6]@4 [bb3,e4]@2, ~@8 [eb5,c6]@7 ab5 ~@16, ~@9 g3@7 ~@10 [c2,c3] ~@5, ~@11 f5@5 ~@16, ~@13 gb5@5 ~@14", // C5 Cm7 Eb Cm7 Gm Eb Db7 C …
  X: "[~ [bb4,e5,g5,bb5]@2 g1 ~ ab5@2 [g3,bb3,c4,e4,g5] ~@2 c2 g2 g5@4 [bb3,c4,e4] ~ [bb4,e5,g5,bb5]@2 e2 ~@3 [bb3,c4,e4,g5]@2 c6 ~ f3@2 ~@20 [ab3,c4,f4,c6]@2 ~@2 ab2 ab3 ~ c6@2 [ab3,c4,f4,f5,c6,f6]@4 [a2,a3], ~@11 [c5,e5,c6]@6 ~@5 ab5@4 ~@5 c6@4 ab5@6 [ab3,c4,f4]@7 ab5@4 ~@12, ~@12 a2 ~@15 f2 ~@4 [f5,f6]@11 ab5@2 [f2,f3,f5,f6]@7 ~@11, ~@33 [ab3,c4,f4]@7 [g5,g6]@13 [g5,g6]@3 ~@8, ~@37 [ab2,c6]@15 ~@12]/2", // Edim C7 Edim C7 Fm A C Fm …
  Y: "~ gb6@2 ~ [c4,eb5]@2 eb6@2 [eb3,eb4,c5] ~ c6@2 [gb3,gb4,a4] ~@2 a5@2 [g3,g4] ~@8 g5@2 [bb4,eb5,g5,bb5]@2 g2@2, gb5@4 c3 ~@12 [bb4,bb5]@9 [bb2,bb3]@4 ~@2, ~@22 [eb3,eb4]@8 g3 ~, ~@6 eb5 ~", // Cm Gbm G Eb Bb Eb
  Z: "[c3@2 ~ [f2,f3] ~@7 d5@2 ~@3 bb3@2 bb3@2 [eb3,bb3,eb4] ~@4 [bb1,bb2] ~@3 [eb1,eb2] ~@4 [bb1,bb2] ~@3 eb3 eb2 ~ eb5@2 [g3,bb3,eb4,g4,g5] ~ bb4 ~ [bb1,bb2] ~@2 [g4,g5] [bb3,eb4] g3 ~@3 eb3 ~ g5@2 [bb3,eb4,g4,c5,g5,c6] ~ g5 ~, ~@2 bb5@7 bb4@2 bb1@5 [d4,e4]@5 ~@43, ~@2 bb4@5 ab3@14 ~@34 eb2@2 ~@7, ~@3 f5@10 bb5@7 [g4,bb4,eb5]@18 ~@16 [bb4,g5,bb5]@3 ~@7, ~@3 d5@4 [bb3,d4]@7 [bb4,d5,f5]@7 ~@26 eb5@2 ~@15]/2", // F Eb5 Bb Eb Bb Eb Bb G …
  AA: "[g2,g3,bb4,eb5,bb5] ~@3 gb3 [c5,c6] ~ d5@2 [f2,f3] ~@3 [f3,bb3,d4,f4,d5,f5] ~@3 e5 [f2,bb4] ~ f4@2 bb3 ~@3 bb2@4 f2 ~, ~@4 gb2@2 [bb5,d6]@3 ~@10 [bb4,d5,f5]@3 ~@2 [f4,bb4,d5,f5]@8, ~@26 bb3 ~@5", // Eb C F Bb Bb5 Bb
  AB: "f3@2 g2@2 g3@2 [f5,d6] d5 ~ ab3 ~ [a2,a3,c5,c6] ~@3 [a3,c4,eb4,eb5,f5] ~ eb5@2 [e4,e5] c2 ~@2 [ab3,c4,eb4]@2 ~@2 c3@5, ~@6 ab2@2 ~@7 [f4,c5]@2 ~@4 [f4,f5]@4 [f4,c5,eb5,f5]@7, ~@27 c4 ~@4", // Dm Am F7 E Ab F5 F F7
  AC: "[f2 ~ f3@2 g2 ~@3 eb5@2 a3 ~ bb3@4 [f3,bb3,d4,f4,d5,f5]@3 bb2@2 [f2,d3,e4,d5,e5] ~@6 bb2 ~@3 ab2 ~ ab3 ~ g2@2 g3@2 f2@2 f3 e3 [eb2,eb3] ~@2 bb3 [bb3,eb4] [g3,g4,g5] ~ bb4 ~ [bb1,bb2,eb5] ~ [g4,g5] ~ [g3,bb3,eb4]@2 [bb4,g5,bb5]@2 [eb2,db3,eb3] ~ g5@2 [bb3,c4,eb4,g4,g5,c6] b5 g5 ~ [bb4,eb5,gb5] [eb2,db3,eb3] ~@2 [c4,eb4,c5] gb3 ~ d5!2 [bb1,bb2] ~@3 [f3,bb3,d4,f4,d5,f5] ~ bb2 ~ [f2,d3,e4,e5] ~@3 [f3,bb3,d4] ~@4 f2 ~@3 [bb3,d4] ~@3 [eb4,f4,c5]@5 ~@4 f4 [d4,d5] ~@5 bb4@3 [ab3,bb3,d4]@2 c5@2 [bb3,d4,f4,bb4] ~, ~@2 db3 ~@3 g3@2 a2 ~@3 [bb2,bb5,d6]@8 ~@5 [f3,bb3,d4]@2 [f4,bb4]@13 ~@48 [f4,f5]@3 ~@2 [bb4,d5]@8 ~@21 f4 ~@5, ~@7 [g5,eb6]@2 ~@3 d5 ~@10 [f4,d5,f5]@3 [d5,f5]@13 ~@8 eb5@2 ~@6 eb5@4 ~@6 c5@2 ~@2 bb5@2 ~@2 [gb5,c6]@2 ~ [bb5,d6]@3 ~@7 d5@2 ~ d5@2 ~@2 f5@16 ~@19, ~@31 bb3@2 ~@93 ab3@2]/4", // Bb Dm Eb Eb5 G Eb5 G Eb …
  AD: "[~@3 [g3,bb3,d5]@2 c5@2 [g3,bb3,eb4]@2 bb4@2 [gb3,bb3,eb4]@3 ~ bb4 bb3@2 ~@2 [f3,bb3,d4,bb4]@2 ~@7 f3@2 ~ [f3,bb3,d4,f5]@4 ~ [g2,a2,g3,e4] ~@3 [f2,f3,a4,c5] ~@4 [d4,bb4]@4 [f2,f3] ~ bb2 ~ [eb2,eb3] ~@2 eb6 eb4 [g3,bb3,g6] ~ bb5 ~ [bb1,eb6], ~@2 eb4@2 ~@10 c5@2 ~@6 c5@14 ~ bb4@2 ~@2 eb4@2 ~@3 bb2@2 ~@16, ~@15 [gb3,eb4]@2 ~@7 [f3,bb3,d4]@4 [bb3,d4]@3 g5@6 ~@27, ~@26 d5@10 ~@10 bb3 ~@17]/2", // Gm Eb Ebm Bb A7 F Gm F …
  AE: "~ [g5,g6]@2 [bb3,eb4]@2 [bb5,g6,bb6]@2 [bb2,g3] ~ g6@2 [bb3,eb4,g4,c6,c7] ~ g6 ~ [g3,bb5,eb6] ~ c3 bb6 [gb3,c6,c7] ~ [c3,db6,db7] ~ [f2,f3,bb6,d7] d6 ~@2 f6 [f3,bb3,d4,d6] ~ d6 ~, ~@3 g3 ~ eb2 ~@9 [g2,bb6]@4 gb2@2 ~@7 f5@2 ~@2", // G Eb5 Eb Cm7 Eb Gbdim Dbmaj7 Bb …
  AF: "[f1,e5,e6] ~ [f5,d6,f6]@2 [f3,bb3,d4]@2 ~@2 bb2@4 [e2,f2] ~ f3@2 g2 ~ g3 ~ [f6,d7] ~ ab3@2 [a2,c6,f6,c7] a3 ~@2 [eb4,f6] [a3,c4,f4,f5,c6] ~ eb6, ~@6 [f5,bb5,d6,f6]@9 ~@17, ~@8 bb3 ~@11 ab2@2 ~@10", // Fmaj7 Dm Bb Fmaj7 Dm F Ebsus2 F …
  AG: "~ [c2,e6] ~@3 [a3,c4]@2 ~@2 [c3,c4] ~@3 f2@2 f3@2 g2@2 g3@2 [eb6,g6,eb7] ~ a3 ~ [bb2,bb6,d7] ~@3 [f3,bb3,d4,f5,f6] d6 ~, ~@3 [f5,c6,eb6,f6]@4 [f5,c6,eb6,f6]@7 ~@11 d6@4 ~@3, ~@4 [eb4,f4]@3 ~@8 db3 ~@5 a2@2 ~@2 bb3@2 ~@5", // C Am C Eb Bb F7 Ebsus2
  AH: "[bb2,d6] ~ [f2,d3,e5,db6,e6] ~@3 [f3,bb3,d4]@2 ~@2 bb2 ~@2 ab2@2 ab3 ~ g2@2 g3@2 f2@2 f3 ~ [eb2,eb3] ~ eb5@2 [g3,bb3,eb4,g4,g5] ~ bb4, ~@2 [f5,f6]@2 [f5,bb5,d6,f6]@5 ~@7, ~@6 bb3 ~@9", // Bb Eb F Bb
  AI: "~ [bb1,bb2,eb5] ~@4 g3@2 ~ [eb2,eb3] ~@4 [bb3,c4,g5]@2 g5 ~ [gb2,gb3,bb4,gb5,bb5] ~@3 [gb3,bb3] [d5,f5,bb5]@2 [f2,d3] ~@3 [f3,bb3,d4,d5,f5] ~ d5, ~@3 [g4,eb5,g5]@3 ab5 ~ [bb4,g5,bb5]@3 ~ g5@2 ~@6 [c5,gb5,c6]@3 d6 ~@8, ~@5 [bb3,eb4]@2 ~@6 [eb4,g4,c5,c6]@3 ~@5 [c4,eb4]@2 ~@6 f4@2 ~", // Eb5 Eb C7 Gb Bb Dm Bb Cm …
  AJ: "[~ bb1 [bb2,e4,e5] ~@2 [f3,bb3,d4] ~@3 f2 d3 ~@3 [f3,bb3,d4,f4] ~@3 [a3,c4,eb4,f4,c5]@6 ~@3 [f4,d5,d6] ~ [c5,c6]@2 [bb3,d4]@2 [bb4,bb5]@2 ~@2 [c5,c6]@2 [d4,f4,bb4,bb5] ~@4 [g3,bb3,eb4]@2 ~ [g3,bb3,eb4]@2 ~ [bb4,bb5]@2 ~@3 bb5 [gb3,bb3,eb4]@2 ~@4 c5@2, ~@3 f5@3 ~ f5@16 ~@21 [d5,e5,d6] ~ [c5,d5,c6]@2 ~@6 c6@3 ~@7, ~@4 [f4,d5]@3 d5@6 bb4@2 ~@49, ~@8 [f4,bb4]@6 ~@4 f3@2 ~@7 [ab3,bb3,d4]@4 [ab3,f4] ~@3 [ab3,bb3,d4,f4]@4 [ab3,bb3]@2 ~@11 [gb3,bb3,eb4]@4 ~@4 [f3,bb3,d4,bb4]@4]/2", // Bbdim Bb F7 Dm C Bb C Bb …
  AK: "[[f3,bb3,d4]@3 ~@2 [f3,bb3,d4]@3 g5@2 [f3,bb3,d4,f5] ~@4 [g2,g3,e4,bb4] ~@3 [f3,a4,c5] f2 ~@4 [bb1,bb2,d4,f4,bb4]@64 ~@7, ~@3 d5@8 ~@8 eb4@2 ~@75]/3", // Bb Edim F Bb
})).s("gm_piano").gain(0.56)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A@2 B C ~ D E F G ~ H@2 I ~ J K L M@2 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 ~@2 AT AU AV AW@2 AX ~@3 AY AZ BA ~@2 BB@2 ~ BC BD BE BF BG BH ~ BI ~@3
>`.pickRestart({
  A: "[~@12 f3@5 ~@6 c4@12 ~@15 f2@4 ~@6 f3@4, ~@23 d4@4 ~@14 f3@4 ~@19, ~@21 a3@6 ~@5]/2",
  B: "d4@4 d3@3 ~@14 f2@5 ~ eb3@5, ~@13 f3@4 ~@15, ~@14 a3@13 ~@5", C: "~@2 eb3@3 ~@27, gb3@5 ~@27",
  D: "~@17 g5 ~@10 [d4,f4] ~@3", E: "~@9 [c4,eb4,f4]@4 [c4,eb4,f4]@4 c4@3 ~@12", F: "~@7 eb5 ~@5 g4@2 ~@17",
  G: "~@2 f3 ~@19 eb5@6 ~@4",
  H: "[~@6 [c4,f4] ~@2 bb1 ~@4 f4 g5@2 ~@14 eb3@5 ~@6 f3@3 f3@3 [ab2,bb2]@6 ~@6 gb3@4, ~@15 c4 ~@13 f3@7 ~@5 a3@13 ~@10]/2", // F5 Absus2
  I: "d3@5 f3@2 ~@25", J: "~@3 g5 ~@12, ~ [eb4,g4] ~@6",
  K: "~@6 [eb4,f4]@4 ~ [eb4,f4]@2 ~@2 f4@2 ~@3 f4@4 g4@5 ~@3, ~@10 a4@2 ~ eb6@4 ~@15, ~@11 c4 ~@7 d4@5 eb3@2 ~@6", // Ebsus2
  L: "~@15 eb3@3 ~@8 d5@2 ~@4",
  M: "[~@21 f3@4 ~@2 [f3,d4,bb4]@9 d3@2 ~@3 [b2,b3]@5 c4 ~@4 f3 ~@8 f3@4, ~@20 [c5,eb5]@6 ~@10 d4 ~@10 a4@8 ~@9]/2", // Bb B Cm
  N: "~@5 f3@2 ~@7 [f3,a3]@4 ~@10 d3 ~@3", O: "~ f3 ~ d5@9 eb5 ~@15 f4@4",
  P: "~@5 [f3,a3]@3 [a5,c6]@2 ~@4 a3@3 ~@7 a3@5 ~@3, ~@4 eb5@5 ~@7, ~@13 g4@3 ~@16", // F Am
  Q: "~@7 [d3,d6] ~@3 [f3,db5]@2 ~ d5@3 ~@3 [f3,d4]@3 ~@6 [f3,d4] ~@2, ~@9 f4@2 ~@5", // D Db Dm
  R: "~@6 f3@2 ~@7 [f3,a3]@4 ~@5 f3@3 ~@5", S: "~@9 bb3 ~@5 d3 ~@4 [d4,db5,db6]@2 ~@5 bb3 ~ [f3,bb3]@3, ~@22 d5@9 ~",
  T: "~@6 [f3,d4] ~@9 [ab3,bb3,d4] ~@4 bb3@4 bb3@4 ~@3, ~@20 [ab3,d4]@5 ~@7", U: "~@29 [f3,d4]@3",
  V: "~@2 e4@2 ~@3 a4@3 ~@6 b2@3 e3 ~@5 [c4,f4] [a3,a5] ~ [a4,eb5]@4", W: "~@2 c4 ~@4 c3 ~@4 a3 ~@6 [a5,b5]@2 ~@11",
  X: "~@20 d3 ~@11", Y: "~@13 a5@3 ~@3 c4 ~@2 bb1 ~@9", Z: "~@22 gb3 ~@3 d3 ~@3 d4 ~",
  AA: "~@5 c5@5 ~@6 c4@4 ~@4 [c4,f4] ~@7", AB: "~ a5 ~@13 d3 ~@3 [d4,db5] ~@2 d6 ~@3 f4@4 ~@2, ~@11 d5@4 ~",
  AC: "~@5 [ab3,f4] ~@8 d4@5 d4@4 ~@5 g3 ~@3, ~@5 d4@2 ~@7 bb3 ~@17", AD: "~ bb3 ~@12 f3@4 f3 ~@7 d4@5 ~",
  AE: "g2@2 ~@3 f2 ~@9 f2@5 ~@5 f3@4 ~@3, ~@4 [eb4,a4,c5]@5 d4@10 ~@13", AF: "~@19 [f2,f3]@3 ~@6 f3@4, ~@11 a3@12 ~@9",
  AG: "~@14 a3@13 ~@5, ~@14 f3@3 ~@15", AH: "~@4 d3@5 ~@2 f3@4 ~@17", AI: "~@2 f6 ~@5",
  AJ: "~@11 [eb4,f4]@4 ~ [c4,f4]@3 ~@13, ~@15 eb4@4 ~@13", AK: "~@7 eb3@2 ~@7", AL: "~@17 a3@8 ~@7",
  AM: "~@21 d4 ~@6 [d5,g5]@2 d5 ~", AN: "~@10 d5@3 ~@3 [e4,f4] ~@8 [c4,g4] ~@6",
  AO: "~@2 g4 ~@8 c4 ~@5 ab2@2 ~ d3 ~@11", AP: "~@5 c4 ~@2 bb2 ~@23", AQ: "~@13 db3@4 c4@2 ~@13", AR: "~@7 c6 ~@24",
  AS: "~ db6 ~@30", AT: "~@6 ab5 ~@3 db5@2 ~@12 g5 ~@7", AU: "~@21 [c4,g4] ~@10", AV: "~@7 [bb3,c4] ~@6 bb2@2 ~@16",
  AW: "[~@28 [b3,c4,db4,eb4] ~@2 bb1@2 ~@6 ab5 ~@5 bb5@2 ~@7 eb2 ~@3 b2 ~@3 c4@2]/2",
  AX: "~@10 d2 ~ e3 ~ bb3@2 ~@16, ~@12 ab5@5 ~@15", AY: "~@5 bb2@3 ~@10 e5@2 gb5 ~@7 c4 ~@2 ab5",
  AZ: "~@18 [e4,d5] ~@3 [f3,d4] ~@9", BA: "~ db3@2 ~@20 c5@2 ~ eb3 ~@5, ~@22 eb5@3 ~@7",
  BB: "[~@2 g4 ~ gb5 ~ db2 ~@22 f4@6 f3 ~@4 [f3,a3,c4]@5 ~@4 [ab3,bb3] ~ c5@2 [ab3,bb3,d4,f4] ~@10]/2", // F Absus2 Bb7
  BC: "~@10 e3 ~@16 g5 ~@4", BD: "~@6 gb2 ~@4 [c4,g6] ~@12 e3 ~@7", BE: "g1 ~@7 eb3 ~@5 db3 ~@6 d6 ~@10",
  BF: "~ [e5,c6] ~@7 eb3 ~@13 eb3 ~@4 bb3 ~@3", BG: "~@4 [c6,d6]@3 ~@3 eb3 ~@19 [c4,a4] ~", BH: "~@30 g4 ~",
  BI: "~@2 b4 ~@29",
})).s("gm_piano").gain(0.32)

stack(piano, piano_soft)

More by Scott Joplin