Strudelify

Waltz in D Minor Op.54 Nr

Dvorak

KeyA minorTempo120 bpm
0:00/0:00
// Waltz in D Minor Op.54 Nr — Dvorak
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 114 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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
const piano = note(`<
  A@6 B C D E F@6 G@2 H@2 I@3 J@4 K L M@2 N@3 O@8 P@7 Q@5 R@8 S@4 T@7 U V@4 W X@3 Y Z@4 AA@4 AB AC AD@4 AE AF@2 AG@6 AH
  AI@5 ~@2
>`.pickRestart({
  A: "[~@12 f#5@2 ~@9 a3@4 ~@24 a3@6 ~ a4@2 ~@22 c5 ~ [e4,a4] ~@23 e6@64 ~@9 [a2,a5] ~@6 c6 e6 ~@2, [a2,e3]@18 c4 c5@2 a4@2 f#4@4 [a2,e3]@11 e5@2 f#5 [e4,g5]@3 f#5@14 ~@4 e5@4 c5 c6 e6@2 f#6 e5@4 [c5,e6]@4 [a4,f#5]@2 e5@2 ~@3 c5@6 a5@64 ~@36, a3@5 a3@10 f#5@17 a3@4 c4 c5@21 ~@2 c5@5 a5@7 g6@12 ~@6 f#5@14 f#6@64 ~@24, ~@3 c4@3 f#4@8 e4@3 e5@11 a3 c4@2 e4@2 f#4@13 [c4,e5]@11 ~ e4@26 ~@5 a4@4 c5@2 e6@2 f#6@3 g6@64 ~@28, ~@5 e4@3 a4 [c4,c5]@2 e5@3 g5@21 a4@22 ~@7 f#5@9 f#6@3 c6@2 a5@6 ~@4 e5@5 c6@64 ~@35]/6", // A5 A A5 Em C D C
  B: "~ [a3,c4,c6] e6 ~@4 [a2,c6] ~@12 [c6,e6]@2 ~ [a2,d6,f6] ~@6 [a3,c4,c6] e6, ~@9 e6@2 e6@7 [a3,c4]@5 ~@9, ~@5 c6 [a3,c4,c6]@4 ~@6, ~@17 [b5,d6]@5 ~@10", // Am C Dm Am Bm
  C: "c6 ~ e6 [e3,c4,c6]@5 [b5,d6] a2 ~@11 [c4,c6]@6 [a2,a5]@3 ~@2, ~@8 c6!2 ~@6, ~@17 e6@2 e6@10 ~@3", // C Bm C A
  D: "~ [a3,c4,c6] e6 ~@3 [e3,a3,c4,c6] e6 ~@4 c6@2 ~@4 [e3,a3]@5 ~@2 e6@3 [c2,c3,g5,e6,g6]@4, ~@12 a2 ~ e6@2 e6@9 ~@7, ~@15 c6@2 c6@8 c6@7, ~@17 c4@5 ~ [e3,a3,c4,b5,d6]@9", // Am A5 C Am
  E: "~ [e3,g3,c4,f5,d6,f6] ~@4 [e3,g3,c4,e5,c6,e6] ~@4 b3 [b2,f5,d6] ~ [g2,g3] ~@2 c3@7 [c2,c3]@4 ~@4, ~@12 [d5,g5]@2 ~@3 [c5,e5,g5,c6]@11 ~@4, ~@17 c4 ~@14", // C Bdim G C G5 C
  F: "[[a2,a5] ~@5 [e3,a3,c4,c6] e6 ~@4 c6 c4 e6 ~@3 [a2,c6] e6 ~@3 c4@5 ~ [c4,b5]@2 e6@2 [a2,f6] d6 ~@11 c4 ~@4 b5 [a2,d6] ~@5 c6 ~@2 c6@2 c4 ~@5 [a2,a5]@5 c6 [e3,a3,c4] e6 ~@4 e6@2 ~@2 a2 ~ e6@2 ~@2 [e3,a3,c4]@5 [e3,a3,c4,b5,d6]@3 e6@2 [g5,e6,g6]@5 f5 [e3,g3,c4] ~@4 [e3,g3,c4,c6] ~@4 [d5,f5,g5,d6]@2 [g2,g3] ~@3 c3 ~@5 [c2,c3]@5 ~@6 d3@3 ~@7 [g2,f4,b4]@5 e4@2 ~@8 [g2,g4,e5]@4 ~ [a4,f5]@2 ~@9 g2@5 [c3,d#5]@3 ~@3, ~@20 c6@2 c6@6 d6@3 c6 ~@9 [e3,c6]@2 c6@2 c6@6 ~@12 c6@11 ~@6 [e3,a3,c4,c6]@3 ~@7 e6@9 ~@8 [d6,f6]@2 ~@3 [e5,e6]@2 ~@8 [c5,e5,g5,c6]@12 ~@5 g4@15 ~@6 [g3,c4,f4,d5]@9 ~@7 [f3,g3,d4,g4,e5]@11 ~@5, ~@21 e6@10 ~@11 e6@2 e6@7 ~@9 e6@3 ~@23 c6@3 c6@2 c6@8 c6 ~ [c2,c3] ~@15 [b2,b3] ~@5 c4@12 ~@10 [f3,a4]@10 [c3,c5]@14 ~ b2@5 ~@11 f#4 ~@5]/6", // A Am Cmaj7 Dm D5 A Am C …
  G: "[~@7 g2@5 ~@10 [g2,f4,b4]@5 [c3,e4]@3 ~@6 [g2,g4,e5]@5 ~ g#2@2 ~@9 e2@5 ~ [d4,b4]@3 ~@2, ~ [g4,e5]@11 d3@4 ~ [b3,a4]@9 ~@6 [g3,c4,f4,d5]@9 [f4,d5]@2 ~@4 c4@11 ~ a2 ~@4, ~@13 g4@14 c5@15 ~@6 [e4,c5]@10 ~@6]/2", // G7 C G C B7 Gsus4 Dm C
  H: "[~@9 a2@5 ~ d3 ~@4 f4@5 [g2,f4,b4]@4 [c3,e4]@2 ~@8 [g2,g4,e5]@5 ~ b2 ~@4 d4 ~@4 g2@6 [c3,f#4,d#5]@3, ~@2 [c4,a4]@13 g4@14 c5@14 ~ [a4,f5]@2 ~@18, ~@20 [g3,a4]@9 ~@5 [f4,d5]@9 ~@21, ~@35 [g3,c4]@9 ~@6 [g3,g4,e5]@14]/2", // G7 C Cdim F Dm Gsus2 Dm C5 …
  I: "[~@9 g2@5 d3@3 ~@7 [g2,f4,b4]@5 e4@2 ~@8 g2@4 [f4,d5]@3 ~@4 a2@3 ~@4 c4@6 [d4,b4]@2 ~@31, ~@3 e5@11 g4@14 ~@6 [c4,f4,d5]@9 g#2@6 ~@14 e2@4 ~@29, ~@19 [f3,a4]@9 ~ [c3,c5]@15 ~@52, ~@19 [g4,e5]@3 ~@3 [e4,c5]@7 ~@16]/3", // G7 Dm G Dm7 F C
  J: "[~ c#6 e5 e6 ~@4 [g3,a3,e4,e5,c#6] e6 ~@12 [c#4,e4]@6 ~@3 [e5,c#6,e6]@2 [f#5,d6]@2 f#6 ~@13 e4@6 [a1,a2,d5,b5,d6] ~@14 e4@6 a5@6 [f4,f5,d6] [a3,d4,f6] ~@4 [d4,f4,f5,d6,f6] ~@10 [a3,d4]@5 ~@2 [f5,d6,f6]@2 ~ [g5,e6,g6]@3 ~@4 f6@2 ~@8 d2@2, ~@15 [e5,c#6]@16 ~@12 [e5,c#6,e6]@11 ~@7 e5@15 ~@18 d3@14 ~@11 f6@9, ~@16 e6@15 ~@31 c#6@14 ~@18 [f5,d6]@2 [f5,d6]@2 [f4,f5,d6]@6 [a3,f4,e5,c#6,e6]@4 ~@7 [a3,d4,f4]@6 a3@7, ~@22 a3@11 [a1,a2] ~@42 d2 ~@16 d2@15 ~ [d2,d3] ~@15 [d3,e5,c#6,e6]@3, ~@28 [c#4,e4,d5,b5,d6]@5 ~@31 e6@12 ~@19 f6@2 f6@9 ~@9 [f5,d6]@3 [f5,d6]@2 [d4,f4,f5,d6]@8]/4", // A7 C#m D Bm7 Dm D5 Dm C …
  K: "~@4 [d4,f4,f5] ~@2 [f5,d6]@2 ~ [a3,d4,f4,f5,d6]@6 ~ [g2,g3] ~@5 [b3,d4,g4] g5 ~@3 f#5 [g3,b3,d4,g4,g5] ~@2, ~@4 a3@6 ~@6 g4@2 ~@5 f#5@2 ~@7, ~@4 d6@2 f6@3 f6@7 ~@16", // Dm G
  L: "~@2 [f2,f3] ~@4 [f3,g#3,b3,d4,g#4,g#5] ~@3 g5 [f3,g#3,d4,g#4,g#5] ~@3 [e2,e3,a4] ~@4 [e3,a3,c4,a4] a5 ~@3 [e3,a3,c4,a4,g#5,a5] ~@3 [d#2,d#3] ~, ~@2 g#4@4 g5@2 ~@13 g#5@2 ~@7 b4@2", // F Fdim Ddim A5 Am D#
  M: "[~@3 [f#3,a3,b3] b5@2 ~ f#3 [d#3,a3,b3,b4,b5] ~@3 [e2,e3] ~@4 e5 [c#6,e6] ~@2 [g#3,b3,d4] [e3,e5] ~@3 [e2,e3] ~@4 [e3,g#3,b3,d4]@5 ~@2 [g#5,g#6]@2 ~ [b5,b6]@2 ~@6 [a5,c6]@2 ~ [a5,c6]@2 ~@6 [a1,a2,g#5,b5,g#6]@4, ~@3 [d#3,a#5]@2 ~@12 [e3,g#3,b3,d4,d#6]@2 ~@3 e6@2 ~@12 [e3,g#3,b3,d4,f#5,f#6]@4 ~ [a1,a2] ~@7 [e3,a3,c4,e4]@6 [e3,a3,c4,e4,a5,c6]@9, ~@4 b4 ~@2 a#5@2 ~@3 e5@5 ~@4 d#6@2 ~@3 [e5,e6]@14 ~ d6@23, ~@51 a6@3 a6@10]/2", // B7 E C#m G#dim E E7 G# B …
  N: "[~@4 [a5,c6]@2 a6@2 [a5,c6]@2 ~@39 a2@41 ~@4 c4@2, ~@3 [e3,a3,c4,e4]@7 a6@64 ~@22, ~@11 [a5,c6]@64 ~@21, ~@11 e4@19 e4@30 ~@36, ~@19 a2@30 ~@47]/3", // Am
  O: "[~@60 a2@21 ~@65 c#4@4 ~@2 d2 ~@12 g#6@2 f#6 ~@6 c#4@5 ~ e3@5 d6@2 ~@14 c#6@2 ~@10 d6@2 ~@2 b5@2 ~@11 c#6@3 ~@16 e5@7, ~ e4@7 c5 [c4,e5]@2 f#5@2 g5@20 f#4@13 f#5@64 ~@4 a5@37 f#6@5 f#6@5 f#6@6 ~@2 e6@16 ~@2 e6@8 f#6@5 e3@15 ~ g#3@17 ~@23, ~@3 f#4@12 f#5@16 e4@2 a3@2 a4@15 e5@63 ~@22 a6@18 ~ g#6@11 ~@24 d6@2 c#6@7 e6@3 ~@3 c#6@4 ~ c#6@6 c#6@2 ~@2 c#6@9 d6@4 ~@24, ~@4 a3@13 e5@10 a3 a2@9 c5@64 ~@58 f6@9 a2@2 ~@9 c#4@6 f#3@16 ~@5 [a3,c#4]@5 e6@5 ~@8 a#5@8 ~@2 a5@22, ~@6 a4@7 e4@8 a4 f#4 a3 e4@3 e3@11 c4 e5 f#5@3 [e4,g5]@64 ~@50 d4@6 a6@4 ~@23 d4@3 d6@6 d6@2 ~@2 d6@2 ~@2 b5@9 ~@6 b5@4 b5@6 ~@24]/8", // C A Em
  P: "[~ a2@2 ~@5 c4@6 ~@12 [a3,c4]@5 [e3,a3,c4]@5 ~ d3@2 ~@12 f6@2 ~@6 [e3,a3]@5 ~@6 d6@2 ~@13 g2@2 ~@14 g2 ~@14 b5@2 ~@7 g3@6 ~@6 [g#3,d4]@6 ~ a2@3 ~@16 a2 ~@6 [a3,f4]@6 f4@5 ~@2 b2@2 f#6@4 ~@10 g#6@3 ~@13 [a3,e4,g4]@6 [d3,d6]@3, a1@2 ~@12 [a3,c4]@12 ~@16 [f3,d4,f6]@4 f6@5 ~@14 [e3,a3]@8 ~ d6@4 ~ d6@2 f6@3 d6@2 ~ c6@4 ~@2 b5@6 d6@2 ~@3 c6@10 c6@4 c6@16 ~@31 a6@32 a6@5 ~@22, ~ a5@35 f6@5 ~@3 e6@8 ~@6 c4@6 c4@8 ~ e6@2 ~@2 c#6@6 e6@2 ~@4 d6@8 e6@4 ~@9 b5@6 ~@17 b5@11 ~@45 g#6@10 ~@25, ~@20 a1@16 d2@2 ~@5 a3@5 [f3,d4,a6]@5 [a2,e6]@20 ~@2 [a3,d4]@5 [a3,d4]@5 ~@6 [c4,e4,c6]@5 e4@4 ~@6 [d4,b5]@6 [d4,d6]@5 ~ c3@13 ~ [e2,e3]@2 ~@59 f6@9 c#3@2 ~@5 a#3@11 ~@4, ~@21 a6@17 ~ g6@10 ~ g6@3 ~@17 f3@15 ~@10 c6@5 c6@2 b5@4 ~@2 a#5@9 ~@27 a5@38 ~@9 f#6@4 f#6@6 ~@2 e6@19 ~@2]/7", // Am A5 G#dim Dm A7 D Am Dm …
  Q: "[~@9 f#6@2 ~@16 c#6@2 ~@25 a3@7 ~ g3@6 ~@51 a6@7 ~@13 a2@6 ~ d6@4 ~@8 [f3,d4,f6]@2, e6@8 f#4@3 e6@2 ~@3 d6@9 ~ d6@3 ~@6 [d4,g#4]@3 b5@4 c#6@2 b5@4 ~@13 e5@8 ~@18 a6@29 f6@7 ~@29 d6@4 d6@4, ~@3 [f#4,d6]@4 d6@5 d6@2 c#6@4 c#6@4 c#6@5 ~@5 c#6@8 [b3,g#4,d6]@6 f#3@17 ~@46 g6@11 ~@34 c#6@6, ~@5 c#6@7 ~ e3@2 ~@4 [c#4,e4,a4]@5 [c#4,e4,a4,e6]@5 f3@18 ~@7 c#4@16 ~@36 f6@5 ~ f6@2 e6@12 ~ e6@19 ~@4 e6@10, ~@20 c6@9 ~ b5@4 b5@2 a#5@11 ~ a5@15 ~@5 a5@58 ~@19 f2@4 ~@4 f3@5 ~@2]/5", // Dm Ddim D G#dim A
  R: "[e6@2 ~@14 d6@2 c6@2 g2@2 ~@13 b5@2 ~@8 [g3,e4]@6 a5@5 ~ a5@6 a3@5 ~ a3@2 c#6@2 d3@2 ~@8 [a3,a5]@5 [g2,g5]@3 ~@8 [g3,a5]@3 b5@2 c3@2 ~@7 [g3,g5]@4 ~ e5@2 ~@9 [e3,f#5]@2 g#5@2 a2@2 ~@5 e3@12 ~ a4@2 ~@4 e4@6 ~@4 d5@3 e5@2 f#5@3 d5@2 a4@5 g4@2 ~@13 c5@2 ~ d5@2 e5@2 ~@3 g4@4 e4@3 ~@11 g4@3 ~ c3@13 ~ b4@7 ~@4, ~@2 d6@2 c6@4 c6@4 c6@6 ~@4 c6@9 d4@6 c3@3 ~@17 a2 ~@5 [c#4,e4,a4,a5]@9 ~@6 [f4,f6]@10 ~@20 e6@9 ~@52 f#3@15 f3@17 ~@3 c4@9 d3@16 ~@16 b2 ~@10, ~@3 g2@2 ~ d6@8 [c4,e6]@4 ~@8 a#5@11 ~@31 b5@3 ~@8 d4@10 ~@5 [b3,d4,f4,g4,g5]@10 ~@5 [c4,e4]@8 ~ e2 ~@4 [d4,e4,e5]@9 ~ [a4,a5]@18 ~@8 a4@16 ~@14 g4@16 ~@14 e4@25 ~@12, ~@9 [e3,g3,c4]@6 [e3,g3]@4 ~@6 [f3,g3,d4]@5 d6@6 ~@37 d6@7 d6@8 ~@16 c6@6 c6@7 ~@7 [g#3,b3]@8 ~@7 [a3,c4]@12 ~@14 b4@6 ~@3 a3@2 ~@21 b4@4 ~@5 c5@7 ~@17 a4@13 ~@13, ~@10 b5@8 ~@2 b5@4 b5@4 b5@5 c6@4 ~ c6@14 ~@24 e6@13 ~@17 d6@11 ~@50 c#5@4 ~@3 d4 ~@4 d4@2 ~@14 a4@6 ~@24 f#4@5 ~@26]/8", // C A G Gsus2 G Esus2 A F …
  S: "[~@5 d#5@4 ~ e5@33 ~@23 a2 ~@13 [f3,c4]@6 ~ b2 ~@7 e6@2 ~@2 a6@3 g6 ~ c3@2 ~@4 d#4@6 ~@9 e6@2 [f4,d6], ~@2 c#5@7 ~@34 a5@44 ~ f6@4 c#4@5 ~ d4@5 ~@14 e4@11, ~@66 a6@23 ~ g6@7 ~@25 [d3,d6]@5 ~, ~@93 f6@4 f6@2 ~@5 f6 ~ e6@19 ~@3]/4", // F5 Dm D
  T: "[~ c#6@2 ~@4 e6@2 d6@2 e3 ~ d6@2 ~ c4 b5@2 c6@2 e4 ~@2 d6@2 ~ g#2 ~@3 c6@2 a#3 ~ a#5@2 b5 ~@2 d6 ~ c6@2 b5 ~@17 e5@7 a1@2 ~@14 e3@5 ~@6 [a3,c#4,f4]@5 [a3,c#4,f4]@4 ~ b2 ~@13 g#6@2 f#6@2 ~@7 [a#3,e4]@6 [a#3,e4,g4]@7 ~@2 d6@5 ~@9 f#6@2 e6 d6 e3 ~@12 d6@2 c#6 ~ g#3 ~@10 b5@3 ~ d6 ~@27, a#3@4 [b3,f4]@2 ~@9 [d#4,c6]@2 ~@9 c6@2 ~ b5@4 [c#4,b5]@5 ~ e3@5 ~ a2@23 ~@16 [a3,c#4]@5 ~ a2@2 ~@20 [a3,d4,f#4]@6 [d4,f#4,a6]@6 c#3@2 ~@33 f#4@3 ~@7 [a4,c#6]@4 c#6@6 ~@5 c#6@11 ~@29, ~@3 d6@2 f6@4 ~@2 c6@4 ~@7 e6@5 ~@12 d4@2 ~@5 a5@22 ~@3 a5@35 f#6@5 f#6@4 f#6@7 ~@31 d6@5 d6@4 ~@5 d6@10 ~@13 a#5@6 ~@28, ~@91 a6@17 ~ g#6@11 ~@36 c#6@7 ~@2 c#6@4 ~ e4@5 [c#4,e4,a4,e6]@5 ~@44, ~@113 f6@10 ~@2 e6@22 ~@4 e6@11 ~@9 c6@9 ~@2 b5@5 b5@5 ~@32]/7", // Aaug A#dim Edim Bdim Cm C#7 A D …
  U: "~@25 [a1,a5] ~@6", // A
  V: "[~@3 [c4,e5] e6 ~@5 [a3,c6] e6 ~@5 [e5,c6]@2 e6@2 ~@2 [a3,c4]@7 ~ [e3,a3]@2 [e5,c6] ~@3 [a1,a2,f5] ~@8 e6@2 ~@2 [c4,e4,e5,c6]@4 ~@2 [a1,a2,d5] d6 ~@6 e6@2 ~@3 [a3,e5]@4 ~ [a1,a2] ~@6 e6@5 ~ e6@3 ~@2 [a1,a2,e5] e6@2 ~@2 [e3,a3,c4]@5 ~@3 [e5,c6,e6]@2 ~ [c2,c3] ~@5 e3@4 ~ [e3,g3]@4 ~ [b2,b3]@2 ~@2, ~@2 c6@2 ~@13 a1@16 ~@15 e3@6 ~@9 c4@3 [e5,c6] e6@7 ~@18 c6@3 ~ e6@9 ~@3 e6@10 ~@10, ~@21 c6@2 [e5,c6]@10 ~@12 [e5,c6]@3 [e5,c6] e6@5 ~@9 [e5,c6]@3 e3@2 [c4,c6]@4 ~@8 [e3,a3,c4,e5,c6]@6 [e3,a3,c4,e5,c6]@5 ~@12 [e3,a3]@4 ~@6 [g3,c4]@5 [c4,e5,c6,e6]@5 ~@5, ~@22 e6@11 e6@2 ~@3 [d6,f6]@16 ~@2 b5@16 ~@2 e5@2 ~@19 [e5,c6]@2 [e5,c6]@8 ~@3 [g5,g6]@16 ~@4, ~@30 [c4,d5,b5,d6]@3 ~@12 [d4,f4]@8 ~@10 e4@10 ~@29 [c4,d5,b5,d6]@4 ~@7 [f5,d6,f6]@10 [d5,f5,d6]@2 ~@3]/4", // C Am C Am A5 C Dm C …
  W: "~ [c5,e5]@7 [c2,c3]@2 ~@6 [a1,a2,a5] ~@6 [a3,e6] ~@4 [a3,c4,c6] [e3,e5,e6] ~@2, ~ c6@13 ~@8 [e5,c6]@2 ~@8, ~ c3@6 ~@25, ~ c4 ~@30", // C A A5 Am E C
  X: "[~@2 a1 a2 ~ [e5,c6]@2 ~ c4@5 ~@3 [e5,c6,e6]@2 ~ a1 [a2,f5,d6] f6@3 ~@3 [d4,f4,c6] e5 ~@4 c4@4 ~ [a1,a2,d5,b5] d6 ~@6 [b3,d4,e5] e6@2 ~ e6@2 [c4,e4,e5,c6] ~@4 [a1,e5] ~@12 e6@4 [e5,c6]@2 ~ [e5,c6]@2 ~ [e3,a3,c4]@5 ~@2 [e5,c6,e6]@3 c3 [g5,e6,g6]@4 ~, ~@3 [e5,c6]@2 ~@2 [e5,e6]@7 [e3,a3]@5 ~@11 e3@7 ~@12 e3@7 ~@8 e3@5 e3@11 ~@5 [e3,a3,c4,d5,b5,d6]@7 ~@4, ~@4 e6@3 ~ [e3,a3,c6]@8 ~@14 c6@2 [e4,e5,c6]@5 ~@28 e6@4 [e5,c6]@5 [a1,a2]@17 ~@5, ~@13 [c4,d5,b5,d6]@5 ~@11 e6@2 e6@6 ~@9 c6@2 ~ [e5,c6]@3 ~@11 [e5,c6]@5 c4@11 ~@11 c2@2 ~@4, ~@76 e6@3 [e5,c6,e6]@8 ~@9]/3", // C Dm Dm7 Bm7 E7 C A5 C …
  Y: "~@2 c4@4 ~ [e3,g3,c4] ~@4 [b2,b3,d5,f5,d6]@3 ~@3 [c5,c6]@7 [c2,c3] ~@6, ~ [f5,d6,f6]@4 ~ [e5,e6]@4 ~@8 e5@14, ~@2 e3 ~@3 c6@2 ~@10 c3@5 ~@9, ~@18 c4 ~@13", // C Bdim C Dm E
  Z: "[~@12 a4@5 ~ g2 ~@4 [c3,c5]@5 [e3,g3,c4] ~@5 g2 ~@4 [d3,a4] ~@4 [b3,f4] ~@5 g2@4 ~ [c3,f#4] ~@12 g2@5 ~@11 [g2,b4]@4 c3@3 ~@2 [e3,c4,d5]@5 ~ g2 ~@4 [f4,d5]@6 ~ c4 ~@5 e2@4 ~@2 [d4,b4]@5, ~@6 g4@32 ~@5 g3@11 ~@20 d3@14 ~@16 g#2 ~@18 a2 ~@4, ~@17 b4@4 ~@7 d5@5 e5@5 f5@5 ~ e5@11 d#5@4 ~@2 e5@13 ~@5 [b3,a4]@9 c5@9 ~ e5@6 ~@24, ~@45 g4@10 ~@19 g4@29 ~@8 [e4,c5]@11 ~@6]/4", // C D5 Bdim Cdim G C Dm G …
  AA: "[~@9 a2@7 ~@11 [g2,b4]@4 ~ c3 ~@4 [c4,d5]@5 e5@5 f5@4 ~@2 f4 ~@4 g2@4 ~ d#5@4 ~@9 g2@4 ~@11 [g2,b4]@4 ~ c3@3 ~@7 [g2,e5]@5 [g#2,f4,d5]@2 ~@11 e2@4, ~@2 [c4,a4]@14 ~ g4@29 ~@17 f#4@2 ~@16 g4@29 ~@7 c4@10 ~, ~@22 a4@10 c5@9 ~@12 e5@11 ~@5 e5@11 ~@15 c5@15 ~@18, ~@37 e3@3 ~@7 d3 ~@4 g3@10 ~ c3 ~@22 [b3,a4]@9 ~@5 [e3,c4,d5]@10 ~@8 [e3,e4,c5]@10]/4", // G Csus2 G C Ddim F B7 C
  AB: "~ [a2,d4,b4]@2 ~@6 e4@2 ~@5 e2@8 ~ a1 a5 ~@5, ~ a4@2 ~, ~@9 c4@16 ~@7, ~@9 a3 ~@22", // Bm7
  AC: "~ [a3,c#4,e4,e5,c#6] e6 ~@4 [g3,c#4,e4,e5,c#6,e6] ~@5 a1 ~@5 [g3,c#6]@5 [d5,b5,d6] ~ [e5,c#6,e6] ~@2 [a1,a2,f5,d6,f6]@2 ~, ~@13 c#6@2 e6@2 e6@8 ~@7, ~@14 e5@2 [e5,c#6]@2 [c#4,e4]@7 ~@7", // A C#dim Gdim G C#m Dm C#m
  AD: "[~@5 [e5,c#6]@2 ~@3 [g3,c#4,e4,e5,c#6]@5 ~ a2@2 ~@4 e4 ~ e6@2 ~@2 [g3,e4,e5,c#6]@8 ~ a5 ~@4 d6 [d4,f4,f5] f6 ~@3 [f4,f5,d6] f6 ~@3 [d2,d3] [f5,d6] ~@4 a3@4 [a3,f4,e5,c#6,e6]@3 [f5,d6,f6] ~ [d2,d3,g5] ~@5 [d4,f4,f5,d6] ~@4 [d4,f4,f5,d6]@6 [d3,e5,c#6] ~@5 [a3,f4,f5,d6] f6@2 ~@3 d4@7 [g2,g3,g4] ~@5 [g3,d4,g4] g5 ~@3 [g3,d4,g4,f#5] g5 ~@3 [f2,f3,g#4] ~@4 [b3,d4,g#4,g5,g#5] ~@2, ~@3 e4@4 e6@2 e6@8 ~@6 [e5,c#6]@3 [e5,c#6]@2 ~@28 [f5,d6]@2 [f5,d6]@8 ~@11 [f5,d6]@2 ~@15 [f5,d6]@2 ~@14 f#5@2 ~@16, ~@8 [e5,c#6]@2 ~@5 [a1,d5,b5,d6]@2 ~@10 e6@9 ~@19 f6@2 f6@8 ~@3 [e6,g6]@2 ~@6 f6@2 f6@8 ~@9 f6@8 ~@25, ~@58 f4@5 ~@33 [f4,f5,d6]@7 ~@25, ~@59 d4@8 ~@18 [d2,e6]@2 ~@41]/4", // C#m C#dim Dm D Dm A Dm G5 …
  AE: "~ [f3,g#3,d4,g#4] g#5 ~@3 [e2,e3] ~@4 [e3,a3,c4,a4] ~@3 [a3,c4,a4] a5@2 ~@2 [d#2,d#3] ~@3 [d#3,f#3,a3,b3,b4] b5 ~@3 [d#3,f#3,a3,b3,b4] b5@2, ~ g5@2 ~@3 a4@4 g#5@2 ~@3 g#5@2 ~@3 b4@2 ~@2 a#5@2 ~@2 a#5@2 ~@2, ~@11 a5@2 ~@3 e3 ~@15", // Ddim E Am D# B7
  AF: "[~ e5 [e2,e3] ~@5 e6@2 ~@3 [e3,e6]@5 e3@5 ~ [e3,g#3,b3]@5 ~@4 [g#5,g#6]@4 [a1,a2] ~@6 [a5,c6]@3 ~ [a5,c6]@2 ~ [a5,c6]@2 ~@2 a6 ~ [g#5,b5,g#6]@7, ~@7 [e3,g#3,b3,d4,e5,d#6]@3 ~@2 d#6@24 ~ [b5,d6]@17 [a5,c6]@2 ~@8, ~@12 [g#3,b3,d4]@11 d4@6 [e3,g#3,b3,d4,f#5,f#6]@7 ~ b6@2 ~@8 a6@3 a6@3 a6@2 ~@9, ~@12 e5@6 [e2,e5,e6]@19 ~@7 [e3,a3,c4]@7 [e3,a3,c4]@5 ~ [a1,a2] ~@6]/2", // E G# A Am G#m E7 Bm Am …
  AG: "[[a5,c6]@2 ~@15 [a1,a2] ~@68 f#5@2 g5 ~@17 c4@2 ~@5 c5@2 e5 ~@2 e5@2 c5 ~ a5@2 ~@7 c4 ~ a3@2 ~@2 e4@2 a3 ~@3 e4@2 f#4 ~@2 a4 ~ c5 ~ e5@2 f#5@2 ~@2 f#5@2 ~ e5 ~@7 e4@2 e3@3 a3 a2 ~@12 a3@3 e4, [e3,a3,c4]@8 [a3,c4]@9 ~@50 a2@39 ~@6 [a2,e3]@12 ~@3 a4 [a2,e3]@12 ~@6 e3@5 ~ e3@5 e3@14 c4@2 ~@19, ~@2 a6@4 a6@4 a6@4 a6@58 c4@4 e3 f#4@3 a4@2 [e3,c5]@2 e5@4 ~@2 f#5@5 a4@2 f#4 d3@2 c4 e3@4 ~@6 a4@10 ~@4 d5@5 e4@2 ~@3 c4@4 ~@2 c4@5 ~@19 a4@7 ~@20, ~@4 [a5,c6]@4 [a5,c6]@4 [a5,c6]@5 ~ [a5,c6]@57 e4@13 ~@4 e5@11 a3@2 ~@3 e4@5 ~@4 a5@4 ~@3 f5@7 ~@26 g5@2 ~@8 f#4@5 ~@20, ~@68 a3@20 e3@6 c5@10 f#3@9 ~@9 d3@9 ~@8 a2@8 ~@21 d3@4 ~@2 f#3@7 e3@10 ~]/6", // Am A Am A5 C Am
  AH: "~ b3 ~ d4@2 f4 ~ a4 e4 ~ c4 ~ a3 ~ c4@2 e4 [a2,f3]@4 f4@2 ~@2 e4 ~ c4 ~ a3@3, d3@5 ~@2 [a2,e3]@9 ~@7 e3@9", // Dm A5
  AI: "[e4 ~@6 f4@2 ~@62 a5@64 ~@25, ~@21 e4@64 ~@75, ~@31 e5@16 e6@16 c5@64 ~@33, ~@35 a5@10 f#6@23 f#5@64 ~@28, ~@37 c6@6 a2@11 f#5@4 c5@3 a4@64 ~@35]/5",
})).s("gm_piano").gain(0.26)

// chords · piano · soft notes
const piano_soft = note(`<
  A B@5 C D E ~ F G@2 ~ H I J K L M N O P Q R@2 S T U V ~ W@7 X@4 Y@2 Z AA@4 AB AC AD@5 ~@2 AE@6 AF@2 AG AH@2 AI AJ@4 AK
  ~@3 AL AM AN@2 ~ AO AP@3 AQ AR AS AT ~ AU AV@2 AW AX AY ~@2 AZ@3 BA ~ BB BC@8
>`.pickRestart({
  A: "~@26 c4@3 ~@3, ~@25 e4@6 ~",
  B: "[~@30 a4@17 ~@74 e4@24 ~@11 [e3,a3,c4] ~@3, ~@26 a3@26 a3@34 a3@8 e4@26 c5@25 ~@15, ~@67 e5@64 ~@29, ~@75 c5@18 c5@15 a3@37 ~@15, ~@81 a4@64 ~@15]/5", // Am
  C: "~@18 e3@4 ~@8 e3 ~", D: "~@3 a3@6 ~@7 e3@5 ~ e3@8 ~@2, ~@15 [a3,c4]@6 a3@8 ~@3", E: "~ e3 ~@30",
  F: "~@13 [e3,a3] ~@10 a3@5 a3@2 ~, ~@23 e3@8 ~", // A5
  G: "[~@10 a3@3 ~ [e3,a3] ~@11 [e3,a3,c4] ~@5 e3@10 ~@22, ~@31 e6@3 ~@30, ~@32 a3 ~@31]/2", H: "~@17 [g3,b3]@10 ~@5",
  I: "~@4 a#2@5 ~@23", J: "~ [e3,c4]@11 ~@6 [f3,g3]@9 ~@5", K: "~@15 e3@11 ~@6", L: "~@3 a3@2 ~@15 b3@9 ~@3, ~ e4 ~@14",
  M: "~@9 f3@7", N: "~@4 g4@10 ~@5 [g3,b3]@9 ~@4, ~@3 c4@2 ~@27, ~@2 e3 ~@13, ~@4 g3 ~@27",
  O: "~ g3@5 ~@7 e3@3, ~@25 a3@6 ~", P: "~@6 a2@3 ~@6 [e3,a3]@8 [a2,a4] [a1,a5] ~@7, ~@3 [c4,a4]@8 ~@5",
  Q: "~@2 [g3,a3,c#4,e4] ~@5 c#4 ~@13 g3@10, ~@15 a2@17", // A7
  R: "[~@10 [g3,a3,e4]@7 [g3,a3,c#4]@6 ~@8 [a3,c#4,e4]@7 [g3,a3,c#4]@6 ~@12 a3 ~@7, ~@9 c#4@7 ~@14 g3@7 ~@27]/2", // A7 A A7
  S: "~@2 d4 ~@5", T: "~@23 g3 ~@8", U: "~@17 g#5 ~@14", V: "~@17 a#3@2 ~@13",
  W: "[~@11 [e3,a3,c4]@20 [e3,a3,c4]@29 ~ a3@29 ~ a3@3 ~@28 c4@3 c4@9 ~@16 a3@15 ~@22 [e3,a3]@23 ~ a2@2 ~@6 [e3,a3]@5, ~@60 [e3,c4,e4]@30 a2@33 ~@55 a2@32 ~@14, ~@91 e3@32 ~@42 [e3,a3,c4]@21 ~@38, ~@114 c4@7 ~@24 c4@19 ~@22 c4@23 ~@9 c#4@6, ~@115 c5@18 ~@91]/7", // Am A5 C Am
  X: "[~ e3@4 ~@8 [e3,a3]@5 [e3,a3]@4 ~@13 [f#3,d4]@5 ~@7 a3@5 a3@5 ~@5 a3@6 [a3,d4]@5 ~@10 [a3,c#4]@5 ~@7 [d4,f4]@5 ~ [d4,f4]@3 b5 ~ a3@2 ~@6 [e4,a4,c#5]@7 [e4,a4,c#5]@7, [a3,c#4]@4 ~@2 a2@16 ~@8 a3@9 ~@55 b4@6 b4@5 ~@23, ~@12 c#4@6 ~@11 f#3@6 ~@11 e3@5 ~@77]/4", // A5 D D5 A Dm A
  Y: "[~@8 [e3,a3]@6 ~@13 e3@4 ~@17 a3@4 ~@12, ~@7 e3@6 ~@19, ~@5 a2@4 ~@7]/2", Z: "~@27 g3@5",
  AA: "[~ c4@4 ~@6 [f3,g3]@5 [f3,g3]@5 ~@8 [c4,e4]@6 ~@6 b3@6 ~@9 [e3,a3,c#4,e4]@6 [e3,a3,c#4,e4]@5 ~@7 c#4@6 ~ c#4@5 ~@9 [a3,d4,f#4]@5 ~ a3@4 f#6 ~@8 e4@5 ~@9, g3@4 ~@76 a3@5 ~@15 [d4,f#4]@6 ~@7 g4@6 ~@9]/4", // Fsus2 C A D
  AB: "~@4 [a3,b3]@5 [a3,b3]@4 ~@19", AC: "~@3 b3@5 ~ d4@6 ~@17",
  AD: "[~@10 [a3,d4]@6 [a3,d4]@6 ~@6 [a3,d4]@6 ~@13 [f3,a3,d4]@6 ~@6 f6@3 ~@7 [e3,a3,c4]@12 ~@8 [a3,d4]@5 a3@4 ~@29 [f3,g3]@5 ~@9 c4@6 ~@13, ~@5 f#3@17 f3@24 ~@8 [f3,a3]@9 ~@97, ~@34 [a3,d4]@13 ~@6 d4@9 ~@98, ~@41 b2@21 c3@19 ~@79, ~@57 g6@6 ~@97]/5", // D5 Dm Am D5 Fsus2 F D5
  AE: "[~@31 [a3,c#4]@6 [a3,c#4,e4]@5 ~@10 a3@5 ~@10 g3@5 ~@9 g3@4 ~@13 e3@4 ~@11 e3@3 ~@8 [f#3,a3,b3,d#4]@6 ~ b3@6 ~ e2@3 ~@23 g#5@6 ~ a2@3 ~@6 [a3,c4]@7 ~ a3@4, ~@25 g3@17 ~@20 d4@10 e3@14 ~@6 b3@10 ~@5 a3@9 ~@8 b4@13 ~@22 f#5@11 ~@17 [e3,c4]@5, ~@130 [f#3,a3,d#4]@7 ~@12 [e3,g#3,b3,d4]@22 ~@9 d#3@12]/6", // A B7 Am C D#dim E7
  AF: "[~@10 [e3,a3]@7 a3 ~@11 [f3,a3]@5 [f3,a3]@5 ~@7 [a3,c4]@5 ~@2 [a3,c4]@11, ~@9 c4@7 ~@48]/2", // A5 F Am
  AG: "d4 ~@4 d4 ~@10 a3 ~@4 a3@5 ~@6, ~@21 c4 ~@10",
  AH: "[~ e3@5 ~ b3 ~@14 [e3,a3]@15 ~ a2 ~@7 [e3,a3,c#4]@6 ~@12, ~@21 c4@15 ~@28]/2", AI: "~@23 a3@5 ~@4",
  AJ: "[~@3 g4@5 ~@19 b3@5 [a3,b3]@3 ~@7 c#4@5 ~@13 [d4,f4]@8 b4@2 ~@3 b5@4 ~@10 e4@12 [c#4,e4,a4]@22 a2 ~@6, ~@19 b2@16 ~@33 d4 ~@2 c#6@6 a5@4 ~@5 b4@16 ~@26, ~@26 [a3,f#4]@5 ~@28 c#5@8 ~ f4@10 a3@23 ~@27, ~@87 d4@15 ~@26]/4", // Asus2 Dm A D
  AK: "~@3 [e3,a3] ~@6 [e3,c4,e5] ~@10 e5@2 e3@7 ~@2", AL: "~@23 [e3,c4] ~@8", AM: "~@15 e5",
  AN: "[~@26 a2 ~@5 a3@5 a3@11 ~@16, ~@31 c4@5 ~@28]/2", AO: "~@6 d3@3 ~@3 [f3,b3] g3 ~@18",
  AP: "[~@29 [c4,e4] g4@12 ~@5 [f3,g3]@9 ~@6 g3@4 ~@13 e3@2 ~@15, ~@29 g3@13 ~@54]/3", // C Fsus2
  AQ: "~@2 e4 a3 ~@13 d3@3 ~@2 [f3,g3,b3]@10", AR: "~@10 g2 ~@4 a4@3 ~@3 [b3,g4]@9 ~@2",
  AS: "~@6 [c4,g4]@11 d3@3 ~@2 [f3,g3]@9 ~, ~@5 [g3,e4]@11 ~@16", AT: "~@5 g3@9 ~@18",
  AU: "~@7 a3 ~@11 a3@5 g3 ~@7, ~@18 e5@7 ~@7",
  AV: "[~@4 a3@13 ~@5 [a3,c#4] ~@5 [a3,c#4]@7 ~@2 [d2,d3] ~@5 a3 ~@4 [a3,d4] ~@15, ~@3 c#4@7 ~@54, ~@2 g3@3 ~@6 g3@3 ~@18]/2", // A D D5
  AW: "~@10 a3@5 ~ a3@7 ~@4 d4 ~@4", AX: "~ a3@6 ~@12 b3 ~@9 [f3,g#3] ~@2", AY: "~@2 b3 ~@8 b4 ~@8 g#5 ~@11",
  AZ: "[~@8 e3@8 ~@35 e3@25 ~@20, ~@26 [a3,c4]@24 ~ c4@21 ~@24, ~@27 e3@24 a3@17 ~@28, ~@39 a2@28 ~@29]/3", // Am
  BA: "~@3 e4@4 ~@25", BB: "~@3 c5@8 ~@5 c4@3 e4 ~@2 a4@2 e4 ~ c4@3 c4@2 ~, ~@21 a2@10 ~",
  BC: "[~ a2@5 ~@11 b3 ~ d4@4 a2@5 ~@3 c4@2 ~@2 a2@2 d4@4 a4 ~ e4@2 ~@28 f#6@3 ~@23 [e3,a3]@7 ~@88 [e3,a3,c4]@60 ~@2, ~@23 a4 ~@10 d3@7 e3@16 a2@12 [e3,a3,c4]@3 e6@4 g6@32 e6@8 g6@33 c4@25 a1@64 ~@18, ~@35 b3 ~@5 a2@16 a4@30 [e3,a3,c4] e5@5 a2@13 [e3,a3,c4]@6 f#6@2 a2@7 f#6@29 [e3,a3]@44 ~@62, ~@45 c4@6 ~ c4@8 c5@24 a5@14 e5@26 [e3,a3,c4]@3 e6@83 ~@46, ~@48 a3@16 [e3,a3,c4] f#5@16 [e3,a3,c4] c6@16 c4@7 ~ c6@25 c4 [e3,a3]@7 a2@64 ~@53]/8", // A5 Am A5 Am A5
})).s("gm_piano").gain(0.15)

stack(piano, piano_soft)

More by Dvorak