Strudelify

Pleasant Moments

Scott Joplin

KeyG majorTempo100 bpm
0:00/0:00
// Pleasant Moments — 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 96 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@2 C@7 D E@4 F@7 G@6 H I@4 J@7 K@3 L@8 M@4 N@5 O@3 P@3 Q@8 R S@4 T@5 U@8 V@2 W@2>".pickRestart({
  A: "~@19 [d2,d3]@5 g2@4 [e2,e3]@4, ~@3 g3", // D E
  B: "[~ b2@4 [d3,d4]@9 ~ [d3,d4]@3 ~@4 e4@5 [b3,b4]@4 [d4,d5]@10 [d4,d5]@4 [g4,g5]@4 [e4,e5]@5 [d4,d5]@10, b3@3 ~@6 g4@5 ~@18, ~@19 g3@9 ~@36]/2", // D B D G E D
  C: "[~ [f3,g#3,b3]@15 f#3@23 b4@4 ~ d5@8 d5@4 g5@4 e5@3 ~@4 d5@3 ~ [g3,b4]@3 ~@4 c4@2 ~ [f#4,a#4]@3 ~ [g2,d3,b4]@2 ~@8 [b4,d5]@4 [c#3,g3,a#4,g5]@4 e5@4 ~@3 d5@4 ~@4 c5@4 ~@5 d4@4 [g#4,b4]@4 a4@4 ~@4 b4@3 [f#3,c5,e5]@7 [a#4,c#5]@4 b4@3 ~@3 [c#5,a#5]@4 ~ g3@2 ~@6 f#2@2 ~@2 f#5@4 ~@5 d6@4 a#3 ~@4 [a#5,c#6]@4 d5@10 ~@12, ~ [d3,d4,d5]@38 g4@17 [a#3,a#4]@7 e5@7 b3@4 c5@4 f#3@6 ~@5 d5@6 ~@12 [b4,e5]@8 ~@20 c5@11 ~@21 [d3,d5,b5]@8 ~ d5@7 ~ b3@8 ~@32, ~@64 b4@7 d5@4 a4@5 ~@5 g4@14 ~@23 c4@9 ~@8 [f#3,c4]@7 c4@2 ~@5 [g2,d3]@2 ~@5 [d3,g3,b3]@8 ~@12 d6@9 a#5@9 ~@26, ~@92 [d3,g3,b3]@7 a#3@8 d3@24 d2@2 ~@9 d5@4 ~@11 d5@10 b3@2 ~@7 b5@16 ~@10 b5@3 ~@19]/7", // Fdim G F# G Bm Gdim G#m F#m7b5 …
  D: "~@5 a#4@4 [g2,b4]@4 ~@8 [b4,d5]@3 ~@4 e5@4, ~@9 g4@15 ~@8, ~@13 [b4,d5]@7 ~@12, ~@17 [d3,g3]@7 [c#3,g3,a#3,a#4,g5]@8", // G Bm G5 Gdim
  E: "[~@3 d5@4 [g3,b4,d5]@4 ~@8 [f#4,a#4]@4 [g4,b4]@4 ~@7 [g4,b4,d5]@3 [g3,b3,b4,d#5]@8 ~@14 c4@8 [c3,g5]@4 [d5,f#5]@3 ~@4 [c5,e5]@4 [c#3,g4,a#4]@7 g5@4 f#5@4 ~@4 e5@4 [g3,b3]@2 ~@2 d5@6 [e4,f#4,c5]@4 ~ b4@8, [b4,e5]@7 ~@4 [a4,c5]@12 ~@4 d5@7 ~@3 g4@7 ~ [g4,c5,e5]@22 g4@15 e5@3 ~@12 [g3,b3]@8 ~@23, ~@14 c4@8 ~@8 [d3,b3]@8 ~@7 c3@9 ~@2 g3@12 ~@6 c4@8 ~@7 [g4,b4]@16 [g4,b4,e5]@10 ~@5 d4@5 ~@3, ~@31 g3@6 d#3@4 ~@8 e3@18 e5@3 ~@5 [e3,g3]@7 ~@7 d3@26 d2@9 ~@4]/4", // G F# G Gaug C5 D C Gdim …
  F: "[a4@15 ~@20 a4@10 ~ c#5@8 ~@26 b4@4 ~@4 c#5@5 c#5@3 c5@4 ~@33 d5@3 ~ [g2,b4]@3 ~@8 [b4,g5]@3 ~ [g3,a#3,d4]@2 ~ e5@4 f#2@2 ~@8 f#5@4 [f2,f3,a4,d5,a5]@8 e2@2 ~@11 f#5@4 b4@2 ~@2 g#4@5 [c#4,a4]@17, ~@15 g4@30 g4@9 c#5@7 [a3,c#4]@2 ~@6 a2@15 ~@9 [d3,f#4]@10 ~@12 a2@15 [f#3,a3]@7 ~@7 [g3,d4]@7 ~ a3 ~@13 [f#3,a3,d4]@8 ~@16 [g#3,d4]@8 ~@26, ~@58 b4@22 ~@20 c#5@7 ~@12 d5@10 [d4,f#4,e5]@7 ~@4 b4@8 ~@4 [a#4,f#5]@8 ~@21 [b4,d5]@17 d5@9 ~@17, ~@62 g3@14 [g3,a3,c#4]@8 [g3,c#4,g4,d5]@9 ~@26 f#4@3 [a3,d4]@4 c#5@10 ~ d5@15 ~@11 d5@10 ~@8 a5@8 ~@35, ~@73 [g4,c#5]@11 ~@20 b4@32 ~@4 g4@11 ~@8 [a4,e5]@15 ~@12 g#5@13 ~@25]/7", // G Em Gm Dm F#m A D F#m …
  G: "[~@2 a4@11 ~ e2@2 ~@2 c5@4 ~@7 c#4@2 ~@23 c#5@4 c#5@4 c5@3 ~@31 d5@5 [b2,d5,f#5]@8 b4@2 ~@2 [d#3,a4,c5]@4 e3@7 ~@10 [a4,c#5,f#5]@4 [a2,g4]@7 ~@7 b2@2 ~@9 f#2@3 ~ d2@2 ~@6 f#2@8 [f2,g#4,b4]@9, ~@13 c#5@8 ~@16 a2@22 ~@24 f#4@10 [f#3,a3,d4,e5]@8 d6@3 ~@26 [g3,c#4]@8 ~@36 [f#3,a4]@8 ~@10, ~@14 g4@10 ~@2 g4@15 c#5@13 ~@15 b4@33 ~@15 [g4,b4,g5]@10 c#5@4 a3@8 ~@6 a3@10 ~@37, ~@41 g4@6 b4@11 [d3,f#4]@9 ~@12 d3@23 ~@7 [d3,d5,f#5]@8 ~@7 a2@14 ~@18 a2@10 ~@26, ~@44 [g3,a3,c#4]@7 [g3,a3,c#4,g4,d5]@8 ~@6 [a3,c#5]@7 [f#3,d4]@11 d5@3 [f#3,a3,d4]@3 c#5@13 ~@25 [b4,g5]@11 [c#5,e5]@3 ~@4 [f#4,d5]@31 ~@16]/6", // Bm Adim F#m A7 Fdim D Gdim F#m …
  H: "~ e2@2 ~@2 c5@3 ~ c#5@8 ~@15, ~ [g4,c#5]@10 ~@21", // Gdim
  I: "[~@15 [c#5,c#6]@3 ~@2 a2 ~@5 f#5@3 ~@4 [a3,f#4]@2 ~@23 d5@3 ~ [g2,d3,b4]@3 ~@7 [g5,g6]@4 ~ [g3,d4,f#5]@3 ~ e5@3 a5@4 ~@7 f#5@4 [f2,f3,a4,d5,a5]@8 ~@12 f#5@3 d5@4 g#4@2, c#6@15 ~@14 b5@26 [f#3,d4,f#4,e5]@7 ~@7 [g3,b3,d4]@8 [a#3,a#5,f#6]@7 f#3@7 [f#3,a3,d4]@8 ~@13 g#5@10 ~@6, g5@11 [d5,d6]@7 ~ [f#5,c#6]@7 ~@4 [b4,f#5]@32 ~@3 [g4,b4]@11 ~@8 [e5,e6]@16 ~@7 a5@8 ~@13, ~@8 b5@11 ~@4 [c5,c6]@9 ~@12 [f#4,d5]@4 [f#3,d4]@3 c#5@10 d5@15 ~@4 e6@3 ~@5 [d5,a5,d6]@12 ~@7 [b4,d5]@15 b4@2 ~@4, ~@12 [a3,c#4,g4,g5]@7 [d2,c#5]@2 ~@5 [f#3,d4,c#5,c#6]@6 ~ d4 ~@6 a2@21 ~@23 f#2@2 ~@22 e2@7 [g#3,d4]@7 ~@6]/4", // C# D G Gmaj7 Dm D G D#m …
  J: "[~@2 a4@18 ~@5 b4@10 a2@3 ~@13 c#4@2 ~@23 c#5@4 ~@4 c5@4 ~@7 a3@2 ~@16 c#5@4 d4@2 ~@2 d5@5 [d5,f#5]@8 ~@3 [d#3,a4,c5]@4 e3@6 ~ a2 ~@11 [a4,c#5,f#5]@4 [a2,e5]@3 ~@16 a2@7 ~ f#2@4 ~@10 a4@10 a#4@9, ~@2 a3@3 ~@15 a4@15 g4@12 g4@15 c#5@14 ~@4 c#5@7 ~@5 b4@25 ~@39 c#4@8 ~@7 f#4@34 ~@19, ~@35 c#5@8 c#5@7 ~ g3@14 [g3,e4]@4 b4@11 ~ f#4@11 f#4@14 f#4@4 [f#3,a3,d4]@7 [f#3,a3,f#4,e5]@9 [b2,d6]@16 ~@82, ~@39 c5@11 e4@2 ~@6 a1@22 d2@2 ~@21 d2@14 ~@17 [d3,b4,d5,f#5]@8 ~@82, ~@62 g4@4 [a3,c#4]@7 [a3,c#4,e4,g4,d5]@8 ~@7 [a3,c#5]@7 d4 ~@11 d5@10 ~@24 g5@11 ~@12 c#5@7 d5@37 ~@16]/7", // D Adim F#m A5 C D F#m7 Bm …
  K: "[~@7 d5@8 ~ d5@3 ~@4 e5@4 ~@4 d5@3 [g3,b3,b4,d5]@4 [a4,c5]@4 c4@2 ~@2 [f#4,a#4]@4 b4@3 ~@2 d5@8 d5@4 ~@4 e5@3 ~@4 d5@3 [g3,b3,b4,d5]@4 [a4,c5]@3 ~@4 d4@4, ~@19 [c#3,a#3]@8 [b4,e5]@8 ~@15 g4@17 ~@7 e5@7 ~@8 f#3@7, ~@20 [a#4,g5]@8 ~@14 f#3@8 ~@17 [a#3,a#4,g5]@8 d3@21, ~@75 b4@6 ~@7 c4@8]/3", // G Am F# G Am F# E5 D#
  L: "[[g#4,b4]@4 [a4,c5]@3 ~@3 [b4,d5]@4 [d3,f#3,c4]@3 ~@15 [c#5,a#5]@4 [d3,g3,b3]@3 ~@4 [f#5,b5]@4 ~@8 [f#5,d6]@4 e4 ~@3 [e5,c#6]@5 d5@11 ~@15 a#4@5 b4@4 ~@7 [b4,d5]@4 ~@4 e5@3 ~@3 d5@3 ~ [g3,b3,d5]@4 a4@3 ~@4 [f#4,a#4]@4 [g4,b4]@4 ~@7 [g4,b4,d5]@3 g4@7 ~@15 c4@10 c2@2 ~@10 [g4,c5,e5]@4 [c#3,g4,a#4,e5]@8 d2 ~@11 e5@4 ~@9 f#4@4 d4@5 d3@9, d2@2 ~@5 [d3,f#3,c4]@7 [c5,e5]@6 g2@5 ~ [b4,d5]@10 ~@11 [f#5,b5,d6]@10 ~@46 [b4,d5]@7 ~@11 [b4,e5]@7 ~@4 c5@11 ~@4 [g4,d5]@7 ~@21 g3@14 [g4,e5]@8 [e3,g3,c4]@7 ~@25 [g3,b3,g4,b4,e5]@7 d2@10 ~@10, ~@22 a#4@14 ~@7 f#2@2 ~@10 a#5@13 b5@3 ~@93 e5@25 g5@15 ~@9 g5@25 ~@18, ~@22 c#5@10 ~@4 [d5,b5]@7 d5@15 ~@41 g4@15 ~@21 c4@7 ~@15 [d#3,g3,b4,d#5]@10 ~@2 e3@21 ~@3 f#5@11 ~@13 f#5@21 ~@4 b4@14, ~@22 d3@7 [d3,g3,b3]@7 ~@7 f#3@8 [f#3,b3,d4]@7 ~ [f#3,a#3]@9 ~@39 [g3,b3]@7 [c#3,g3,a#3,a#4,g5]@8 d3@21 d3@7 d3@8 ~@7 [c3,g4,c5]@25 ~@4 d5@11 ~@8 [g4,b4]@16 ~@4 d5@5 [e4,c5]@9 ~@9]/8", // G#m Am Bm D7 F# G B5 D …
  M: "[~@11 g4@14 ~ [d5,g5]@19 ~@9 g3@8 a3@3 ~ g3@8 ~@3 [d#4,f#4]@3 ~ [e4,g4]@3 ~@4 c3@9 a2@4 e3@7 f3@3 ~@12 [c5,d#5]@4 [e3,c5,e5], ~@50 e4@24 c4@7 g3@16 [e4,a4]@30 ~, ~@84 [e4,g4,c5]@13 c5@26 ~@5, ~@112 e3@15 ~, ~@120 a3@7 ~]/4", // G5 D#m Em Cm C A5 C
  N: "[~@6 a2@2 ~@6 g2@2 ~@16 b5@4 ~ [c2,c3]@2 ~@9 g5@4 [a3,f5]@3 ~ e5@4 d2 ~@10 c#5@4 ~@9 a4@9 ~@10 f4@10 ~@12 a3@3 ~@11 [d#4,f#4]@4 [e4,g4]@4 ~@4 c3@8 ~, ~@2 [c5,e5,a5]@11 ~ b5@18 ~@4 b5@15 ~@109, ~@14 [d5,f5]@11 g5@11 ~ [c5,e5]@15 ~@8 [c5,e5]@15 ~@9 f4@19 ~@10 e4@30 ~@4 [e4,g4,c5]@12 ~, ~@17 a5@19 ~@5 a5@11 ~@12 d5@11 d5@13 ~@5 g4@22 ~@21 c4@7 ~@17, ~@21 f4 b3@7 [g3,b3,f4,d5,f5]@8 ~@7 [g3,c4,e4]@8 [a2,g4,c#5]@8 ~@7 a3@8 ~@43 g3@10 g3@15 g3@16 ~]/5", // C Dm D#m Em Am Dm C G7 …
  O: "[~@11 f3@4 ~@11 [c5,d#5]@3 [c5,e5]@3 ~@5 a2@8 d2@2 ~@9 g5@4 ~@4 d6@4 g2@2 ~@8 g5@4 f5@2 ~ e5@4 [a2,a3,f#4,c5,d5]@7, [e4,a4]@30 ~@19 a5@11 ~@8 g5@10 ~@18, c5@26 ~@7 [c5,e5,a5]@12 [d5,f5,b5]@15 ~@8 [e5,e6]@14 ~@14, a2@8 ~@14 a3@7 ~@23 [a3,f4]@7 ~ [g#2,g#3,d5,f5]@7 ~@4 c6@11 ~@14, ~@4 e3@11 e3@14 e3@15 ~@9 d4@7 ~@8 g3@7 [g3,c4,e4]@7 [a2,a3,g4,c#5]@8 ~@6]/3", // Cm C D7 A5 Am Bdim E Dm …
  P: "[~@2 [f4,c5,d5]@8 ~@5 e5@4 e4@9 ~ [e4,g4]@10 ~@24 a3@4 g3@7 ~@4 [d#4,f#4]@3 ~ e4@3 ~@4 c3@7, ~@10 [f4,b4,d5]@9 c5@22 ~@11 e4@22 ~@11 [e4,c5]@11, ~@11 [g2,g3]@9 ~@19 f4@14 c4@21 c4@8 ~@14, ~@57 g3@10 ~@15 [g3,g4]@14]/3", // Dm7 Em D#m Bdim C G
  Q: "[~ a2@4 e3@7 f3@3 ~@10 [c5,d#5]@3 ~ c5@3 ~@4 a2@7 [g2,d3] ~@17 [b4,b5]@5 [e5,b5]@4 ~@7 [g4,g5]@3 a3@2 ~ e5@4 d2@2 ~@8 c#5@4 [f#3,c4,d4,f#4,d5]@8 [c4,a4]@10 g4@10 ~ f4@9 c2 ~@11 a3@3 ~@12 [f#4,d#5,f#5]@3 [g4,e5] ~@29 e3@7 ~@4 [d#5,d#6]@3 [c6,e6]@4 ~@5 a2@8 d2@3 ~@11 [g4,g5]@4 ~ [f4,d5,f5]@2 ~@2 [d5,d6]@3, ~ [e4,a4]@28 ~@3 [c5,a5]@10 ~ [b4,b5]@15 [b3,d4]@8 ~@7 [g3,c4,e4]@7 ~@13 c4 a3@7 ~@8 [g3,d4]@30 ~@5 g3@10 ~ g3@14 g3@8 c3@9 [e5,a5]@21 ~@10 [a5,c6,a6]@15 ~ [b4,d5,f5,b5]@16 ~@7, ~ c5@24 ~@4 e5@14 [d5,f5]@11 [g4,g5]@12 ~@4 [a4,e5,a5]@10 ~@7 [f#4,c5,e5]@14 ~@8 f4@20 ~@10 [e4,g4,c5,e5]@30 ~@5 g5@13 ~@2 e3@10 ~@14 [e3,e5]@19 ~@8 [f3,a3,d4]@8 ~ [g#2,g#3]@7, ~@15 e3@13 ~ e3@7 ~@14 [b3,d4,f4]@7 [g3,f4,d5,f5]@8 ~ c2@2 ~@12 [a2,g4,c#5,f5]@7 ~@7 d3@10 ~@58 c4@17 ~@5 a2@9 ~@3 f3@5 ~@5 a3@7 ~@24 [a4,a5]@12 ~@7, ~@22 a3@8 ~@17 [a4,a5]@19 [b4,c5]@14 ~@10 d5@10 ~@29 [d5,f5]@10 ~@30 g5@4 [c5,e5,c6]@12 [c5,c6]@21 ~@12 e6@14 ~@24]/8", // Cm G5 B E5 G D7 F D#m …
  R: "~@2 g2@2 ~@8 g5@3 ~@4 e5@5 [a2,c5,d5]@8, ~@2 [e5,e6]@14 ~@8 f4 ~@7, ~@2 g5@10 ~@3 f5@2 ~@15, ~@2 g3@7 [g3,c4,e4]@7 [a2,a3,g4,c#5]@9 ~@7, ~@5 c6@11 ~@16", // D7 E C A7
  S: "[~ [g#2,d5]@8 ~@4 e5@6 c5@13 g5@16 ~@7 b4@4 d5@8 d5@3 ~@4 e5@3 ~@4 d5@3 ~@4 a4@3 c4 ~@3 [f#4,a#4]@3 ~ [d3,b4]@2 ~@8 d5@4 ~@4 e5@4 ~@3 d5@4, [f4,c5]@9 d5@10 e4@29 ~@7 g4@15 [c#3,a#3,a#4,g5]@8 ~@6 [b3,b4,d5]@4 c5@10 g2@2 ~@2 d5@7 ~@12 [b4,e5]@7, ~@71 g3@7 [b4,e5]@7 g3@6 ~ f#3@7 g4@6 [d3,b3]@8 ~@15, ~@106 g3@7 [a#3,a#4,g5]@8 ~@7]/4", // G#dim F# G F5 Gdim Bm E5 G …
  T: "[~@17 [g#4,b4]@4 ~@7 [b4,d5]@3 [d3,c5,e5]@6 ~ d3@2 ~@8 [c#5,a#5]@4 [d3,g3,b3]@2 ~@5 [d5,f#5]@4 ~@8 d6@4 e4 ~@3 c#6@4 ~@9 d4@11 ~@37 e5@4 ~@3 d5@4 ~@4 a4@3 f#3@2, ~@12 d4@11 ~ [d3,f#3,c4]@7 [f#3,c4]@2 ~@4 g2@3 ~ [b4,d5]@10 ~@13 [b5,c6]@7 [e5,a#5]@12 f#5@21 ~@6 a#4@7 b4@13 [b4,d5]@5 [a#3,g4,a#4]@9 [b3,g4,b4,e5]@8 ~@6 c4 ~, ~@16 d2@3 ~@2 [a4,c5]@11 ~@6 a#4@14 ~@7 [f#3,b5]@7 ~ f#3@17 d5@20 a4@14 ~@4 d5@8 ~@3 c#3@12 ~@6 [g3,b3,g4,b4,d5]@6 ~@3, ~@38 c#5@10 ~@4 [d5,b5]@7 ~@4 [d5,f#5,d6]@4 [b3,d4]@7 ~ a#3@8 b5@3 ~@31 g4@17 g3@10 d3@16, ~@45 [d3,g3,b3]@7 ~@7 f#2@15 ~@39 g2@7 ~@6 [g3,b3]@10 g5@9 ~@9 c5@5 ~]/5", // G#m Bm C F# G D D7 F#dim …
  U: "[~@2 [f#4,a#4]@3 ~@12 [d4,g4,b4,d5]@3 [d#3,g3,b3,d#4,g4,b4,d#5]@8 ~@16 c4@9 ~@11 [g4,c5,e5]@4 [c#3,g4,a#4,e5]@8 ~@12 e5@3 ~@4 d5@4 ~ [d3,a3,d4,f#4,c5,d5]@17 [f#4,c5,d5,f#5]@10 b3@2 ~@14 f3@3 [e3,f#3,e4]@3 [c#3,c#4]@2 ~@2 [d3,d4]@3 ~ f#3 ~@5 [a#4,c#5,e5,g5]@5 g3@2 ~ c4@2 ~@4 [a4,c5,d#5,g5]@7 [a4,c5,d#5,g5]@7 d4@2 ~ [c3,c4]@3 ~ [g4,d5,g5]@6 [d3,d4,g4,b4,d5,g5]@6 [g3,g4,b4,d5,g5]@6 [e4,e5]@6 [c#4,c#5]@6 [d4,d5]@5 [a#3,a#4]@6 [b3,b4]@5 [g3,g4]@4 ~ e3 ~@3 [c#3,c#4]@3, ~@5 b4@8 [g3,b3]@7 ~@12 e3@21 ~@7 [g3,c4,e4]@8 ~@16 g3@17 ~@16 [d3,a3,d4]@2 ~@8 b2 ~@4 [d3,d4]@7 d3@11 ~@6 [e3,e4]@14 ~ c3 ~@2 [d3,d4]@5 ~@12 d3 ~@6 b2@2 ~@10 g2@2 ~@44, ~@6 g2@15 ~@7 [c3,c5]@25 [c3,g5]@15 ~@8 [d3,g5]@9 ~@7 [b3,d4,g4,b4]@9 ~@26 [g4,b4,d5,g5]@8 [b4,d5]@15 ~@47 b4@7 ~@52, ~@6 g4@11 ~@36 [g4,e5]@11 ~@12 [g4,b4]@15 e5@9 ~@35 [g4,g5]@7 [a#4,c#5,g5] [g3,f4,g4,e5]@7 ~@27 [d#3,d#4]@14 ~@7 b3@13 ~@45, ~@6 d3@4 [d4,d5]@7 ~@22 g3@13 ~@5 [d5,f#5]@12 ~@12 f#5@20 ~@37 d4@11 [a#4,c#5,e5,g5]@7 [a#4,c#5,e5,g5]@7 ~@7 [a4,c5,d#5,g5]@7 ~@14 [g4,b4,d5,g5]@7 ~@50 e4@5 ~@3]/8", // F# G D#aug C C#dim D7 Esus2 C# …
  V: "[~@2 [d3,d4]@4 [a#2,a#3]@5 [b2,b3]@5 [g2,g3]@14 ~ [a#3,a#4]@2 ~@2 g3@20 ~@9, ~@30 [b3,b4]@2 ~ [a3,a4]@3 ~@28, ~@17 g4@10 ~@5]/2", // D A# B G A# B A
  W: "[~@3 [g2,b2,d3,g3]@36 [g1,g2,g5,b5,d6,g6]@15 ~@10]/2", // G
})).s("gm_piano").gain(0.48)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A B ~ C@2 D E@2 F@3 G ~@2 H@4 I J K@4 L ~ M N O@2 P ~ Q@4 R S@2 T@4 ~@2 U@2 V@2 W@5 ~ X Y@4 ~@3 Z@2 ~@4 AA AB AC ~@2
  AD AE@3 AF@2 ~ AG@3 AH@2 AI ~ AJ ~@7
>`.pickRestart({
  A: "~@8 [d2,d3]@11 ~@13, ~@2 [b1,b2]@9 ~@21", B: "~@11 e3@3 ~@2",
  C: "[~@16 a3@23 [g2,d3]@3 ~@10 b4@4 g3@8, ~@15 c4@23 ~@6 b4@8 ~@4 c#3@4 ~@4, ~@48 [d3,g3,b3]@9 ~@7]/2", // G5 G
  D: "d3@20 ~@5 b4@6 ~", E: "[~@18 [b3,d5]@4 a4@4 ~ f#3@8 ~@8 d3@7 d3@7 ~@7, ~@18 [g3,b4]@3 ~@43]/2",
  F: "[~@16 f#3@7 ~@6 f#5@4 f#3@9 ~ f#3@9 [f#4,b4]@11 ~ f#3@9 ~ d3@7 b3@7 ~@8, ~@24 [f#3,d4]@8 ~ e4@2 ~@7 b3@10 d4@4 ~@7 c4@4 ~@29, ~@42 b2@3 ~@18 [d3,f#4,a4]@10 ~@23]/3", // B5 D
  G: "~@7 b3@6 ~@2 f#3@8 [g2,d3]@3 ~ [g4,b4]@5, d3@11 ~@5", // G5 G
  H: "[~@41 b4@6 ~@25 b4@5 ~ e2@2 ~@2 c5@4 ~@4 g4@15 ~@11 a3@9 ~@3, ~@23 f#4@9 [c4,f#4]@16 d3@29 ~@9 [g3,a3,c#4]@7 ~@35, ~@27 d3@8 ~ d3@11 [g2,b3]@30 ~@51]/4", // Cdim A7 G
  I: "~@6 [f#3,a3]@7 f#3@3, ~@4 [f#3,a3,d4]@7 ~ d4@2 ~@18, ~@8 f#4@15 ~@9", J: "~@17 b3@7 ~@8",
  K: "[~@30 e3@8 e3@3 ~ b4@5 ~@9 a2@10 ~@5 b4@6 ~@17 a3@14 ~@20, ~@38 [g#3,d4]@9 a3@20 ~@19 [g3,a3,c#4,c#5]@7 ~ g3@2 ~@32, ~@90 b4@21 ~@17]/4", // G#dim A7
  L: "~@9 a3@13 ~@10, ~ [f#3,d4]@7 ~@24, ~@5 f#4@14 ~@13", M: "~@18 d3@9 ~@5", N: "~@23 f3@9",
  O: "[~@17 c#4 a3@2 ~@16 [a3,c#4]@8 ~@20, ~@9 [g3,a3,c#4]@7 ~@2 g3@14 c#5@4 e4@15 ~@13, ~@13 b4@38 ~@13, ~@13 g4@22 g3@15 ~@14, ~@13 a1@12 ~@7]/2", // A A7
  P: "~@23 a3@6 ~@3",
  Q: "[~@12 b2@7 e3@7 ~@4 b4@4 c#4@3 ~@5 a2@25 ~@16 a3@2 ~@20 g3@7 ~@8 [f#3,d4]@6 ~@2, ~@13 d4@4 ~@22 b4@11 ~@14, ~@27 [e3,g#3]@7 ~@41 [g3,a3,c#4,e4]@7 ~@46]/4", // D E A7
  R: "f#3@7 ~@9",
  S: "[~@13 b4@11 ~@5 a3@7 [a3,g4]@7 ~ d3@3 ~@4 b2@4 ~@9, ~@13 g4@8 ~@3 [b4,g5]@12 ~@28, ~@3 c#5 ~@4, ~@28 g3@8 ~@7 a3@3 ~@18]/2", // A7 Em
  T: "[~@14 f#3@21 ~ d3@2 ~@10 b4@4 g3@8 d3@22 ~@13 b4@4 [c#3,g3]@8 ~@21, ~@4 d2@12 ~@19 [g2,b4]@3 ~ b4@8 ~@40 b4@8 ~@33, ~@13 [d3,c4,f#4]@22 g4@17 ~@31 d3@8 [d3,g3,b3]@8 ~@29, ~@44 [d3,g3,b3]@8 ~@30 g2@3 ~@43]/4", // C#dim G D7 G
  U: "[~@4 b2@3 ~@6 d4@12 [d3,f#3,f#4,a4]@10 d3@7 ~ d3@7 ~@14, ~@4 [f#3,b3]@11 ~@10 c4@4 ~@6 g2@3 ~@26, ~@6 [f#4,b4]@7 ~@19]/2", // D B5
  V: "[b4@5 ~@2 f#3 ~@14 [g3,b3]@7 b3@10 ~@25, ~@15 g2@15 ~@34, ~@19 b4@7 ~@38]/2", // G
  W: "[~@29 [g3,b3]@8 ~@13 f#4@9 ~@10 b4@6 ~ g2@14 [g1,g2,g4,b4]@19 ~@5 c4@24 ~@22, ~@29 d3@17 ~@13 [c4,f#4,a4]@16 b3@4 ~@81, ~@64 d3@12 d3@3 ~@35 c3@5 ~@41]/5", // G F#dim
  X: "~@21 g3@7 ~@4",
  Y: "[~@35 c4@8 c4@9 c4@9 ~@10 [g2,d4]@10 c4@23 ~@24, ~@28 f#4@15 [d3,f#4]@13 ~@5 b3@20 c3@9 ~@38, ~@52 g3@31 ~@45]/4", // G5 D
  Z: "[~@2 [g#2,g#3]@9 ~@9 [c3,g3]@19 ~@13 c3@8 ~@4, ~@39 [g3,b3,d4]@16 ~@9]/2", AA: "~@23 b3@3 ~@6",
  AB: "~ [g2,f3]@5 ~@10, ~ g4@10 ~@21", AC: "~@14 f5@3 ~@15", AD: "~@3 a3",
  AE: "[~ g#3@8 ~ g3@9 c3@13 [c2,c3,c5,e5,c6]@16 ~@19 b4@4 ~@7 d3@18, ~@9 [g2,f4,b4]@10 g3@29 ~@7 g2@16 ~@25, ~@55 d3@8 [d3,g3,b3]@8 ~@25, ~@59 b4@8 ~@29]/3", // C G7 G
  AF: "[~@6 b4@7 b4@4 [c#3,g3]@8 ~@11 a4@3 ~ f#3@9 ~@15, ~@25 d3@24 ~@15, ~@32 [g3,b3,b4,d5]@6 ~ c4@10 ~@15, ~@35 c5@4 ~@25]/2", // C#dim G
  AG: "[~@20 b2@2 ~@6 [f#4,b4]@11 ~ [d3,f#3,f#4]@13 d3@8 ~ d3@10 ~@24, ~@20 f#3@19 c4@4 ~@53]/3", // B5 D
  AH: "[~@14 d3@7 ~@7 [g4,e5]@25 ~@11, ~@14 e4@9 ~@9]/2", AI: "~@5 b3@2 ~", AJ: "~@18 f3@3 ~@11, ~@13 g#3@8 ~@11",
})).s("gm_piano").gain(0.24)

stack(piano, piano_soft)

More by Scott Joplin