Strudelify

Dill Pickles Rag (Chris Chapman)

Scott Joplin

KeyG majorTempo100 bpm
0:00/0:00
// Dill Pickles Rag (Chris Chapman) — Scott Joplin
// 100 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 55 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 B@4 C@2 D E@7 F@3 G H I@2 J K@2 L@2 M N@2 O@3 P Q@2 R@2 S T U V@3 W@3 X@2 Y Z AA AB@3
>`.pickRestart({
  A: "~@14 d5@3 e5 f#5@2 e5@2 d5 ~@8 d4, ~@14 [d4,f#4,c5]@9 ~@9", // D7
  B: "[~@16 d4!2 ~ e3@2 [f#3,f#4]@2 ~ g3 g4 [g#3,g#4] ~ [a3,a4] ~ d5@4 ~@3 d3 ~@3 [c4,d4,f#4] d2 ~@3 d5@2 e5@2 g3@2 d5@2 e5@2 g5@2 b4@2 e5@2 [b4,g5]@2 d5@2 g3@2 [d5,g5]@2 ~@4 [g3,d5]@4 e2@2 ~ e3 b4@2 ~@4 b4@2 ~ a4@2 [d4,b4]@2 g4@3 ~@3 a1 ~@3 [e3,g3,a3] e4@2 ~ d2 e4@2 [f#3,a3] ~ d4@2 e4@4 f#4@2 d4@2 e4@2 ~ f#3, ~@15 d3@3 ~ e4 ~@10 d4@2 ~@2 b4@8 ~@4 b4@11 ~ [g3,d5]@4 ~@4 e5@5 ~ e5@5 ~@3 a4@2 ~@2 g4@4 ~@2 g4@2 ~@11 a4@3 ~@2 d4@4 f#4@2 ~@6 a3 ~@7, ~@36 [c4,d4,f#4,d5]@6 ~@4 g4@4 g5@4 f#4@5 ~@3 e4@5 ~@3 d4@7 ~ [e4,g4]@6 ~ [d#4,a4]@4 ~@10 [c#4,b4]@4 ~ g4@2 ~@2 c4@20, ~@86 b1@4 ~@3 e2 ~@22 a1 ~@7 d2 ~@3]/4", // F# G# A D7 Em G5 G A7 …
  C: "[a3 ~ e4 ~@6 [b2,e4] ~ c4 ~@4 a#2 ~@5 g4@2 ~@3 g#4@2 a4@2 ~ d3 ~@3 [d2,c4,d4]@3 ~ d5@2 e5@2 g3@2 ~@2 e5@2 ~@4 e5@2 ~@2 d5@2 ~ [b4,d5,g5]@3, ~@3 a2@7 ~@5 g4@2 e4@3 f#4@4 a4@3 ~@4 [f#4,a4,d5]@8 ~ b4@10 ~@2 [g3,d5]@4 ~@8, ~@5 [d5,d6]@5 f#4@2 ~@2 f#4@4 c#4@6 ~@7 [c4,d4]@5 ~@4 g4@5 ~ d5@4 g5@4 ~@6 e5@4, ~@7 [f#3,c4]@4 [d4,g4]@6 g3@7 ~ [e3,c4]@4 ~@15 g5@4 f#4@6 ~@2 [e4,b4,g5]@4 ~@4]/2", // E5 D7 G D G5 D Csus2 F#dim …
  D: "~@3 d5@2 b4@2 d4@2 a4@2 g3 ~@3 b1 ~ b4@2 g4@2 ~ e2 ~@3 g3 ~ c#4@2 a1 ~, d4@7 [e4,g4]@5 g4@6 ~@4 b4@2 ~@3 a4@2 ~@3, ~@2 e5@5 e2 ~@3 b4@2 ~ d#4@4 ~ g3 ~@3 d4@5 ~@4, ~@15 a4@4 ~@2 a4@2 ~@2 g4@3 ~@4", // Em
  E: "[a4@2 [e3,g3,a3] ~ e4@2 d2 ~ e4@2 f#4@2 d4@2 e4@4 f#4@2 d4@2 e4@2 f#4@2 d4 ~@9 [f4,f#4] a3 ~@3 b4@2 ~ a1 [a2,c4,d4] ~@2 [d2,d3,c4,d4] ~ d3 ~ [g2,g3,g4] ~ [d4,c#5,d5]@2 [b2,b3] ~ [d4,d5]@2 [a2,a3] ~@2 [d2,d3]@4 d5@2 e5@2 ~@10 e5@2 g5@2 d5@2 ~@2 [b4,d5,g5]@2 ~@3 g3 ~ b4@2 e2 ~ a4@2 b4@2 ~@2 b1 ~ b4@2 [d#3,g3] ~ a4@2 [d4,b4]@2 g4@2 g3 ~@2 a1 ~@3 [g3,a3] ~ e4@2 d2 ~ e4@2 f#4@2 d4 ~ a2 ~@3 [f#3,a3] ~@2 d2 ~ f#4@2 [f#3,a3,d4] ~ e4 ~@7 [d4,e4] f#4 ~@3 g4@2 a#2 ~@5 g4@2 a2 ~@2 g#4@2 ~@2 d3 ~@4 d2@3 ~ d5@2 ~@3 d5@2 ~@2 g5@2 b4@2 e5@2 ~@2 d5@2 ~ g5@2 ~@4 d5@2 b4@2 e2 ~@2 g3 b4, ~@2 g4@2 ~@2 c4@21 ~ e4@7 g2@2 ~@38 e5@3 g5@3 ~@12 e5@3 ~@49 e4@4 ~@5 [d5,d6]@5 g4@3 f#4@4 ~@3 f#4@4 a4@3 ~@2 a4@7 ~@4 g4@5 ~@2 [f#4,e5]@4 ~@4 [e4,b4,g5]@5 [b4,d5]@7 ~@5 a4@2 ~, ~@6 d4@4 a3 ~@3 a1 ~@3 a3 ~@3 d2 ~@6 a2@7 d3@3 ~@32 [g3,g5]@5 f#4@5 ~@2 [e4,b4]@5 ~@3 d4@4 ~@3 [e4,g4]@6 g4@4 ~@2 g4@2 ~@6 a4@2 [c#4,b4]@3 ~@2 g4@2 ~@2 c4@20 ~@6 [f#3,c4]@4 g3@7 g3@7 e3@6 ~@13 [g3,g5]@4 ~@4 [g3,d5]@4 ~@10 [g3,e5]@5 ~@5, ~@31 [d5,d6]@6 ~ g4@6 ~ [g4,b4]@2 ~ [f#4,a4]@4 ~@9 [d4,c#5,d5]@5 ~ [g4,b4]@6 ~ d5@3 ~@3 g3@4 ~@3 [g3,e5]@4 ~@11 g3 ~@3 [d#4,a4]@4 ~@4 e2 ~@36 a2@8 ~@6 e4@3 ~@11 d5@8 ~@4 e5@2 ~@15 e5@6 ~@10, ~@33 [f#3,c4]@4 b3@2 a4@4 d5@2 ~@2 d5@2 ~@9 c#5 ~@15 b4@5 [b4,d5]@3 ~@13 d5@3 ~@21 g4@3 ~@2 a4@3 ~@2 d4@4 ~@8 f#4@2 d4@3 ~@11 b2@2 ~ d4@6 ~ c#4@6 ~ c4@5 [c4,d4,f#4]@5 [c4,d4,f#4]@3 ~@25 d4@7 [e4,g4]@5]/7", // A7 F#maj7 D7 G Dmaj7 B D A …
  F: "[~@2 b1 ~ b4@2 g4@2 a4@2 e2 ~@2 g3 a4 ~@2 a1 ~ a4@2 [e3,g3,a3] ~ e4 ~ d2 ~@2 [f#3,a3] ~@2 d4@2 e4@3 [f#3,a3] ~ d4@2 d2 ~ f#4@2 d4 ~@9 [e4,f#4] c4 ~ a4@2 b4 ~ e5 a1 [c4,d4]@2 d5 [c4,d4,f#4]@3 ~ [g2,g3,g4]@4 d3@2 ~@4 [d5,d6]@5 [d2,d3]@4 [d#2,d#3] ~ [e2,e3]@2 ~ [f2,f3] ~, g4@6 ~@4 [d4,b4]@5 ~ [c#4,g4,b4]@3 ~@6 c4@20 ~@4 d6@6 ~@24 c#6@5 ~@12, ~@2 [d#4,a4]@4 g3 ~@5 g4@3 ~@6 g4@2 ~@2 d4@3 f#4@3 ~@5 f#4@2 ~@3 e4@4 ~ e4@5 [f#3,c4]@4 ~@7 g4@3 ~ a4@10 ~@20, ~@27 e4@2 ~@4 a1 ~@14 a2@5 [a2,d4]@2 ~@8 a2 ~@2 [d2,d3] ~@9 g2@8 ~@12, ~@50 d5@5 ~ g4@2 ~@3 d5@2 ~@33]/3", // A7 F#m Esus2 Csus2 D7 G D D# …
  G: "[f#2,f#3]@3 g2 g3 ~@3 [b3,e5] ~@3 d2 ~@2 g4 g3 ~@3 f#4@4 [f#3,c4,d4,c5] ~ d5@2 d2 e5@2 [f#3,c4,d4,a4,c5,d5], ~@10 [g4,b4,d5]@4 e5@2 ~@8 e5@2 a4@5 ~, ~@15 d5@3 ~@2 a2 ~@11", // F# E5 D7 G
  H: "~@4 g2 ~@2 d4 [g3,b4] [b4,d5]@2 d2 ~@2 d5 [g3,b3,d4,g4,b4] ~@3 [d2,d3]@3 [d#2,d#3]@2 [e2,e3]@2 ~ f2@2 [f#2,f#3]@3, ~@3 g4@9 ~@15 f3 ~@4, ~@7 e5@3 ~@3 e5@2 ~@17", // G Bm G D D# E F#
  I: "[~ g3@4 [b3,d4] ~@3 d2 e5@2 [g3,b3,g4,b4,d5] ~@3 e2 ~@2 e5 [g3,c#4] ~@2 a1 ~@3 [g3,c#4,e4,g4,c#5,g5]@2 ~@5 [e2,e3] ~@3 f#2@3 [a3,d4] a2 ~@2 [d2,d3]@4 d#2@2 [e2,e3]@2 ~ [f2,f3] ~ f#3@3 g2 g3 ~ a#3@2, ~ g2 ~@3 e5@2 [g4,b4,d5]@5 ~@4 a4@4 ~@2 a4@5 ~@3 d2@5 ~@21 f#2@2 ~@6, ~@18 c#5@2 ~ [c#5,e5]@3 ~ e5@4 ~@2 [d3,f#4,f#5]@4 ~@3 f#3 ~@10 d#3 ~@14, ~@22 a5@2 ~@7 c5@2 [e4,f4,c5]@2 ~ [d4,c5,d5]@6 ~@22, ~@32 e5@3 ~@29]/2", // Bm G Gdim C#dim E D5 D E …
  J: "[b3,d4,e5] ~@2 d2 ~ e5@2 [g4,b4,d5]@2 ~@2 f#4@4 [f#3,c4,d4] ~ d5@2 d2 ~@2 [c4,d4,a4] [f#3,c5,d5] ~@2 g2 d3 ~@3 g3, ~@2 [g4,b4,d5]@4 ~ [g3,b3,d4] ~@3 a2 ~@3 c5@5 ~ e5@2 ~@7 e5@2, ~@15 e5@2 a4@5 ~@4 g4@4 ~@2", // E7 G D7 G
  K: "[~@2 d2 ~@2 [g4,d5] [g3,b3,d4,b4] ~@3 d2@3 d#2@2 [e2,e3]@2 ~ [f2,f3] ~ [f#2,f#3]@3 [g2,g3] ~@3 [b3,d4] ~ d5@2 d2 ~@2 [g3,d4,g4,b4,d5] b3 ~@2 f#4@4 [f#3,c4,d4,c5] ~@2 d2 ~ e5@2 [c4,d4,f#4] ~@2 g2 ~ a3@2 d3@3 g2 ~ [b3,g4,b4,d5,g5]@3, [g4,b4,d5]@4 e5@2 ~@3 d3@4 d#3 ~@13 e5@2 [g4,b4]@4 e5@2 ~@3 a2 ~@3 e5@2 [f#4,c5]@5 ~@4 g4@7 ~@4, ~@44 d5@2 ~@3 c5@3 ~ [b3,a4]@4 ~@3 d3@4]/2", // G5 G E F F# G Bm G …
  L: "[~@5 d5@2 e5@2 g3@2 ~@4 g5@2 ~ e5@2 g5@2 d5@2 g3@2 g5@2 ~@4 d5@2 b4@2 e2 ~ a4@2 ~@4 b1 ~@2 g4@2 a4@2 b4@2 g4@2 a4@2 [c#4,g4,b4]@2 a1 ~@2 a3 [e3,g3], ~@5 b4@13 ~@2 [e4,b4]@5 ~ d5@6 ~@8 b4@2 ~@4 b4@2 ~@13 a4@3, ~@5 g4@4 g5@4 [f#4,e5]@4 [g3,d5]@3 ~@8 d4@7 ~ [e4,g4]@6 ~ [d#4,a4]@4 g3 ~@3 e2 ~@5 a#1 ~@6, ~@11 d5@4 ~@9 e5@5 ~@2 [g3,e5]@5 ~@5 g4@4 ~@6 d4@4 g3 ~@6 g4@2]/2", // C#m7b5 Em E5 F#7 G5 Em D#dim C
  M: "e4 ~ d2 ~ e4@2 [f#3,a3] ~ d4@2 e4@3 f#3 f#4@2 ~ e4@2 f#4@2 a3 ~ e4@2 ~@6 [d4,e4], ~ c4@10 ~@3 a3@2, ~@2 d4@4 f#4@2 ~@2 a1 ~@3 a3 ~ d4@2 ~@9 [d5,d6]@5, ~@17 d2 ~@7 a2@5 b2@2", // F#m Dsus2 D
  N: "[[f#4,g4]@2 ~@3 a#2 ~@6 a2 ~@3 g#4@2 ~@3 d3 ~@3 [d2,c4,d4]@4 d5@2 ~@7 g5@2 b4@2 e5@2 [b4,g5]@2 ~@3 [b4,d5,g5]@2 ~@6 b4@2 e2 ~@2 b4@2, [g3,d4]@4 g4@2 e4@3 f#4@4 ~ c4@5 ~ [f#4,d5]@9 g4@4 g5@4 ~@11 e5@4 ~@2 e5@5 ~@5, ~@2 f#4@4 g3@5 g4@2 a4@3 ~@2 a4@11 b4@10 ~@5 e4@5 ~@2 d4@7 ~ [e4,g4]@5, ~@7 c#4@6 e3@6 ~ [c4,d4]@5 ~@6 e5@3 ~ d5@3 ~@8 d5@3 ~@12 a4@2 ~, ~@32 g3@2 ~@2 [f#4,e5]@4 [g3,d5]@4 ~@3 g3@2 ~@6 [g3,d5]@4 ~@3 g3 ~]/2", // Gmaj7 D7 Em G G5 D Em Csus2 …
  O: "[g4@2 a4@2 b4@2 [d#3,g3,g4] ~ a4@2 [e2,b4] ~@2 [e3,g3] a4 [c#4,g4,b4]@2 a1 ~ a4@2 [e3,g3,a3] ~@3 d2 ~@2 [f#3,a3] ~ d4@2 e4@4 [f#3,a3] ~@2 d2 ~ f#4@2 [f#3,a3] ~ e4 ~@7 [e4,f#4] [a3,b3] ~ a4@2 ~ d5@2 [a1,a2,c4,d4] ~@2 c5 [d2,d3,f#4,a4]@4 [g2,g4] ~@3 [b2,b3,g4,d5,f5,g5] ~@3 [a2,a3,a4,d5,f5,a5] ~@3 [g2,g3,b4] ~@3 [c2,c3,c5,c6] ~@3 [f#3,c4,e5] ~@2 [g2,a4] ~ g5@2, ~@2 d#4@4 ~@4 d4@4 ~@9 e4@2 ~@2 e4@2 ~@3 a1 ~@13 a2@6 [g2,d4]@2 ~@42, ~@2 b1 ~@9 g4@3 ~@6 g4@2 ~ c4@19 d4@2 ~@5 [f#3,a3]@3 d3@3 ~@32 b5@2 ~@6, ~@24 d4@4 f#4@2 ~@6 f#4@2 d4@2 e4@4 ~@5 [d5,d6]@5 g4@2 ~@2 b4@2 ~ [g4,b4]@2 d5@2 ~@16 b5@2 ~@4 a5@2 ~@2 g5@2 ~@3]/3", // D# E5 Em C#m7b5 A7 F#m Esus2 Asus2 …
  P: "[g3,c4,e4] ~@3 [c2,g4] ~@2 e5 [g3,c4] a5@2 [g2,e3] ~@3 [g3,c4,e4]@3 e5@2 c5@2 [f#3,c4,d4,d5] ~@2 a2@3 ~ [g2,g3,f4,b4,d5] ~@2, e5@4 g5@3 ~@11 d2 ~@6 a3 ~@6, g4@2 ~@11 [g4,c5,e5]@5 f#4@4 ~@2 [f#4,c5,e5]@3 ~@5", // C C5 C D7 G7 C F#m7b5
  Q: "[~ [c3,c4] ~@2 [b2,b3] ~@3 [a2,a3] ~@3 [g2,g3] ~@3 [c2,c3,c5,e5,c6] ~ a5@2 [g3,g#3,c4,e4] ~@2 [g1,e5] a5 g5@2 [c5,e5]@4 [c2,c3,g4] ~@3 [g3,c4,e4,e5] ~@2 a1 ~@3 [g3,c4,e4,g4,c5,e5] ~@3 [d2,b4,d5,f#5,b5] ~@2 [f#3,c4,d4,a4,d5,f#5,a5] ~@3 [b4,d5,b5]@2 a4 [f#3,c4,d4] ~@3 [g2,d5,f5,b5,d6]@4, [e4,c5]@11 ~@9 [b4,e5,b5]@2 g5@2 ~@3 g4@2 ~@2 g5@4 ~ a5@6 ~@22, ~@27 [g3,c4] ~@8 [a4,c5]@3 ~@14 c2 ~@10, ~@37 e5@5 ~@13 [f#5,a5]@2 ~@7]/2", // C B A G C C5 C Bm …
  R: "[[g3,g4]@2 g#3@2 [a3,a4] ~ a#4 [b3,b4] ~@3 [c2,c5,e5] ~ a5@2 [g3,c4,e4,e5] ~@2 [g2,e3,e5,a5] a2 g5@2 [g3,c4,e4] ~@3 [c2,g4] ~@2 [g3,c4,e5] ~@2 a1 ~@3 [g3,c4,e4] ~@3 d2 ~@2 [f#3,c4,d4] d5 [f#4,c5,e5]@2 a3 ~@2 [g2,g3,f4,b4,d5] ~@3 [c3,c4] ~@3 [b2,b3] ~@3 [a2,a3] ~, ~@2 g#4 ~@3 a#3@2 ~@3 c6@2 ~@2 b5@2 g5@2 ~@3 [c5,e5]@4 g5@4 ~ a5@4 [g4,e5]@2 ~@3 [f#4,e5]@4 ~@10 [e4,g4,c5]@10, ~@22 g4@2 ~@4 c5@2 ~ [a4,c5]@3 c5@2 ~@6 c5@3 ~@4 c5@2 ~@13]/2", // G A B C A7 C C5 C …
  S: "~@2 [g2,g3] ~@3 [a2,a3]@3 [b2,b3]@4 [c3,c4]@4 d3@2 ~@5 c4@2 [a2,a3]@4 c5@2, ~@17 d4@4 d#4@2 e3@2 ~@7, ~@20 d#3@2 e4@2 c3 ~@7", // G A B C A
  T: "d5 ~ [g3,g4,c5,e5]@3 ~ [g#2,g#3,f#4,c5,d#5]@3 [g2,g3,e5] g4 c5@2 [b3,f4,b4,d5]@4 [c3,c4,e4,a#4,c5] ~@3 [b2,b3,g4,d5,f5,g5]@3 ~ [a2,a3,a4,d5,f5,a5]@3 [g2,g3] ~ g2@2, ~@2 g2 ~@10 b2 ~@7 a3 ~@7 [b4,b5]@2 ~", // C G#7 C Bdim C7 G7 Dm G …
  U: "[c2,c5,e5,c6] c3 g5@2 [g3,c4,e4,e5,b5] ~@3 [g1,a4,e5] ~@2 [c4,e4] [g3,g4,c5,e5] ~@2 [c2,c3,g4] ~@3 [g3,c4,e4,e5] ~@2 a1 ~@3 [g3,c4,e4,g4,c5,e5] ~@3 [d2,e5] ~, ~@10 g5@3 ~ e5@2 ~@2 c5@2 ~ [a4,c5,e5,a5]@3 ~@6 f#4@2, ~@15 g5@3 ~@14", // C Cmaj7 A7 C C5 C Dsus2 Am
  V: "[~ [f#3,c4,d4] ~ [f#4,c5,e5]@2 [a2,a3] c5@2 [g2,g3,b4,d5] ~@3 c3 ~ c4 b2@2 b3 ~@4 g2 ~ g2 ~ [c2,g5] ~@2 [g3,c4,e4,b5] ~ g5@2 [g2,e3,a4,e5,a5] ~@2 [g3,a3,c4,e4] ~ e5@2 g4@2 ~ [g3,c4,e4,e5] ~@2 a1 ~ a5@2 [g3,c4,e4,g4] ~@3 [c2,d2,b4,d5,b5] ~@2 [a4,d5] f#3 ~@2 [a2,b4,d5,f#5,b5] e5 ~@3 [d3,d#3]@2 [g2,f3,g3,d5,f5,b5,d6] ~@3 [f#3,g4] ~@2 [a3,a4] ~ [a#3,a#4] ~ [b3,b4] ~@2 c2 [f5,c6] ~@2 [g3,c4,e4,b4,e5,b5] ~ g5@2 [f1,a4,e5] ~@2 [f#3,c4,e4,g4,c5,e5] [g3,d4] ~, c5@2 ~@6 f4@4 [e4,g4,c5]@6 ~ a2@4 ~@6 [b4,e5]@2 ~@5 c5@2 ~@2 c2 ~ c5@2 ~ [a4,c5,e5,a5]@3 ~@2 [c5,e5]@2 ~@5 [c4,d4,f#5,a5]@2 ~@5 [f#3,c4,d4]@4 ~@4 g3@2 [g#3,g#4]@2 ~@20, ~ d5@2 ~@18 a3@2 ~@2 [c5,e5,c6]@2 ~ a5@2 ~@5 g5@3 ~@2 g5@4 ~@10 f#5@2 ~@7 [d5,f#5,a5]@5 ~@17 a5@2 ~@5 g5@3 ~]/3", // D7 F#m7b5 A G C5 Cmaj7 A7 Am7 …
  W: "[~ [c2,c3,g4] ~@2 [c4,e4,e5] g3 [a4,c5,e5]@2 a1 ~@2 [e4,g4,c5,e5] [g3,c4,a4] ~@2 [d2,e5] ~@2 [f#3,c4,d4] d5 [f#4,c5]@2 [a2,a3] ~@2 [g2,g3,f4,b4,d5] ~@3 c3@2 c4 ~@2 b3 ~ a2@2 ~ g2@3 ~ a2@4 b2@4 c3@4 [d3,d4]@2 ~ d#3@2 ~@2 c4 a2@5 c5@2 d5 g2 [g4,a4,c5,d5,e5,f5] ~@3 [g#2,g#3]@2 ~ [g3,g4,e5]@2 c5@2 [g2,g3,f4,b4,d5]@4 [c3,e4,c5]@4 [g4,g5]@5, e5@2 ~ c5@2 ~@10 f#4@2 c5@3 e5@4 c5@3 ~@2 [e4,g4,c5]@9 a3@5 a3 ~@3 b3 ~@3 c4 ~@6 d#4 ~@2 c3@2 ~@16 g2 ~@16, ~ g5@4 ~ a5@6 ~@21 b2@2 ~@25 [e3,e4]@2 ~ a3@2 ~@10 [f#4,c5,d#5]@3 ~@18]/3", // C5 C Am C Am7 Dsus2 D7 F#dim …
  X: "[~@4 g3@2 [g4,d5,f5,g5]@4 [b3,d4,f4] ~ [a4,d5,f5,a5]@2 d2 ~@2 [b4,f5,b5]@3 ~ c2 c5@2 ~ [g3,c4,e4,c5,a5] ~ [c5,e5,g5]@2 g1 ~@2 [c5,g5] [g3,c4,e4,e5] ~@3 d2 ~@2 [f4,f5] g3 ~@2 g1 ~ a5@2 [g3,g#3,b3,f4,b4,f5,g5] ~@3 c5@3 ~ [g3,c4,e4,c5,e5,a5] ~ [c5,e5,g5]@2 g1 a5@2 [e4,c5,e5,g5], [g4,g5]@6 ~@4 [g#4,g#5]@2 ~@4 [a#4,a#5]@2 ~@3 [g5,c6]@4 ~@6 a5@2 ~@7 a5@2 ~@22, ~@2 [c#3,a#3]@4 [d3,b3] ~@10 [b3,d4,f4] ~@3 e5@2 ~@13 b4@4 ~@2 [b4,f5,g5]@4 ~@6 c2 ~@11]/2", // G7 Bdim Dm Bdim Am7 C C5 C …
  Y: "[g3,c4] ~@2 [d5,f5]@4 [b3,d4,f4,g#4,g#5] ~ [a4,d5,f5,a5]@2 g1 ~@2 f4 [b4,f5]@3 c2 [e3,c5,e5] ~@2 [g3,c4,e4,c5,e5] ~ e5@2 g1 ~@2 [g3,c4,e4,c5] ~@2, ~@3 [g4,g5]@2 ~@8 [a#4,a#5]@2 [g3,d4] ~@12 a5@3 ~, ~@3 d2 ~@10 b5@3 ~ [g5,c6]@4 a5@2 [c5,g5]@5 [e5,g5]@2 ~", // C5 Dm Bdim Dm Bdim C G A# …
  Z: "~ [d2,d5] ~ f#5@2 [f#3,c4,d4,a5] ~@2 [a2,f#3] ~ a5@2 [c5,f#5,c6]@2 ~ d3 [g2,g3,b4,f5,b5] ~@2 [a2,a3]@2 ~@2 [c#3,b3] ~@2 [g2,a2,g3,g4,d5] ~ c#2 [a#1,c2] [f1,f2,g4,d5,f5,g5] ~, ~@6 [f#5,d6]@3 ~@5 g5@2 ~@2 [a4,f5,g5,a5]@3 [g4,f5,g5]@6 ~@5, ~@7 d5@3 ~@2 [f#3,c4,d4] ~@10 b2@2 ~@7", // D D7 D Cdim G7 A C#7 Gsus2 …
  AA: "~@2 [g3,d4,f4,g#5] ~@2 d2 ~ [a#4,a#5]@2 [g3,b3,d4,e4,f4] ~@3 [c2,c3,c5,e5] ~@3 [g3,e4,c5,e5,a5] ~@2 g1 ~ a5@2 [g3,c4,e4,c5,e5,g5] ~@3 d2 ~@2 f4, ~@2 g#4@2 [a4,d5,f5,a5]@2 ~@3 [b4,f5,b5]@2 ~@2 c6@4 ~@2 g5@3 ~@10, ~@13 g5@2 ~@3 [c5,e5]@3 ~@11", // Ddim A# G7 C Am7 C Dm Bdim …
  AB: "[[b3,d4,b4,f5] ~@2 g1 ~ a5@2 [b3,d4,f4,b4,d5,f5,g5] ~@3 c5@2 ~@2 [g3,c4,e4,c5,e5,a5] ~@2 g1 ~ a5@2 [g3,c4,e4,c5,e5,g5] ~@2 [d2,g5] [g4,a4,d5,f5] ~@2 [b3,d4,e4,f4,g#4,g#5] ~@2 g1 ~ [a#4,a#5]@2 [b3,c4,d4,f4] ~@3 [e5,g5,c6]@3 e4 [g3,c4,c5,e5,a5] ~@2 g1 ~@2 [g3,c4,e4,c5,e5,g5] ~@3 [a4,b4]@4 [g3,g#3,f4,b4,f5,a5] ~ a5 g1 ~@2 [f#3,f4,b4,f5,g5] [g#3,b3] ~ [b2,c3,f#3] [e4,d5,f5] d4 ~@2 g2 ~@2 [c2,e2] [g2,c3,e3,c6,e6,g6,c7]@3 ~@17, a5@2 [d5,f5]@3 ~@35 c2 ~@5 g5@3 a5@2 ~@9 [b4,f5,g5]@4 ~@4 [g3,c5,e5,g5,c6]@4 ~@2 g2@2 ~@20, ~ [b4,g5]@5 ~@10 [c5,e5,g5]@4 ~@11 [a4,d5,f5,a5]@2 ~@3 [b4,f5,b5]@2 ~@2 c5@2 ~@3 [c5,e5]@3 ~@6 d2 ~@8 a5@2 ~@31]/3", // Bdim G7 Am7 C G5 Dm E7 A# …
})).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 I J K L@2 ~ M@2 N O P ~ Q ~ R S T U V ~ W X Y Z AA AB AC@2 ~ AD AE ~ AF@2 AG ~ AH AI AJ AK AL AM
  AN AO AP
>`.pickRestart({
  A: "[~@33 e4@2 f#4 ~ e4 ~ d4 ~@24, ~@31 [d3,f#3,c4]@11 ~@22]/2", // D7
  B: "~@4 b4@8 b4@2 ~@8 a#4 ~@2 b2@2 ~@5, ~@12 a#4 ~@3", C: "~ e3 ~ g4@3 ~@18 f#3 ~@2 d#2 ~@2 f#4@2",
  D: "d4 ~@8 d4 f3 f#3 ~@5 f3 ~@14", E: "~@10 b4 ~@3 g3 ~", F: "~@3 g3@4 ~@21 [g4,b4]@3 ~", G: "~@10 f#3 ~@7 f#3 ~@13",
  H: "~@4 [a#2,e4] ~@27", I: "~@12 c#4 ~@19", J: "~@18 d2 ~@11 e3 ~", K: "~@2 c2 ~@2 [f#3,a3] ~@3 e4@4 ~@19",
  L: "[~@25 a4@3 ~ b4@9 ~@10 g3@2 ~@14]/2", M: "[~@12 a3 ~@9 g2 [e3,f3] ~@7 b4@3 ~@30]/2",
  N: "~@8 d4 ~@7 [b3,d4,b4] ~@4 a#4 ~@10", O: "~@8 b3 ~@22 g#3", P: "~@12 d4 ~@7 e4 ~@6 [a4,a5]@2 ~@3",
  Q: "~@31 [b3,d4]", R: "~@17 d5@3 ~ d3@3 ~@8, ~@17 f#3 ~@14", S: "~@13 b4@3", T: "~@8 [f3,g3] ~@23",
  U: "~@21 d4@3 ~@4 f#3@3 ~, ~@21 f#3 ~@10", V: "~@20 c5 ~@11", W: "~@17 a#1 ~@14", X: "~@20 a#2 ~@10 f#2",
  Y: "~@25 b4 ~@2 e5 [e3,a5] ~@2", Z: "c5@3 ~@3 c5@2 [d4,e4] ~ [a4,e5]@2 ~@15 c5@3 ~@2, ~@9 c5@2 ~@21",
  AA: "~@14 g2@2 ~@8 a4 ~@2 [d4,e4] ~@4", AB: "~@2 c5@2 ~@6 a4 ~@10 f#5@2 d5 ~@8",
  AC: "[~ f#3 ~@13 b4 ~@2 a4 ~@3 d4 ~@6 e4 ~ e5@3 ~@13 b2@2 ~@15, ~@47 b3 ~@16]/2", AD: "~@21 a4 ~@10",
  AE: "~@4 b4 ~@2 a5@2 ~@15 a5@2 ~@6", AF: "[~@5 g4 ~@8 d5 ~@13 a#2 ~@2 a4@5 ~ [c#3,g5] ~@13 g#5 ~@6 g1 ~@5]/2",
  AG: "~ d#2 b2 ~@2 g#3 ~@26", AH: "c#4 ~@6 a#2 a2 ~@4 c#3 ~@18", AI: "~@25 e5 ~@6", AJ: "~@8 f#3 [a#3,b4] ~@16 a5 ~@5",
  AK: "~@11 a#1 ~@3 b3 ~@3 g2 ~@2 g5 ~@9", AL: "d#2 ~@5 a5@3 ~@18 a#2 ~@4",
  AM: "~ c#4 b3 c4 ~@4 a#3 ~@8 c4 ~@10 [a4,b4] ~@3", AN: "~@11 c2 ~@5 a5 ~@11 a#3 ~@2",
  AO: "~@4 c#4 ~@9 a5 ~@11 a#3 b3 ~@4", AP: "~ g3 ~@2 [c#3,g#3] ~@2 a#2 ~@4 e2@2 ~@18",
})).s("gm_piano").gain(0.32)

stack(piano, piano_soft)

More by Scott Joplin