Strudelify

Keyboard Sonata in G major, Hob. XVI:8: IV. Allegro

Haydn

KeyE majorTempo120 bpm
0:00/0:00
// Keyboard Sonata in G major, Hob. XVI:8: IV. Allegro — Haydn
// 120 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 167 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 · "A.PIANO 1"
const piano = note(`<
  A@2 B@8 C@7 D@3 E@2 F@8 ~@2 G@4 H@2 I@8 ~@3 J K L@7 M@2 N@6 O@2 ~@2 P Q@6 R@2 S ~ T U@4 V W X Y@3 Z@2 AA@5 AB@4 AC@8
  AD ~ AE@2 AF@8 AG@6 AH@2 ~ AI@8 ~@2 AJ@7 AK@2 AL@2 AM@8 ~@6
>`.pickRestart({
  A: "[~@13 f#4@15 ~@4, e4@7 ~@9, ~ e3@63, ~@22 d#4@7 ~@35]/2",
  B: "[~@43 c#5@32 ~@50 f#3@2 ~@24 e3@2 ~@15 [g#5,b5]@2 ~@13 [e5,g#5]@3 ~@25 a5@4 f#5@18 ~@7 e5@4 ~@2 [b4,d#5] ~@3 a4@2 ~@2 g#4@2, ~@14 b3@31 ~@50 e3@5 g#4@21 ~@7 b4@26 e3@16 [g#5,b5]@4 ~@12 [e5,g#5]@31 ~@33 c#5 ~@3 b4 ~, ~@18 b4@27 ~@53 b3@3 b4@2 e5@26 d#5@20 ~@4 [a2,c#3]@19 [f#5,a5]@16 ~@68, ~@39 a4@7 ~@50 g#3@24 ~@5 [a3,d#5]@3 f#3 b3 [f#5,a5]@25 a3@19 ~@82, ~@99 e4@22 ~@6 d#3@17 ~@7 [b3,e5,g#5]@4 c#5@2 [a5,c#6]@17 ~@82]/8", // G#m E B G#m E A F#m Adim …
  C: "[~ f#4 a4 ~@2 [e4,g#4] ~@3 d#4 ~@27 d#4@4 f#4@27 ~@89 g#4@16 ~@4 g#4@2 ~ e5@4 ~@2 e5@2 ~ e5@2 f#5@3 g#5@4 e5@4 c#5@5 b4@8 ~@9, ~@15 e4@26 ~@47 b4@22 c5@22 a4 c#5@19 f#4 c3@22 e3@4 c#5@3 ~@2 f#5@4 d#5@4 ~@32, ~@107 a4@5 ~@16 f#4@2 [f#3,c#4]@24 d#3@22 g#3@19 ~@29, ~@129 c#3@25 g#3@19 g#4 c#3@22 ~@28, ~@131 a3@25 [c4,f#4,d#5]@20 e4 c#4@18 ~@29]/7", // E F#5 Cdim
  D: "[~@13 e4@42 ~@16 d#3@4 f#3@4 a3@4 g#3@5 b3@8, ~@55 b1@19 ~@22, ~@30 d#2@7 ~@11, ~@63 f#2@11 ~@22, ~@67 b2@7 ~@22]/3",
  E: "[~@31 d#4@4 f#4@29, ~@11 e4@25 ~@28]/2",
  F: "[~@46 c#5@31 ~@19 b4@15 ~@28 e3@2 ~@13 b5@3 ~@11 [e5,g#5]@3 ~@25 a5@4 [d#5,f#5]@19 ~@3 e5@5 ~ b4 ~@2 a4@2 ~@2 b4@2 ~ a4@2 ~@2 g#4 e4 ~@2 d#4 ~@9, ~@21 b4@27 ~@46 [b3,e4,g#4]@17 ~@5 a3@3 f#5@22 a2@17 [f#5,a5]@18 ~@45 c#5@6 d#5@2 ~@2 c#5 ~@3 g#4 ~@2 f#4 ~@17, ~@43 [f#3,a4]@6 ~@42 e3@19 ~@5 [f#3,d#5]@2 d#3@2 d#5@18 ~@2 [b3,e5,g#5]@4 [e3,a3]@17 ~@12 [b2,e5]@32 ~@52, ~@96 e5@22 b4@24 c#3@12 g#5@5 ~@12 g#5@29 ~@56, ~@118 f#3 b3 a5@22 c#5@2 [a5,c#6]@13 b5@2 ~@97]/8", // E D#m E F#m D#m E A5 E5 …
  G: "[~@69 f#4@5 g#4@17 ~@4 e4@2 ~@8 f#5@2 ~ d#5@2 e5@3 f#5@4 g#5@5 e5@4 ~@2, ~@6 b4@24 ~@17 c#3@27 [c3,d#3,g#3,c4,f#4,d#5]@20 g#3@3 g#4@2 c#5@3 e5@5 e5@2 ~@19, ~@24 a4@6 ~@16 f#4@2 [f#3,c#4]@43 g#4 c#3@19 ~@17, ~@27 c5@22 f#4 [a4,c#5]@45 c#4@15 ~@18, ~@49 a3@44 e3@17 ~@18]/4", // G#7 F#5 A
  H: "[~@2 b4@7 ~@22 c#5@33]/2",
  I: "[~@46 a4@6 ~@19 b4@3 b4@2 ~@19 b4@2 ~@22 b4@4 [g3,b3]@19 b3@3 ~ b3@18 [g3,b3]@3 ~@18 d5@3 ~@18 c5@2 ~@18 b4@3 ~@19 a#4@4 ~@4, ~@20 b2@15 b3@19 ~@43 b4@7 ~@19 [f4,a5]@25 ~@19 [c5,e5]@24 ~@17 c5@23 ~@25, ~@24 d#3@14 d#4@4 f#4@10 c5@24 f#5@24 g5@26 ~@20 d4@22 c4@23 ~@65, ~@27 f#3@26 ~@45 b3@25 [d4,b4,d5,f5]@22 [g4,b4,d5,f5]@24 ~@16 [d4,f4]@6 ~@18 f4@22 ~@25, ~@31 a3@22 ~@45 e4@28 ~@16 g3@6 ~@19 [e4,g4]@21 [e4,g4,d5]@23 ~@18 b4@27]/8", // G F C Bdim G7 Dm Em Em7
  J: "~@26 c#4 ~@2 d#4 ~@2", K: "e4 ~ f#4 ~@2 g#4 ~@2 a4 ~ a#4 ~@2 b4 ~@6 b4 ~@4 b4 ~@5 b4, ~@7 e4@9",
  L: "[~@4 b4 ~@4 b4 ~@2 b4@2 ~ b4@2 ~ b4@2 b4@2 b4@2 ~@113 a#5@4 ~ e4@33 ~@14 a5@19 g#5@4 c#6@11 ~, ~ [f#3,d#4]@4 [a3,f#4]@19 ~ f#4@11 c#5@2 d#5@2 e5 f#5 g#5 a5 b5 c#6 d#6@4 ~@19 [g#3,f4,d5,d6]@26 ~@18 e4@3 e5@2 g#5 b5@22 [c#4,g4,e6]@34 ~@49, ~@25 b4@4 c#5@6 b4@16 ~@15 [d#5,d#6]@7 ~@19 [a3,c#4]@23 b4@29 ~@80, ~@26 [b3,d#4]@22 [e4,e5,e6]@25 ~@18 [f#4,c#5,c#6]@23 g#4@30 ~@80, ~@31 b4@2 a#4@15 [g#3,b3]@22 b3@26 ~@17 b3@31 ~@80]/7", // D#m D Ddim C#dim D# A B E …
  M: "[~@27 d#5@27 ~@10]/2",
  N: "[~@49 b4@2 b4@3 ~@16 b4@2 ~@18 b4@4 [d4,b4,f5]@19 b3@3 b3@16 [g3,b3]@4 ~@35 c5@2 ~@15 b4@3 ~, ~@31 c5@22 ~ f#5@21 g5@22 ~@19 [d4,g4,b4,d5,f5]@22 ~@15 d4@4 ~@16 c5@19, ~@72 e4@22 [g3,b3]@18 ~ g3@6 ~@17 [c4,e4,g4,c5,e5]@19 [g4,d5]@19 f4@18, ~@72 b4@5 ~@17 [f4,d5,a5]@24 ~@34 [f4,d5]@4 e4@20 ~@16]/6", // Bdim G G7 G C G5 Dm
  O: "[~@16 a#4@4 a#4@39 ~@5, b4@23 ~@41]/2", P: "~@18 c#4 ~@2 d#4 ~@10",
  Q: "[~@3 a#4 ~@2 b4 ~@5 b4@2 ~@3 b4 ~@15 b4 ~@2 b4@2 b4@2 ~ b4@2 ~ b4@2 b4@3 ~@107 [c#4,e4]@28 ~@8, ~@6 e4@19 d#4@4 a3@20 [a3,d#4,f#4]@26 ~@17 b3@25 ~@13 [b3,e4]@4 g#5 b5@17 a#5@3 [g4,e6]@28 ~@9, ~@23 b4@3 f#3@4 ~@19 b3@10 c#5 d#5@2 e5 f#5 g#5 a5 b5 c#6@2 d#6@6 ~@13 [d#5,d#6]@7 ~@36 g#4@27 ~@34, ~@28 f#4@20 ~@4 c#5@5 b4@13 [e4,e5,e6]@25 ~@17 [a3,c#4,f#4,c#5,c#6]@21 e5@25 ~@34, ~@28 b4@2 ~@19 b4@5 b4 a#4@15 [g#3,b3]@21 [g#3,f4,d5,d6]@26 ~@15 b4@26 ~@34]/6", // C#m D#dim E5 C D# E F#m G#m …
  R: "[~@23 g#5@4 c#6@11 ~@8 d#5@10 ~@8, ~@6 [f#5,a5]@21 ~@37]/2", S: "~@3 d#5@29",
  T: "~@29 [d#2,d#3]@3, ~@9 [e2,e3]@23", // D# E
  U: "[~@28 [b2,b3]@9 ~@2 c3@21 ~@32 d6@2 e6@9 ~@10 [c6,e6]@3 ~ g4@8 ~@3, [f#2,f#3]@12 ~@4 f#3@4 ~@19 c4@25 ~@2 e3@5 g3@2 a3 b3 c4 d4 e4 f#4@2 g4 a4 b4 c5 d5 e5 f#5 g5@2 a5@2 c6@2 ~@35, ~@8 [e2,e3]@4 ~@5 f#2@4 ~@5 [g2,g3]@4 ~@30 [f#2,a2,c3]@40 ~@28, ~@9 [g2,g3]@9 [a2,a3]@12 ~@7 [a2,a3]@5 ~@18 d3@30 b5@2 ~@24 [b5,d6]@9 ~@3, ~@69 f#3@23 ~@36]/4", // B C F# E G F#dim G A …
  V: "~@8 c6@2 ~ [b5,d6]@5 ~@12 [b4,d5] ~ b5 ~, ~@14 d6 ~", // Bm
  W: "~ [a4,c5] ~@4 [g4,b4] ~@2 e5 ~ [f#4,a4] ~@4 [g4,g5] e4 e5 ~ c5 ~ b4@5 ~@5, g5 ~@2 b5 ~@12, ~ f#5@2 ~@5 g5@2 ~ d5@2 ~@19", // Am G F#m G
  X: "~@6 [c4,e4] ~@5 g4@4 ~@13 [b3,d4,d5] b4 ~", // C Bm
  Y: "[g#4@2 ~ [c4,e4]@9 [d4,f#4,b4]@2 [e4,g4]@10 g4@2 ~@22 [c6,c#6]@2 d6@3 ~@20 b3 ~ c4@3 ~@9 [d3,c4,f#4]@5 ~@4, ~@2 a4@12 c5@12 b4@39 [f3,f4] f#4 f#3 [g3,g4] [g#3,g#4] [a3,a4] a#4@2 b4@2 ~@21, ~@24 [e4,a#4,c#5]@3 g4@37 [e3,e4]@8 a#3@2 c5@3 ~@19, ~@26 d5@10 d#5@2 e5 f5@2 f#5 g5 g#5 a5 a#5 b5@4 ~@13 [d#3,d#4]@11 ~@22, ~@27 d4@34 [d3,d4]@13 ~@22]/3", // C Bm Em C#maj7 D7 F G G# …
  Z: "[~@25 g2@3 ~@5 c#3@2 d#3@2 e3 ~@2 f#3@2 ~ g3@15 ~@6, ~ a4@14 ~, ~@29 a2@7 ~@28, ~@30 b2@5 ~@29, ~@31 c3@4 ~@4 f3@2 ~@23]/2",
  AA: "[~@31 d5@6 d5@6 ~@2 a4@3 d5@5 ~ d5@2 ~@15 d5@4 ~@24 b4@2 ~@13 d#5@2 ~@6 b4 ~ b5 e5@2 [d#4,b4]@2 ~@4 [d#4,b4] ~@2 f#5@2 [e4,b4]@2 ~@4 b4@2 ~ g5@2 f#5@6 [b3,a4]@2 ~ f#5@2, ~@43 d5@5 c5@27 ~@19 d#5@20 ~@2 e5@9 ~@2 f#5@6 ~@5 g5@6 ~@16, ~@45 f#4@8 ~@91 e4 ~@4 a4@3 ~@8, ~@48 a4@23 ~@42 b5@2 ~@20 b5@2 ~@9 b5@2 ~@9 b5@3]/5", // G#m E5 B7
  AB: "[~@10 e6@2 ~ g#4@3 ~@5 d6@2 ~ a4@3 ~@5 c6@2 ~ [c4,b4]@3 ~@4 b5@2 ~@2 [c4,c5]@4 ~@4 [g5,a#5]@2 ~@3 c4@3 ~@5 e5@3 ~ e5@12 d#5@2 f#5@15 b4@17 ~@10 [c3,c4], ~ [g4,f#5]@3 ~@3 g4@5 e6@2 ~@5 g#4@4 d6@2 ~@5 [c4,a4]@4 c6@3 ~@3 [c4,b4]@5 b5@3 ~@5 c4@4 a#5@14 [b3,b5]@46 ~@11, ~@2 e5@11 e5@11 e5@11 e5@11 e5@10 g5@2 f#5@13 b4@27 ~@30, ~@46 a#5@6 c5@6 c5@3 ~@3 [c4,c5]@9 ~@55]/4", // Cmaj7 C Gm C Gmaj7 F Cmaj7 B …
  AC: "[~@2 b3@8 ~ [a2,a3] ~@2 g2@6 ~@5 f#2@2 ~@64 [a2,a3]@3 ~@52 [a#2,a#3]@9 [c#2,c#3]@3 ~@42 [a2,a3]@9 ~@36 [f#3,f#4]@3 [a3,a4]@3 [c4,c5]@3 ~ d#4, ~ [c3,c4]@2 ~@9 a3@2 ~@10 f#3@2 ~@22 [d#2,d#3]@4 ~@8 e2@5 ~@6 [a2,a3]@14 ~@73 [a2,a3]@26 ~@27 [a2,a3]@14 ~ a2@6 d#3@2 f#3@3 [a2,a3]@6 [d#3,d#4]@6 ~@5 d#5@2, ~@2 b2@4 ~@7 g3@14 ~@23 [f#2,f#3]@14 ~@6 [f#2,f#3]@5 ~@7 [b2,b3]@12 [c3,c4]@26 ~@15 [b2,b3]@12 ~@85 d#2@17 ~@7, ~@13 a2@2 ~@12 [e2,e3]@25 ~@7 e3@5 ~@16 g3@5 ~@140 a3@9 f#2@6 [c3,c4]@9 ~@7, ~@61 [g2,g3]@14 ~@6 g2@5 ~@28 [d#2,d#3]@25 ~@5 [d2,d3]@4 ~@31 [c2,c3]@25 ~@5 [b1,b2]@4 ~@9 [b1,b2]@7 [b1,b2]@20 ~@7]/8", // A A# C# A F# A C D# …
  AD: "~@2 [f#4,f#5]@4 a5@3 ~@2 c6@4 ~@17", AE: "[~@11 e4@28 ~@25]/2",
  AF: "[~@47 c#5@29 ~@38 f#3@2 ~@34 [g#5,b5]@2 ~@10 [e5,g#5]@4 ~@2 f#5@2 g#5@6 a5@6 ~ a#5@12 b5@4 ~@20 [c#5,e5] ~@4 d#5@2 ~@2 [a4,c#5] ~@2 [g#4,b4] ~@2 b4 [f#4,a4]@2 ~ g#4 e4 ~@16, ~@18 b3@25 a4@8 ~@40 b3@2 g#4@24 b4@19 [e5,g#5]@3 c#5 a3@13 f#5@15 ~@88, ~@20 e4@29 ~@40 e3@7 e5@21 f#3 b3 a5@17 e3 a2@4 [a5,c#6]@14 ~@11 a5@3 ~@87, ~@21 g#4@28 ~@41 g#3@5 b4@16 ~@5 d#3@15 ~@4 b3@3 c#3@14 [g#5,b5]@3 ~@11 e5@34 ~@23 [c#5,e5]@3 ~@30, ~@24 b4@25 ~@43 e4@19 ~@3 [a3,d#5]@4 [d#5,f#5]@21 e3@15 a5@12 ~ g#5@2 ~@87]/8", // G#m E C#m A G#m F#m E A …
  AG: "[~@12 f4@4 ~@30 f#4@3 g#4@3 ~@3 d#4@4 ~@19 [g#3,b4]@4 ~@18 f#4@2 ~@20 f#4@3 ~ g#4@18 ~@25 c#5@2 [f#3,d#4,b4]@6 ~@6 [c#4,a#4]@9, ~@9 e4@7 f#4@23 ~@4 d#4@5 ~@4 a4@7 b4@16 [g3,a#4]@7 a3@21 [c#3,f#3,a3,c#5]@28 ~@13 g#4@3 e3@5 e4 g#4@2 c#5 e5@2 g#5 c#6@2 e6@2 c#6@8 ~@21, ~@17 e3@43 e3@23 ~@19 f#4@6 ~@17 [f#4,d#5]@24 g#3@16 g#5@2 e5@4 ~@21, ~@71 [f#3,a4]@11 [d#3,c5]@24 ~@20 [c3,d#3,g#3,c4]@24 c#4@20 ~@22, ~@73 c#3@12 ~@11]/6", // G#m B F# Gm F#m D#m F#m Cm …
  AH: "[~@58 d#2@3 ~@3, ~@5 b2@49 b2@2 f#2@4 ~@4, ~@5 [e4,a#4,c#5]@32 ~@3 d#3@10 f#3@10 ~@4, ~@17 b4@13 ~@2, ~@44 f#3@3 b3@13 ~@4]/2", // A#dim
  AI: "[~@20 b4@2 b4@3 ~@17 b4@2 b4@4 ~@19 b4@5 [g3,b3]@19 b3@3 ~ b3@18 ~@21 [f4,d5]@3 ~@65 e4@27 ~@27, c5@24 ~ f#5@23 g5@33 ~@10 g3@4 d5@24 ~@36 c5@4 c5@19 ~@17 a#4@6 a#4@37 ~@18, ~@72 [f4,a5]@32 ~@9 [g3,b3]@6 ~@19 e4@23 ~@17 e4@24 ~@54, ~@72 [d4,b4,d5,f5]@22 [d4,b4,f5]@25 ~@18 [g4,d5]@22 ~@14 b4@5 b4@34 ~@44, ~@94 g4@21 ~ [c4,e4,g4,c5,e5]@23 ~@17 c6@6 ~@13 b5@7 ~@16 a#5@14 ~@44]/8", // G Dm F G Bdim G5 C
  AJ: "[~@5 c#4 ~ d#4 ~@2 e4 ~@2 f#4 ~@2 g#4 ~@4 a#4 ~@8 b4 ~@5 b4 ~@15 b4 ~@2 b4 ~@2 b4 ~ b4@2 ~ b4@2 b4@3 ~@6 b4@2 ~@16 c#6@4 ~@115 c#3@3 a#2@6 ~@4, ~@25 e4@18 d#4@4 b4@2 ~@19 b4@4 c#5@5 b4@2 c#5@2 d#5@5 a5 b5 c#6 d#6@2 [e4,e5,e6]@25 ~@37 e4@4 e5@20 a#5@3 e6@14 e5@3 c#5@5 e4@2 c#4@2 a#3@2 g3 e3@6 ~@9, ~@44 f#3@4 [a3,f#4]@20 [a3,f#4]@14 e5 f#5@2 g#5@6 [g#3,b3]@22 [g#3,b3,f4,d5,d6]@29 ~@10 b3@28 c#4@12 g5@7 a#4@17 ~@8, ~@69 d#4@27 ~@39 [a3,c#4,f#4]@19 g#4@4 g#5@3 b5@19 g4@6 c#6@15 g4@15 ~@8, ~@76 a#4@20 ~@14 [d#5,d#6]@7 ~@17 [c#5,c#6]@21 ~ b4@24 g5 e4@9 a#5@26 ~@8]/7", // E D G#m G#dim F#m D# C#
  AK: "[~@35 g#5@4 c#6@16 ~@9, ~@8 [f#5,a5]@11 ~@13]/2", AL: "[~@11 d#5@16 ~@5]/2",
  AM: "[~@15 e2@12 e2@11 ~@27 e2@11 e2@12 e2@13 e2@17 ~@101 a5@37, ~@38 d4@27 a3@53 [f#3,d#4]@88 b5@20 ~@30, ~@38 e2@14 ~ e2@11 c#4@64 ~@37 a5@19 a5@2 g#5@40 ~@30, ~@39 b3@39 ~@40 [a3,b3]@79 c#6@29 ~@30, ~@59 e4@19 ~@40 e2@63 b5@8 a5@30 ~@37]/8", // D#m Asus2
})).s("gm_piano").gain(0.32)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A@6 ~ B@3 C@5 ~ D@4 E@6 ~@2 F@6 ~ G@2 H@5 ~@2 I@7 J@2 K ~@2 L@2 M@5 ~@2 N O@6 ~ P ~@3 Q@2 R@3 ~@3 S T U V ~@3 W@4 X Y
  Z AA ~@2 AB ~@8 AC ~ AD@6 ~ AE@6 ~@2 AF AG@3 AH@3 ~ AI@8 AJ ~@4 AK@7 ~@3 AL@8
>`.pickRestart({
  A: "[~@22 f#3@5 ~@26 b3@25 ~@57 d#4@33 ~@24, g#3@27 a3@60 ~@16 f#3@7 ~@24 f#4@34 ~@24, ~@79 g#3@28 a3@61 ~@24, ~@80 e3@73 ~@39]/6",
  B: "[~@80 c#5@3 ~@13, ~@27 b2@29 b3@39 ~, ~@55 d#5@18 ~@23]/3",
  C: "[~@9 f#4 ~@5 g#3@23 ~@27 b3@21 ~@21 f#3@3 a3@21 f#4@21 ~@8, ~@15 e3@65 ~@8 [e3,g#3]@23 ~@49, ~@38 f#3@6 ~@42 b3@5 ~@69, ~@41 a3@49 ~@20 d#3@24 ~@26]/5", // E
  D: "[~@15 [f#3,d#4]@8 ~@6 [f#3,e4]@8 ~@35 f#4@4 ~@6 [d#4,b4]@30 ~@13 a3@3, ~@28 [c#4,a#4]@9 ~@8 [a#4,c#5]@43 ~@40, ~@23 b2@23 ~@18, ~@76 f#4@11 ~@41]/4", // D#m F#7 G#m F# A#m
  E: "[~@31 f#3@5 ~@25 b3@22 ~@74 g#3@18 ~@17, ~@2 f#3@18 ~@63 b3@28 a3@54 ~@27, ~@11 g#3@25 a3@49 e3@65 ~@42, ~@12 e3@64 ~@8 g#3@28 ~@23 [d#4,f#4]@30 ~@27]/6", // D#m
  F: "[~@9 b3@31 ~@14 f#4@2 ~@25 [f#3,d#4]@4 ~@24 b3@23 ~@20 f#3@4 d#3@25 ~@11, ~@60 [g#3,e4]@25 f#4@27 ~@80, ~@61 e3@64 ~@7 [e3,g#3,b3]@26 ~@34, ~@86 a3@49 ~@21 a3@21 ~@15]/6", // D#m C#m E
  G: "[~@6 f5@5 ~@19 c#5@4 ~ f#3@4 ~@9 [f#3,c#4,e4,a#4]@8 ~@8, ~@17 d#4@2 ~@13]/2", // F#7
  H: "[~@24 f#4@6 ~@19 f#2@35 ~@46 g3@25 ~@5, b2@45 d#2@40 a3@49 ~@26, [e4,a#4]@15 d#4@20 ~@7 [d#4,f#4]@25 ~@13, ~@31 b4@55 ~@74, ~@20 b1@23 ~@37]/5", // Edim D#m
  I: "[~@17 d4@21 e4@22 ~@40 b4@11 a4@11 ~@62 b3@2 ~@20 g#3@18, ~@38 c4@26 ~@21 d#4@55 ~@18 [f#3,d#4]@5 ~@61, ~@60 b3@67 ~@10 e3@62 ~@25, ~@60 a#4@42 ~@35 [g#3,e4]@24 ~ a3@36 ~@26, ~@60 e4@30 ~@32 f#4@18 ~@21 f#4@24 ~@39]/7", // D#m C#m
  J: "[~@26 a3@25 ~@13]/2", K: "~@6 c#6@3 ~@23",
  L: "[~@48 [e4,e5]@3 ~ [a3,a4]@5 ~@7, ~@29 f#5@21 ~ e5@12 ~, ~@30 [d#4,b4]@21 ~@13]/2", // E A G#m
  M: "[~@8 b3@3 ~@36 b4@5 ~ e3@37 ~@5 [a3,d#4,f#4]@42 [g3,b3]@21 ~@2, ~@7 [f#4,a4,d#5]@9 ~@11 e4@62 ~@71, ~@27 [f#4,a4]@25 [g#4,e5]@38 ~@70]/5", // D#dim G D#dim F#m C#m
  N: "~@7 d4@9",
  O: "[~ e4@20 ~@46 a4@11 ~@38 [f#3,d#4]@4 ~@23 b3@3 ~@6 e4 ~@2 f#4@2 g#4 ~@2 a4 ~@5 g#3@21 ~@5, c4@21 b3@64 ~@9 e4@26 f#4@26 ~@46, ~@21 e4@25 ~@10 b4@15 ~@7 f#4@17 g#3@25 a3@46 ~@26, ~@43 d#4@61 ~@88, ~@95 e3@73 ~@24]/6", // D#m
  P: "~@7 c#6@3 ~@22", Q: "[~@6 [d#4,b4]@18 [e4,e5]@3 [a3,a4,e5]@11 ~@9 b3@8 ~@9, ~@46 [f#4,a4]@9 ~@9]/2",
  R: "[~@25 b4@6 [e3,e4,g#4,e5]@36 ~@29, ~@3 [e4,f#4,a4]@29 ~@64]/3", S: "~@17 f#4@3 ~@12",
  T: "~@6 a5@2 ~ e6 ~ g4@6 ~@15, ~@6 f#4@5 ~@21", U: "~@11 [d4,f#4]@2 ~@3", V: "~@3 e5 c5 a4 [b3,d4] ~@9",
  W: "[~@4 g1@16 ~@15 d3 ~@21 [g2,b3,g4]@21 ~@11 [g4,b4]@28 ~@7 d5@2 ~@2, ~@4 c4@54 ~@31 d5@3 ~@36]/4", // G
  X: "~ d5@5 ~@7 d5@2 ~@3 d5@2 ~@4 d5@5 ~ a4@2, ~@7 [d4,a4]@22 ~ b4 ~", // D5
  Y: "~@4 a4 ~@4 [a4,b4]@2 ~@4 [a4,b4]@5 [g4,b4]@3 ~@3 g4 ~@5", Z: "~@21 b3@2 ~@9",
  AA: "~ c4@4 ~@3 c4@5 c4@3 ~@3 c4@5 c4@3 ~@5", AB: "~ d#5@2 ~@29", AC: "~@5 a4@3 ~@4 c5@3 ~@4 [d#5,d#6]@12 ~",
  AD: "[~@45 [d#4,f#4]@10 ~@9, ~@11 e3@64 ~@3 e3@33 e3@41 ~@40, ~@11 g#3@26 a3@64 ~@10 a3@53 ~@28, ~@33 d#4@4 f#4@32 ~@11 g#3@34 ~@78, ~@34 f#3@5 ~@23 b3@20 ~@110]/6", // D#m
  AE: "[~@39 [d#5,f#5]@17 ~@8 b4@2 ~@16 f#4 d#4 ~@24 g#3@4 ~@22 b3@5 ~@16 g#3@19 ~@18, ~@6 b2@37 ~@45 e4@14 f#3@10 ~@80, ~@39 b3@34 ~@15 g#3@17 g3@6 ~@2 a3@43 ~@36, ~@89 e3@23 ~@80, ~@101 d#4@10 ~@81]/6", // D#m
  AF: "~@23 [f#3,e4]@8 ~", AG: "[~@52 d#3@8 ~ b1@14 ~@21, ~@28 f#4@9 ~@59, ~@11 d#4@9 ~@12]/3",
  AH: "[~@15 [g3,b3]@9 ~@8, [a3,d#4,f#4]@49 ~@47, ~@11 e4@9 ~@4]/3", // G D#dim
  AI: "[~@7 d4@4 ~@19 [d4,f4]@20 ~@60 b4@11 a4@11 ~@36 [f#3,d#4]@4 f#4@22 b3 ~@15 a4 ~@6 b4 ~@15 b4@2 ~@21, ~@25 c4@17 ~@7 d#4@28 ~@51, ~@74 b3@64 ~@8 e3@71 ~@39, ~@66 f#4@11 ~@51, ~@146 [g#3,e4]@25 ~ a3@43 ~@2 g#3@22 ~@17]/8", // Dm D#m C#m
  AJ: "~@5 b3@22 ~@5",
  AK: "[~@16 [d#4,b4]@20 [e4,e5]@2 ~@2 a3@16 ~@6 [b3,f#4]@13 ~@35 b4@6 ~@16 e2@11 ~@23 g#3@39 ~@19, ~@39 [a4,e5]@16 ~@6 [a4,d#5]@14 ~@11 a4@30 [g#4,e5]@64 ~@44, ~@87 [e3,e4]@70 ~@67]/7", // G#m E B5 A5 Adim C#m E
  AL: "[~@98 [e2,e3,g#3,b3,e4]@33 [e2,e3,g#3,b3,e4]@13 [e3,g#3,b3,e4]@85 ~@27, ~@14 [e3,b3,e4]@32 ~@26 e2@41 ~@15, ~@33 g#5@32 ~@63]/8", // E E5
})).s("gm_piano").gain(0.16)

stack(piano, piano_soft)

More by Haydn