Strudelify

Yankee Doodle Dandy Give My Regards to Broadway

George M. Cohan

KeyG majorTempo100 bpm
0:00/0:00
// Yankee Doodle Dandy   Give My Regards to Broadway — George M. Cohan
// 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 54 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@4 B C@4 D E@2 F G@2 H@4 I@4 J K L M N@2 O P@6 Q R S T@2 U@2 V W@7 X@2 Y>".pickRestart({
  A: "[~@16 [c4,g4,a#4,e5,g5] ~@2 [c#4,g4,a#4,e5,a5] ~@3 [c#4,g4,a#4,f#5] ~@6 d3@3 ~ c#4@3 d3 ~@3 e5@3 d3@3 [a3,c4,a4,c5,f#5,a5]@4 f#3@3 ~@3 b2 ~ d5 ~ g4 ~@2 [a#2,g4]@3 ~ [a#2,f#3,d5] ~@2 [d2,d3]@4 [b3,f#4] ~@2 [f#4,a4,c5]@3 ~ [g2,d3] ~@2 g4 ~@3 e4 ~@2 [g3,b3,g4]@3 g2 ~ g4@2 b4 d5 ~ a5@2 ~ [c4,c5] ~ f#5 [g2,b4,b5] ~@2 d4@2 ~@2 d#4@2 ~ [g3,b3,e4] ~@6 [b3,d4,f4,d5]@3, ~@23 a#5@2 ~ [d4,g4,b4,g5,b5]@7 [g4,c#5]@7 [g4,c5,g5]@3 ~@25 [f#4,c5]@7 b4@2 ~@18 g5@6 ~@10 g5@17, ~@33 [a#3,g5]@4 ~@3 c4@7 ~@31 c4 ~@3 [d4,d5]@5 ~@3 e4@5 ~@9 a4@2 ~@5 [b4,d5]@8 ~@3 f3@6, ~@34 e5@7 a3@6 ~@7 [g3,g4,b4,d5,g5]@5 ~@2 [g3,c#5,e5]@6 ~@22 [d2,e5]@7 ~@6 d2 ~@8 g3 ~@3 f#3 ~@5 g2@7]/4", // C7 A7 F# F#dim D# A#aug D B5 …
  B: "[g2,f3] ~@3 [b3,d#4,f4] ~@2 [c3,g3] ~@3 a3@3 [g2,e3] ~@3 e5 ~ c3 ~@3 e4@3 [f#3,d5]@3 d3 ~, d#5@3 d#5@4 ~@3 [c4,e4]@3 ~@4 [c4,e4]@2 g5@8 ~@5, ~@3 [b4,b5]@2 ~@2 [a4,e5,a5]@6 ~ [g4,c5,e5,g5]@6 [g4,c5,e5]@7 ~@5", // G7 Fm7b5 C5 C D C B A5 …
  C: "[~ g2@2 ~@3 e3 ~ d3 ~@2 b2 ~@3 g2@2 ~@4 [d3,f#3,c4,d4,f#4,b4] ~@2 [d3,f#3,c4,f#4,c5] d4 ~@2 g2 ~@2 [d3,g3]@2 ~ d2 ~@2 [g3,b3] d3 b4@2 g2 g4@2 [g3,b4] d5 ~ f#2 ~@2 [f#3,d#4,a4]@3 [e3,b4,e5,g5,b5] ~@3 [b3,e4] ~@2 b2 ~@2 [g3,g4]@3 b3@2 ~ [a3,d#4]@3 ~ [g3,b3,e4] ~@2 [b2,g3]@2 e3 a2 g3 ~ c#4 ~@3 [g4,a4,c#5,e5,a5]@3 [g3,c#4,e4] ~@2 [a2,g3] ~@9 [g3,c#4,e4,b4,e5,g5,b5]@3 ~@3 f#3@4 ~ a4 d#4 c4 [d#4,a4] ~ [c4,d4,a4]@7 [d3,f#3,c4,f#4,b4] ~@2, ~ [g4,b4,d5,g5]@15 ~@12 [d4,g4,b4,d5]@6 e5@5 ~@2 g5@6 a5@6 ~@4 [e5,g5]@10 ~@25 a5@13 ~@23, ~@36 e4@2 ~@28 [f#3,a4,d#5,a5]@6 ~@14 e2 ~@8 [g3,c#4,e4]@7 ~@3 [d3,a4,d5,f#5,a5]@9 ~ g3@2 ~ f#3@4 ~@6, ~@37 g4@2 ~@18 [g4,d5]@6 ~@10 [b4,e5,g5,b5]@6 [g4,a4,c#5,e5]@4 ~@9 [g4,c#5]@7 [a2,c#5]@6 c4@6 ~ [c4,d#4]@2 ~@14]/4", // Bm D7 G5 G D#dim Em E5 G …
  D: "[f#3,d4,c5] ~@2 [d3,d4] ~@3 g3 ~@2 d2 ~@2 [d3,g3] ~@2 g2 ~@2 b4 ~@2 d2 ~ a4@2 [f#3,c4,e4,c5] ~@2 [g2,d5,b5]@3, a2@2 ~ d5@4 ~@3 e5@3 g4@3 g5@4 ~ d5@2 a5@2 ~@7, ~@6 e4 ~@2 g4 ~@6", // D7 D G5 F#m7b5 G
  E: "[[g3,b3] ~@2 d2 ~@2 [g3,b4]@2 d5 g2 ~@2 [b3,d4,f4]@4 a2 ~@2 b2@3 c3 a4@2 ~ [g3,c4,e4]@3 ~@3 [g3,c4,e4]@2 e5 d3 ~@2 c4@3 ~ [b2,b3] ~@2 [a2,a3]@3 g2 ~@2 [g3,b3,d4] ~@2 d2 ~@2 [g3,b3,d4] ~@2 [g4,b4]@4, g5@9 ~@13 [e5,a5]@2 ~@10 g5@2 c5@6 [c5,d5,f#5]@6 g5@9 b4@2 d5@5, d5@3 ~@2 g4@4 [a4,b4,d5,f5,a5]@7 [b4,d#5,g5,b5]@6 ~@7 [g4,c5,e5,g5]@5 ~ [g4,e5]@3 c3 ~@3 f#4@3 ~@3 [g4,b4,d5]@7 ~ g4@2 ~@2 g2 ~@3]/2", // G Bdim C B A G A5 D7 …
  F: "~@3 [g4,g5] ~@2 a5@2 ~ [g3,d4,b4,d5,b5] ~@3 [g3,d4,b4,d5,a5]@5 g5 [d4,b4,d5,g5]@3 ~ [g3,c4,e4,c5,e5]@6 [c4,g4] e3 ~, ~@6 a4 ~@11 a5@3 ~@11, ~@19 g3 ~@12", // G C C5
  G: "[~ [d#3,c4,a4] ~@2 [g2,d3,d4,b4] ~@3 [g2,d3,b3,d4,a4]@5 ~ [g2,d3,b3,d4]@3 ~ [c3,c4,e4]@3 ~@4 [b2,f#4,d5,f#5] ~@2 [a#3,g4,d5,g5] ~@2 [a2,a3] g4 ~ [c#4,e4] g3 ~@2 a2 ~@2 [g3,c#5]@3 a4@2 ~ a4@2 ~ [e3,e4,a4] ~@3 a4@3 [d#3,a4,c5,a5]@3 [c4,a4,a5] ~@2 [d#3,c4], ~@14 g4@7 ~@7 a#2@2 ~ a5@12 ~ a5@10 ~@10, ~@31 [c#5,e5]@7 ~@2 [c#4,e4]@3 ~@10 [d#3,d#4]@3 ~@8, ~@31 a4@3 ~@5 a4@5 [c#5,f#5]@6 [c#5,e5]@3 ~@7 c5@2 [a4,c5,a5]@2]/2", // Adim G C Bm Gm A C#m Gdim …
  H: "[~ [c5,a5] [d#3,c4,c5,a5]@4 [c5,d5]@6 [d2,d3,c5,d5,f#5]@2 ~@2 d3@3 [g2,d4,g4,b4,d5] ~@2 [d3,g3,b3] ~@2 e2@3 ~ [b3,d4] ~@2 g4@2 ~ [g3,b3,d4,g4]@3 [a4,c#5,e5,a5]@3 [a#3,e4] c#4 ~@2 c5@2 ~ [c4,e4] c5 ~ [c5,g5]@2 ~ [g3,a3,c4,e4,c5] ~@2 d2 ~@2 [f#3,c4,d4] ~@2 a2 f#4@2 [f#3,c4,d4] ~ d5 [a2,g3,g4,c5,e5] ~@3 [g4,c5,e5]@3 [g4,c5,e5] ~ [g3,c4,e4]@3 ~ c4@2 ~ f#3@3 f#3@2 ~@4 g2 d4@2 [g3,b3,g4] ~@2 [g#2,f4] ~@5 a3@3 a2 ~@2 [d2,d3,c4,d4] ~@2 [f#2,f#3,c4,d4]@3 ~ [g2,g3] ~@2 [d3,g3,b3]@3 [e4,g4,b4,e5] ~@2, ~@2 a4 ~@3 d6@9 ~@17 g5@7 ~@5 g5@4 ~@9 f#5@10 ~@6 c4@4 [g4,c5,e5]@4 ~ [f#4,a#4,f#5]@6 [f#4,a#4,f#5]@4 d5@6 ~ d5@2 ~@4 [c4,d4]@6 ~@7 [d4,g4]@7 ~@3, ~@6 [d3,f#3]@2 ~@14 e4@2 ~@4 f#4@2 ~@2 b2 ~@5 [a#2,g3] ~@6 a2 ~@5 [a2,g3] ~@21 a3@8 ~@10 [a2,f#3]@2 b4@6 ~ g#4@2 ~ [g#3,b3,f4,g#4]@3 a4@12 ~ [b4,d5]@7 ~@2, ~@6 c4 ~@15 [g4,b4,e5]@7 b4@2 d5@7 ~@5 e5@3 ~ g4@2 ~@4 g4@2 ~@2 [f#4,c5]@7 ~@8 e4@4 a2@5 ~@4 [d3,c4]@7 [d4,g4]@3 ~@7 d4@3 f#4@13 ~@10]/4", // F Adim Csus2 D7 G Bm G A …
  I: "[[d3,g3,b3,f#4,f#5]@3 ~ [g2,d3] ~@2 [g3,b3]@3 ~@3 a#2@2 ~ a2 f#3 ~@2 [f#3,d4]@3 [g4,c#5,e5,g5]@3 [a#3,c#4,e4] ~@5 [c4,a4,f#5]@3 [f#3,c4,e5] ~@2 [f#3,a4,d5]@3 e3 ~@2 [b3,d4,e4]@2 e5 ~ [a2,b2] ~@2 [b3,d4,e4] ~@2 [a2,g3] ~@8 d4@3 [f4,g4,a4] ~@2 g3@2 [f4,g4,a4]!2 [g3,c#4]@2 ~ [d#3,g3,c#4,f4,g4,a4] ~@2 [d3,f#3,c4,e4]@2 ~ [d2,d3] ~@2 [e2,e3] ~@2 [f#2,f#3] ~@3 [g2,d5,g5,b5,d6] ~@2 [e5,g5,b5,e6]@3 d2 ~@3 [g3,b3,d4,e4,f#5,b5] ~@2 [g5,b5,d6,g6]@3 [g3,b3,d4,e4] ~@2 [a#2,g3,c#6] ~@2 [a#3,c#4,e4] g3 ~ a2 c6 ~ [c4,e4] [g3,c6] g6@2 [a2,c6] ~ [c4,e4] [g3,c6], ~@3 [b4,g5]@7 ~@5 c#3@2 ~@6 a2 ~@3 [a4,f#5]@4 ~@10 [g4,d5,g5]@6 ~ [g4,d5,e5]@5 ~ [g4,c#5]@6 [g2,g4,c#5,e5,g5]@6 ~@2 [f4,a4]@3 ~@8 [f#4,d5]@10 ~@13 f#6@2 ~@6 e6@2 ~ a5@2 c#6@2 g6@2 ~@9, ~@4 [g4,d5]@6 [g3,g4,a#4,d5,e5]@6 ~ [f#4,d5,f#5]@6 ~@4 [d5,a5]@7 ~@3 e5@2 ~@8 g5@2 ~@5 f#5@12 ~ c#4@5 ~@39 a6@4 ~ e6@2 ~ g5@2 ~@4 g5@2 ~, ~@29 d3@6 ~@22 [g3,c#4,e4]@9 d#3@5 ~@2 d#3 ~@21 [d3,g3,b3] ~@9 [b2,g3] ~@22]/4", // Gmaj7 G5 G D C#dim A#dim F#dim F#m7b5 …
  J: "~ d2 ~@2 [c4,d4] f#3 ~@2 [a2,f#3] ~ c4 [f#3,d4,c6] f#6@2 [a2,g5,c6,e6] ~@2 [g3,a3,c4,e4,g5,c6,e6] ~@2 [a2,g5,c6,e6] ~@2 [g3,c4,e4,g5,c6,e6] ~@2 [c6,f#6] d6 ~ [d3,c4]@3, g6@2 ~@24 c4@3 ~@3, ~ [c6,f#6]@7 ~ f#5@3 ~@14 f#5@6, ~@27 f#3@5", // Csus2 D D7 Am7 C Cdim D7 Cdim
  K: "~@4 d3@3 d5@2 ~@4 d3@2 [g4,d5] [b3,d4,e4] ~@11 [f2,f3]@2 b2@2, f#5@4 ~@3 [g5,a5,b5,d6]@9 ~@6 b2@8 ~@2, ~ [f#3,c4,f#4,a#4]@6 g2 ~@2 [d4,e4,d5]@6 [g4,d5]@3 [g3,g4,b4,d5]@6 [g2,g3,d4]@7, ~@13 g4@3, ~@27 d5@4 ~", // G5 E7 F G Cm7b5 Dsus2 G5 G …
  L: "[e2,a#2,e3] ~@2 [g#3,e4,b4,g#5]@3 b4@3 ~ [g#3,e5]@3 e2 ~@8 [g#3,d4,e4]@3 ~ [a3,c4,e4]@6, ~@3 b5@10 ~@6 [b2,b4,d5,b5]@7 ~@6, ~@3 d4 ~@2 g#5@7 [c5,e5,g#5,c6]@13 [a4,a5]@3 ~@3, ~@6 b2 ~@2 [d4,e4,b4]@3 ~@4 [g#3,d4,e4]@6 ~@3 c5@7", // Edim E C#m E7 Am Bm Caug A …
  M: "[g#3,c4,e4,g#5]@4 c4@2 [a3,a5]@2 ~@2 [g4,g5]@3 [d#3,c4,a4,c5,a5] ~@2 [a#4,c#5,a#5] ~@2 d5 ~@6 g3@3 [a#2,g3,c#4,g4]@3, [g#4,c5]@3 ~@3 [c4,a4,c5]@7 ~@3 [d#3,c4]@3 [d3,b5]@13, ~@6 e4 ~@12 b4@6 ~ [b2,b4,d5,g5]@6, ~@11 b3@5", // G#aug A G Adim A#m Gdim G# F …
  N: "[~@3 e3@3 ~@4 d2@3 [g2,d3]@3 d3 ~@3 a#2 ~ [a#2,g3,c#4,e4]@3 ~ a2 ~@8 d2@4 [g2,d3,g4] ~@3 [g3,b3] ~@2 d2 ~@2 [g3,b3]@2 ~ g4@2 ~ g3@2 ~ d2 [a4,f#5]@2 c4 f#3 ~, [a2,g3,c4,e4,g4]@6 c#3@2 ~@13 f#4@3 ~@5 a2@10 ~@13 g2 ~@11, ~@7 [d3,c4,f#4,a4]@6 [b3,g4]@6 [g3,c#4,e4]@3 ~@4 [f#3,c4,d4]@14 ~@12 [b4,g5]@5 ~ [c5,a5]@3 ~@3, ~@32 d3@6 ~ [b4,d5]@4 ~@3 [g4,b4,e5]@5 d5@7 ~@6]/2", // G5 A#dim G5 G D Am7 D7 Em …
  O: "b5@2 [f#5,a#5] [b3,g5] [d3,g3,b5] ~@2 d2 ~@2 [d3,g3,b3] ~@2 g2 ~@2 [b3,d4,f4]@2 ~ [a2,a3] ~@2 [b2,a3,b3] ~ e3 ~ [e6,a6]@2 [c4,e4] [a3,e6] ~@2, g5 ~@6 [b4,g5]@5 ~ [a4,b4,d5,f5,a5]@5 g5@5 ~@5 a5@2 ~@2, ~@19 [d#5,b5]@4 ~@9, ~@21 b4@2 ~@3 [c3,g3] ~@5", // F# Em G Bdim A B7 A5 C …
  P: "[[g2,e3,c6] g5@2 [a3,c4,e4,c6] ~@2 [a2,c6,e6] ~@2 [g3,c4,e4,c6]@2 ~ [c6,f#6]@3 [d3,c4] ~@2 [b3,g5,b5,g6]@3 [c4,g5,c6]@3 b3@3 ~ g3 ~@2 b3@3 ~@3 [g3,b4]@3 [a4,c5]@2 ~ [g2,b4] ~@2 [b3,d4] ~@2 [c3,b4] ~@2 [b3,d4,b4]@3 b4 ~@2 [b3,d4,b4,d5]@4 [b3,d#5,f#5] a4@2 [a3,d#4,d#5,f#5]@3 e3 [f#5,a#5] ~ [e4,g5] ~@2 b2 ~@2 [b3,e4]@3 d#5 ~@2 [b3,d#4] ~@2 [g3,b5]@2 ~ e5@2 ~ a3@2 ~@2 e4@3 g3@3 c#4@3 [f#3,a4,c#5,e5,a5]@4 a3@3 e3@3 [c#4,b4,e5,g5,b5]@3 [c4,d5,f#5]@2 ~ [d3,f#3,c4,a4,d5,f#5]@3 [g3,c4,a4,e5]@2 ~@2 g3@3 [d3,f#3,c4,a4,d5]@6 [f#3,c4,g4,b4]@2 ~ d3 ~ [a#4,c#5] g2 ~@2 [g3,b3,d4] ~@3 b4@4 ~@2 [g2,e3] ~@2 [g3,b3,d4]@3 d3 ~@2 [f#3,c4,d4]@3 [g3,d5] ~@2 [b3,d4,d5,b5] ~@5 [g3,b3]@3 ~ [g2,f3] ~@2 [b3,d4,f4]@3 a2 ~@2 b2@2, g6@4 ~ g6@2 g5@4 d6@2 ~@8 e6@5 ~ [g5,b5]@4 g5 ~@5 g4@6 d5@2 g4@2 ~@3 e5@5 g5@7 ~@6 b5@2 b5@4 [e5,g5]@6 ~@3 d#5@3 e5 ~@2 e4@5 ~@8 e4 ~@24 [c4,a4,d#5]@3 ~@16 g4@3 ~@7 b4@2 ~@4 [a4,c5,f#5,a5]@6 ~@13 [a4,b4,d5,f5,a5]@7 ~@4, ~@12 c4 ~@2 f#3@2 ~ [g3,d6] ~@15 d3@5 ~ b2 ~ d3@2 ~@7 g4@4 d5@2 g4@5 ~@20 b4@2 ~@4 b4@4 e5@6 ~ [b4,c#5,e5,a5]@6 ~@13 a4 ~@20 [a4,c5]@2 ~@2 [b4,d5]@5 ~ e5@3 ~@4 [d5,g5]@6 ~@25 [b4,d#5,g5,b5]@5, ~@56 g3@2 ~@4 [f#3,a5]@6 ~@12 [f#3,a5]@4 ~@2 b3@8 ~ c#4@4 ~@25 d3 ~@3 d3 ~@63, ~@91 b5@3 ~@24 a5@15 ~@35 b5@2 a#5@2 ~@2 g5@6 ~@12]/6", // C Am C Cdim D7 Em C5 G …
  Q: "~ c3 e5@2 ~ [g3,c4,e4]@2 ~ g4@3 [g3,c4,e4] ~@2 d3 ~@2 [c3,c4]@3 [f#4,c5,d5,f#5]@3 [a2,a3]@2 ~ [g2,g3] ~@2 d4 [b3,e4] ~, ~@2 a4@5 ~@7 [g4,c5,e5]@7 ~@5 [g4,b4,g5]@6, ~@2 a5 ~@4 [e5,g5]@5 ~ g5@2 ~@5 [b2,b3] ~@6 d5@5", // C D7 A G E5 C G Em …
  R: "~ d3 ~ [g3,c4,e4,c5]@2 ~ [g3,b3,d4,g4,b4,d5]@7 [g4,g5] ~@2 [a4,a5] ~@2 [g3,d4,d5,b5] ~@3 [b3,d4,g4,a5]@4 g5 ~ [d4,g4,g5]@3, ~@2 g4@3 g5@2 ~@15 d5@4 ~@2 a5@3 ~, ~@29 [b3,b4] ~@2", // C G A G G5 B
  S: "[c4,e4,g4,c5,e5]@6 ~ [c4,g4,c5,d#5,g5] ~@2 [c4,g4,a5]@3 [b3,d4,d5,g5,b5] ~@2 [d4,g4,b4,d6]@5 ~ [g4,g5,d6,g6]@4 [e4,g4,a4,e6]@3 ~@3, ~@7 d#4@2 ~@4 g4@3 [d5,g5]@2 ~@4 [d4,b4]@2 ~@2 [c4,g5,c6]@6", // C Cm Am7 G G5 A7 G5 G …
  T: "[[d4,g4,f#5,d6]@2 ~ [d4,g4,g6]@3 [a5,c#6,a6] ~@3 [a5,c#6,a6] ~ [a3,c#4,g4]@2 [a5,c#6,a6] [a3,c#4,g4,a5,c#6,a6] ~@3 [a5,c#6,a6] ~@2 [a5,c#6,a6] [a5,a6]@2 ~ a6 a5 [a5,a6]@3 [d4,a5,c6,f#6,a6] ~@2 [a5,c6,f#6] a6 ~ d4@2 [a5,f#6] [a5,f#6]@3 [f3,a3,d#4]@3 ~ a3@3 ~@2 a3 c4 ~@2 [a#2,f5] ~@2 [f3,a#3,d4] ~ d6 [f2,d3,g5,g6] ~, [b3,f#6] ~@2 [b3,g5,d6] ~@2 g4@5 [a5,c#6,a6]@3 ~@9 c#6@8 f#4@2 ~ f#4@2 [a5,c6,f#6,a6]@2 ~@5 [a5,d#6]@7 ~@4 d6@3 ~@7, ~@7 [a3,c#4]@5 ~@7 [d#4,g4]@3 [d#4,g4]@3 [d#4,g4]@7 ~@3 d4@2 f#4 ~@5 a6 ~@2 d#4@3 ~ [d#4,f4,f5,c6,d#6,f6]@4 ~ [a#5,f6]@2 ~@7]/2", // Gmaj7 G5 A A7 A A7 A D7 …
  U: "[~ [g3,a#3,d4,a5,d6,a6] ~@2 [a#2,a#3,a#5,d6] ~@2 [f3,a#3,d4] ~@2 [e6,g6,c7]@3 [a#3,c#4,e4] g3 ~@2 g6@3 [g3,a#3,d#4] ~ g2 ~@2 a#3 [g3,d#4] ~ f2 ~@2 f4 [a3,d#4] ~ c2 ~@2 f4 [a3,d#6] ~ [d#6,g6] f2 ~ [c4,g6] [a3,d#4,f4,g5,c6,d#6] ~@2 [c2,g5,d#6,g6] ~@2 [d#4,f4,g5,c6] ~@2 f2 ~ c#4 f4 ~ g3 g2 a6 [a2,a3,a5,c#6] ~@2, ~@4 [f6,a#6]@3 ~@3 c#2 ~@6 [a#5,d#6,a#6]@7 a#5@2 d#6@2 [d#6,f6,a6]@9 c#4@2 ~@11 [a3,d#6,g6]@2 ~@6 [c#6,f6]@3 ~@3, ~@17 c3 ~@10 a5@5 ~@3 a5@2 ~ a6@2 ~@12 [a5,c#6,f6,a6]@4 a6@2 ~@5]/2", // Gm A# C A#dim D# Cm Adim D# …
  V: "[a#2,f5,a#5,d6,f6] a#3@2 [a#3,d4]@2 ~ [d5,f5]@2 ~ [d4,b4] ~@2 c3 ~@2 [f2,f3] ~@2 [g2,g3] ~@2 [a2,a3] ~@2 [f4,a#4,f5] [a#2,a#3,d5] ~@2 [f3,a#3,c4,d4] ~@2 f2, ~@6 [b2,b4] ~ f4@3 f5@11 ~@10, ~@12 [f4,c5,d#5]@11 ~@9, ~@12 g4@7 ~@9 [g4,d5,g5]@3 ~", // A# Dm G F G A A#5 A# …
  W: "[~@2 [f3,a#3,c4,d4,a4,d5,f5,a5] ~@2 a#2 ~@2 [f3,a#3,d4]@3 c#2 ~@2 [a#3,c#4,e4]@3 c3 a3 ~@2 [a3,f4]@3 g3 ~@2 [g2,g3]@3 [a4,c5,f5,a5,c6] ~@2 [a4,a5]@3 g4 [f2,f3] ~ [f3,f5]@3 ~ [f5,a#5]@3 ~@5 f4 [a#3,d4] ~@2 c2 ~@7 [a#3,c4,e4]@2 ~ [f2,f3,c5,a5]@5 [a#3,d#4,f#4] ~ [f#2,e3] d#4 ~ [f#2,a#3,d#4,f#4]@2 ~ [f2,d#3,a3] ~@5 [f1,f2,a4,c5,d#5,f5]@6 [a#1,a#2,f4,a#4,d5,f5] ~@3 [f3,a#3,d4] ~@2 f2 ~@2 [g3,a#3,d4,a4,d5,a5] ~@2 [a#4,d5,f5]@3 [a#3,d4]@3 c6@3 [c#3,a#3,e5,g5]@3 c3 ~@2 d#4 a#3 ~ g2 ~@2 [a#3,d#5]@2 ~ f2 ~@2 [a3,d#4,f4] ~@2 c2 ~@2 [a3,d#4,f4,d#5] ~@2 [f2,g5] ~@2 [a#3,d#4,d#5] ~@2 [c2,d2,d#5] g4@2 [a3,c4,d#4] ~ g5 [f2,g5] ~@2 [c#4,f4,d#5] ~@2 [g2,g3,c#5] a4@2 [a2,a3,c#5] ~ [a#2,a#3] ~@5 f4@2 ~@4 [a#2,a#3] ~@8 [f3,a#3,d4]@3 [d5,f5,b5,d6]@3 [g3,b3,d4]@3 [b4,f5,g5]@2 ~ [g3,b3,d4,b4,g5] ~@2 d#5@3 ~ [g#2,c6]@3 ~@2 f3 [g3,b3,d4]@3 [a#3,c5,g5]@6 [b3,b4,f5,g5,b5]@4 a#3@2, ~@5 [a#4,d5,f5,a#5]@6 [g4,c#5,e5,g5]@6 [a4,f5,a5]@6 ~ [a#4,e5,g5,a#5]@6 [a2,a3]@6 [c5,g5]@2 ~@5 a#4@10 [a4,a5]@12 ~ [f5,c6] ~@28 d5@6 f5@2 ~ a#5@6 ~@6 a#5@9 ~@2 g5@2 ~@10 a5@2 ~@4 g5@4 ~@8 a5@3 ~@2 a5@2 ~@2 [f3,a#3,d4]@6 [g3,a#3,d4]@3 [f4,a#4]@6 f2@6 g2 ~@5 d2 ~@15 g2 ~@2 [c3,c6]@3 ~@3 d3@2 ~@4, ~@43 d5@6 [g2,g4,d5,g5]@4 ~@4 [a#3,c4,e4]@4 [a2,e3,e5]@4 ~@8 [a#3,f#4]@3 e3 ~@2 [d#4,f4]@12 ~@3 [g4,g5]@4 ~@12 c5@6 a#4@6 ~@2 a#4@2 ~@2 [d#5,a5]@9 ~@3 d#5@2 ~@7 d#5@2 ~ d#5@2 ~@9 f5@10 a#4@2 f5@12 ~@6 b5@3 f5@3 d#6@6 ~@19, ~@43 g2 ~@2 [a#3,d4,f4]@6 ~ [d5,e5]@7 [g2,a#4,d5,a#5]@5 ~@39 a#2 ~@20 d#4 ~@2 a4@6 ~@2 a4@2 ~@4 g4@2 ~@10 a4@2 ~@8 d5@10 d5@8 [f4,a#4,d5]@5 ~@15 [d#5,g#5]@3 ~ [d5,f5,b5,d6]@6 ~@12, ~@169 f2@5 ~@4 [f3,a#3,d4]@6 ~@19 [f#3,g#3] ~@14 a3 ~@5]/7", // Dm7 A# A#dim Dm G F A F …
  X: "[[c5,c6] ~@3 a#3@2 [d#3,c4,c5,f#5,c6] f#3 ~ [d#3,f#3,c#5,c#6]@2 ~ [d5,d6] [f2,d3] ~@2 [f3,a#3,d4]@3 g2 ~@2 [g3,a#3,d4,e4]@3 f2 ~@8 [a3,d#4,f4]@2 ~ [a#2,a#3,d4,f4,a#4] ~@2 [a#2,a#3]@2 a#4 [a#4,d5]@3 [g#2,g#3,d4] ~@2 [g2,g3,d#4,a#4,d#5] ~@2 [g2,g3] d#5 d#4 [e4,a#4,c#5,e5]@3 f#2@2 ~ [f2,f3,f4,a#4,d5,f5]@3, [d#3,c4]@6 a#3@2 ~ [a#3,c4] ~@18 [a#3,g4]@9 ~@6 [g#3,d4]@2 ~@10 f#3@2 ~ f#3 ~@5, g5@2 ~ [b4,b5]@3 ~@6 [g5,a#5]@6 ~ [a#4,d5,e5,a#5]@6 [a#4,d#5,g5,a#5]@12 ~@27, ~@28 d#4@6 ~@5 [d4,f4,a#4]@2 ~@10 [d#4,a#4,d#5]@2 ~@11, ~@31 [f2,c5,f5,a5,c6]@5 ~@7 g#2 ~@11 f#2 ~@8]/2", // C Cdim D#m7 D Dm A# Em7b5 F7 …
  Y: "[f#4,f#5] [g4,c5,g5] f2@2 [g#4,g#5] [f2,d#3]@2 ~ [a#2,d3,a#4,d5] f5 ~@5 [a#0,d6,d#6,f6] ~@16, ~ d#5@2 ~@2 [a4,a5] ~@2 a#5@2 ~@22, ~@2 d#3 ~@12 [a#1,a#5,a#6]@7 ~@10", // F# C5 G# F7 A# A A#
})).s("gm_piano").gain(0.56)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~ A B C D E@4 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 AQ AR
  AS@2 AT
>`.pickRestart({
  A: "~@29 a#2 ~@2", B: "~@4 a2 ~@16 [d3,b3] ~@6 d3@2 b4 ~, ~@21 b4@2 ~@9",
  C: "d3 ~@2 [d3,g3,b3] ~@5 d4 ~@5 b3@2 ~@2 b3 ~@9 b4@3", // G
  D: "~ a5@4 ~@6 g3@3 ~@3 [g3,a3]@2 ~@5 [g3,c4]@3 [c4,f#4,c5]@3 ~@2, [a4,b4] ~@7, ~ b5@2 ~@24 f#5@5", // Gsus2 C5 Cdim Asus2
  E: "[~@28 d3 ~@2 b3@2 ~ c2 ~@9 b3 ~@9 b3 ~@2 g3 ~@5 [b3,e4,d5]@4 ~@16 e4 ~@8 a4@7 [g4,a4]@5 ~@8 a4 ~@12 d4 ~@2, ~@33 b4@2 ~@56 e5@8 e5@3 ~@26]/4", // E7 Gsus2
  F: "~@4 g2 ~ [b3,d4] d3 ~ b4 ~@3 b3 ~ b4 d3 ~@3 g3 ~@8 b4@3, ~@27 f#5@4 ~", G: "b4@3 ~@4 d3@2 ~@23, ~@6 b3@3 ~@23",
  H: "~@29 a#4 ~@2", I: "~@30 e3 ~", J: "~@11 e5 ~ f#3@3 ~@13 d#3@2 ~", K: "~ a4 ~@14 e3@3 e4 ~@8 f#5@2 ~@2",
  L: "b4 ~@9 g3 ~@5 [g3,a3] ~@2 e5@3 ~@3 d5@6 ~", M: "~@2 c5@2 ~@5 g3@5 ~@15 d3 ~@2", N: "~@9 d5@13 ~@7 [d2,e2] ~@2",
  O: "~@7 d3@3 ~@16 g3 ~@5", P: "a5@3 a4@2 [f#5,a5] ~@17 d#5 ~@8, ~@3 a5 ~@28",
  Q: "c4@2 ~@2 g4@3 ~@11 c3@2 ~@5 f#4 ~@2 d3 ~@3, ~@17 e4@6 ~@9", R: "~@3 c#6 ~@5 d#6 ~@21 a3",
  S: "~@5 f#5@2 ~@3 b3@5 b4@4 ~@8 b4@2 [b4,c5]@3", T: "~@19 a2@6 ~@7", U: "~@21 d5@5 ~@6",
  V: "~@6 c3 ~@7 g#2@2 ~@4 b2 ~@11", W: "~ d#2@5 d3 ~@4 d3 ~@5 d3 ~@6 d3@2 ~@5 [f#5,a#5], ~@23 b3@2 ~@7",
  X: "~ [f2,g2]@3 ~@16 b4 ~@8 g3 ~@2", Y: "~@3 g3 ~@8 d3 ~@11 g5 d6@6 ~", Z: "~@14 b4 ~@3 d3 ~@13",
  AA: "~@4 g5 ~@2 b3 ~@5 g3@3 ~@13 c#4 ~@2", AB: "~@3 c#4@2 ~@5 b4 ~@2 c#4@2 ~@8 d3 ~@8",
  AC: "~@22 d2 ~@2 [g3,b3,d4] g4 ~ g4@4, ~@28 a2 ~@3", AD: "~@7 a#5 ~@10 d5@2 ~@12, ~@7 b4@3 ~@6, ~@15 d3@6 ~@11",
  AE: "~@8 g2 ~@23, ~@7 c5@6 ~@19", AF: "~@5 e5 ~ c#5 ~@11 b4 ~@3 b4@4 ~@5", AG: "~@10 d#4@3 ~@19",
  AH: "~@7 a6@4 ~@4 f3@3 ~@6 c#2 ~@7", AI: "~@11 c6@3 ~@6 c4 ~@6 g6 ~@3 c4", AJ: "~@6 c4 ~@8 c6 ~@2 c4 ~@5 g3 ~@7",
  AK: "~@4 f3@2 ~@3 g#3 [a#3,b3,d5] ~@21", AL: "~@20 c4@3 ~ g2 ~@6 b5", AM: "~@10 d3 ~@21",
  AN: "~@9 [d3,d#4] ~@16 d#5@2 ~@4", AO: "~@11 f3@3 ~@9 c4 ~@6 c4@2", AP: "~ g2 ~ c4 ~@5 c4 ~@5 c4 ~@16",
  AQ: "~@11 f4@4 ~@17", AR: "~@8 g#2 ~@15 f#3@2 ~ a3 ~@2 g#3@2", AS: "[~@17 c4 ~@14, ~@30 g#5@7 ~@27]/2",
  AT: "~@15 e1 [d1,g#6]@7 ~@9", // Ddim
})).s("gm_piano").gain(0.32)

stack(piano, piano_soft)