Strudelify

Paris and Helena, Gavotte

Christoph Willibald Gluck

KeyA majorTempo120 bpm
0:00/0:00
// Paris and Helena, Gavotte — Christoph Willibald Gluck
// 120 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 110 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@8 B@5 C@4 D@5 E@8 F@6 G@6 H@7 I J@6 K@4 L@2 M@3 N@4 O@2 P@2 Q R@3 S T@2 U@4 V@7 W@2 X@2 Y@7 Z@3 AA@5
>`.pickRestart({
  A: "[c#5 ~@6 g#3@5 ~@8 a2@2 ~ e4 ~@19 c#4@2 ~@2 [a1,a2]@2 ~@5 c#4 ~@2 e2 ~@13 a2@9 ~@10 [b3,d4,b4]@5 c#5@5 [c#4,a4,c#5]@6 ~@6 e5@3 ~@4 e2@4 ~@13 [g#3,b3,g#4,b4]@6 [c#5,e5]@3 ~@13 [g#3,b3,g#4]@5 c#4@5 ~ [e3,e4]@6 a4@10 ~ a2 ~@4 [g#3,g#4,b4]@5 ~@8 a2@2 ~ e4 c#4@4 ~@14 c#4@2 ~ [a1,a2]@2 ~@6 c#4@2 ~ [e2,e3] ~@11 a2@4, ~ [c#4,a4]@11 [a3,c#4,a4,c#5]@10 e3@23 [a4,c#5]@11 a4@10 c#4@4 ~@10 a2@15 [e4,e5]@12 ~@5 [c#4,e4,c#5]@7 d4@23 c#4@10 [c#4,c#5]@5 b4@6 a2@21 ~@22 e3@2 ~@10 [e4,g#4,e5,g#5]@10 ~@19 c#4@4 e5@5, ~ d5@2 d5@9 ~@11 c#5@17 [f#4,d5,f#5]@6 ~@11 e3@2 ~@4 [a2,a3]@5 a4@16 [c#4,a4,c#5]@11 c#4@3 ~@8 [f#4,d5,f#5]@13 ~@11 [a3,c#4,c#5]@12 [e3,e4]@21 c#5@13 ~@21 a4@10 [c#5,e5]@3 ~@2 a5@16 ~ [c#5,e5]@10 ~ e5@9 a4@7, ~@2 c#5@2 c#5@7 ~@7 b4@4 ~ e5@5 [a4,a5]@18 e5@10 ~ c#5@12 ~@13 e3@14 ~@22 d5@24 ~@5 [d4,d5]@17 ~@22 [c#4,c#5]@10 [a3,c#5]@11 ~@6 [f#4,f#5]@10 [d4,f#4,f#5]@5 ~@7 [c#2,c#3]@4 ~@6 a2@5 ~@2 a1@2 ~@2, ~@6 [g#4,b4]@6 ~@5 [b3,d5]@5 ~@2 c#4@4 [f#4,f#5]@6 [e4,g#4,e5,g#5]@12 ~@6 [c#2,c#3]@4 ~@2 e5@13 e5@18 d5@7 ~@19 e5@5 ~@28 [b3,b4]@5 a4@11 ~@32 c#4@3 ~@3 [d4,b4,d5]@5 ~@6 a4@15 a4@11 [a4,c#5]@11 c#5@2 ~@4]/8", // A Bm F#m G#m C#m G#m E G#m …
  B: "[~@13 e4@4 ~ a3 ~@4 e5@5 ~@9 c#6@3 [e2,e3]@4 ~@12 [g#4,e5,g#5]@5 b2 [g#4,b4] ~@18 e2@2 ~@18 g#4@7 ~ d5 c#5@2 d5 c#5@2 [g#3,b3,b4]@5 a3@3 ~@5 a2@2 e3 [e4,c#5] ~@4 [f#4,a4,f#5,a5]@6 g#4@2 ~@7 c#4@3 ~ [a1,a2]@2 ~@3, ~@4 a2@13 c#6@16 a5@7 b5@21 ~@11 [g#4,e5]@5 [f#3,d#4,d#5]@6 b2@3 ~@4 e4@19 c#4@7 ~@4 [c#4,a4,c#5]@10 ~ c#4@5 ~@11 [f#4,d5,f#5]@7 c#5@3 ~@3, ~@7 [c#4,a4,c#5,a5]@11 c#5@10 [c#5,e5,e6]@12 ~@27 f#4@6 e4@11 ~ g#3@17 ~@6 c#5@2 ~@38 d4@7 ~@5, ~@12 [b4,e5,b5]@6 a4@15 c#6@4 ~@3 g#5@16 ~@5 g#5@17 f#4@6 g#4@11 b4@14 a4@3 ~@3 g#4@3 ~@7 [d4,b4,d5]@5 ~@12 [e4,e5,g#5]@13 ~@5, ~@23 [e4,a5]@11 e4@7 ~@10 [f#4,a4,f#5,a5]@10 ~@6 [a4,f#5]@17 e5@27 ~@19 e5@6 ~@18 e5@6]/5", // E C#m G#m C#m F#m A C#m D#m …
  C: "[~@3 c#4@2 ~ e3@2 ~@6 c#4@4 a2@9 ~@10 [d4,b4,d5]@5 [e4,c#5,e5]@5 ~ [c#4,a4]@5 ~@6 e5@3 e5@3 ~ e2@4 ~@13 [g#3,b3,g#4,b4]@5 ~@16 [g#3,g#4,b4]@5 c#4@5 ~@7 a4@7, [c#2,c#3]@5 c#5@3 ~@3 a3@6 ~@14 [c#4,c#5]@11 c#4@3 ~@3 a3 ~@5 d5@11 [d4,d5]@23 e4@21 [a2,c#5]@19, ~@6 e5@11 ~ e5@24 ~@5 c#5@6 f#5@13 ~@11 [c#4,c#5]@11 c#4@6 [b3,b4]@5 [a3,c#4,a4,c#5]@11 ~@18, ~@6 e2 ~@5 a2@5 ~@10 a2@16 ~@22 b4@13 a3@10 [c#5,e5]@2 ~@3 [d4,d5]@17 ~@18, ~@32 a4@12 ~@9 f#4@3 ~@3 [c#4,e4]@7 e3@23 e3@21 ~@5 [e3,e4]@11 ~@2]/4", // G C#m F#m G#m C# D A C# …
  D: "[~@22 e3@2 [e4,c#5] c#4@4 ~@11 [d4,f#4,d5,f#5]@4 ~@3 [a1,a2]@2 ~@5 c#4@2 ~@2 [e2,e3] ~@4 [a2,a3]@6 ~ a2@8 ~@11 e4@4 ~@6 [e4,e5,a5]@5 ~@6 c#6@4 c#6@2 ~ e2@3 ~@14 e4@4 ~ [b2,g#4,b4] ~@15 [d#4,f#4,d#5]@4 e2, ~@3 [a3,c#4,c#5]@10 c#5@6 [d4,b4,d5]@5 e5@2 ~@3 a4@16 a4@11 a4@12 ~@12 e3@8 [b4,e5,b5]@5 [c#5,c#6]@13 ~@4 [a4,a5]@6 g#5@17 [g#4,g#5]@5 ~@7 a4@9 f#3@6, ~@3 a2@2 ~@3 [g#3,g#4]@13 a2@3 ~@6 f#4@10 ~@4 c#4@2 ~@6 [c#2,c#3]@4 ~@14 a1@2 ~@6 a2@17 ~@10 [c#4,c#5,e5]@12 ~@11 [f#4,a4,f#5,a5]@10 ~@7 f#4@5 [g#3,e4,g#4,e5]@10, ~@4 a4@10 [a3,c#4,a4]@10 ~@5 a5@3 ~@3 [e4,g#4,e5,g#5]@11 ~ e5@10 ~@13 e5@13 [c#4,a4]@11 [a3,a4]@13 ~@9 [b4,b5]@22 ~@6 f#5@16, ~@8 [b3,b4]@10 b3@5 ~@6 f#5@11 ~@6 c#5@2 ~@9 [c#5,e5]@12 ~@13 [c#5,a5]@12 ~@10 e6@13 ~@22 g#5@21]/5", // C#m D A E A A5 E D#m …
  E: "[~@8 e3@5 ~@6 f#4@5 ~ b4 ~@22 c#6@6 ~@10 g#5@4 ~@7 e5@4 ~@11 [e5,b5]@6 a5@6 ~@9 b4 ~@5 b5@4 g#3 b3 ~@10 e5@2 ~@4 b5@5 ~@15 e5@4 ~@9 a5@6 g#4@3 ~@24 [c#5,d5]@2 ~@2 g#4@4 ~@10 a2@2 e3 [e4,c#5] ~@5 a4@5 g#4@2 ~@7 c#4@2 ~ [a1,c#5]@3 ~@2 [c#2,c#3] ~, g#4@13 a4@13 ~@5 b5@7 d6@8 a3@2 ~@20 c#5@4 ~@7 e5@9 [e3,g#3,g#4]@7 ~@15 g#3@2 e5@9 [e3,e5]@2 ~@7 a3@2 c#4@3 ~@17 a3@2 a5@18 ~@12 b5@23 d5 c#5 g#3@12 b4@4 e5@6 ~@6 e5 ~@11 e5@5 ~@2, ~ e5@25 e5@9 e5@2 b3@2 ~@3 b5@5 c#4@2 ~@5 b5@15 c#4@2 ~@9 [a3,c#6]@15 ~@12 f#5@6 ~@15 b5@5 c#6@10 ~ a5@9 c#5@26 ~@2 e5@28 b4@11 [d4,d5]@5 ~@6 [f#4,a5]@7 ~@4 [f#4,f#5]@6 a4@7 ~, ~@3 g#3@10 ~@11 g#3@3 ~@9 g#3@2 ~@7 c#5@11 ~@3 a5@10 a5@16 a5@10 ~@7 g#5@11 ~@10 d6@8 c#5@7 ~@11 g#5@4 c#4@2 ~@11 c#6@13 ~@24 [c#4,a4,c#5] a3@8 ~@4 a3@9 ~@18 d4@6 a2 ~@6, ~@7 e4@6 ~@14 e4@43 e4@20 e4@22 e4@21 e4@21 e4@24 e4@34 ~@3 [c#4,a4,c#5]@10 ~ c#4@5 ~@6 [e4,g#5]@12 ~@7]/8", // E5 Dmaj7 C#m A C# E A D …
  F: "[~ c#4 ~@2 [e2,e3,c#5] ~@4 [a2,a3]@3 c#4 ~@3 a1@2 ~@16 [d4,b4]@5 c#4 e4@4 ~ a4@5 ~@9 f#5@3 ~@17 [c#4,a4,c#5]@5 e2 e3 ~@15 [b2,g#3,b3,g#4]@4 ~@21 [c#4,c#5]@4 ~@11 e5 [g#3,b3]@2 d6@4 b5@4 c#5@2 ~@6 b5@5 ~@5 g#5@4 ~ c#4 ~@7 a4@2 ~ c#6@3 ~@3, ~@3 a4@6 ~@7 e5@13 [c#4,a4]@11 ~@4 [c#4,c#5]@7 d4@12 ~@10 d5@11 c#5@12 [c#3,a3,a4]@10 ~@3 c#3@22 e5@6 b5@7 ~@10 c#6@11 a5@10 a5@11 ~@6, ~@4 e5@4 ~@7 c#5@11 e3@7 d5@6 ~@11 d5@12 [a2,e4,e5]@22 ~@6 [d4,b4]@15 ~ c#4@20 ~@4 g#3@2 e4@44 e4@16, ~@24 a2@16 ~@5 a3@2 ~@3 f#4@3 ~@2 e5@6 ~ [a3,c#5]@17 ~@6 e4@20 ~@4 a4@7 [e3,e4]@15 [b3,b4]@2 ~@9 e3 ~@43 c#3 ~@5, ~@28 c#5@11 [c#5,e5]@6 ~@5 f#5@6 [c#4,e4,c#5]@7 ~@11 b4@10 ~ c#4@10 c#4@10 a3@17 a4@11 ~@41 c#5@3 ~@4 e5@4 e5@7]/6", // C#m A G F#m E C# G#m F#m …
  G: "[~@6 b5@5 a5@5 ~@6 f#5@4 ~@6 b5@4 ~ [e3,g#3] ~@9 c#4@2 c#6@6 b5@5 ~@5 g#5@4 ~@20 a5@5 ~@6 b5@21 c#5 ~ d5 c#5 ~@17 a2@2 ~ e4 ~@17 [d4,f#4,f#5]@5 ~@2 [a1,a2]@2 ~@3 c#3 c#2 ~ c#4@2 ~ [e3,c#5]@2 ~@5 a2@4, a5@5 e5@4 ~@7 g#5@10 ~ e5@9 e5@2 d6@12 ~@21 a5@10 e5@13 e4@28 [a3,c#4]@6 g#4@4 ~@2 [c#4,a4,c#5]@10 ~ [c#4,c#5,e5]@8 ~@4 [g#4,e5,g#5]@12 ~@19 a3 ~@3, ~@3 g#4@5 ~@35 b5@7 ~@10 a5@10 c#5@26 ~ e5@25 ~@3 d5@4 g#3@16 ~@6 a4@17 a4@4 ~@20, ~@4 g#3@4 ~@18 g#3@3 ~@17 c#5@11 ~@12 c#4@2 ~@5 e5@2 a4@17 g#4@4 ~@23 a4@3 ~ c#5@3 b3@6 a3@9 e3@2 ~@5 [f#4,f#5]@7 e4@11 ~@12 e2 ~@10, ~@5 e4@21 ~@2 e4@21 e4@22 e4@11 c#6@13 ~@33 b4@11 [b3,d4,d5]@5 ~@6 a5@19 e5@5 ~@7 e5@5 ~@6]/6", // E D A C#m A F#m C#m F# …
  H: "[~@4 a1@2 ~@15 [d4,b4,d5]@5 c#5 ~@5 [a3,c#4,a4,c#5]@5 ~ f#4@3 ~@5 f#5@4 ~@19 [a3,c#4]@5 e2 [c#4,e4]@5 ~ [d3,d4]@6 [c#3,a3,c#4,a4]@8 g#4@9 ~@8 a4@27 ~@11 e5 ~@5 c5 ~@4 a4 ~@4 b4 e2 ~@3 d5 ~@4 b4 ~@4 g#4 ~@4 e4 ~@4 g#4 ~@4 b4 ~@4 d5 ~@4 [a1,a2,c5]@3 ~ a4 ~@4 e4 ~@3 d4 ~@4, ~ c#5@4 ~@8 e3@14 ~@10 f#5@9 ~@4 [a3,c#5]@18 c#5@6 c#5@6 b4@6 ~@58 c6@11 ~ a5@11 ~@28 e5@11 ~@18, ~@3 e5@23 e5@12 d5@13 ~@12 [b3,d4,d5]@11 ~@32 c#4@32 ~@28 g#5@17 ~@3 g#5@10 ~@9 a5@14 ~@5, ~@16 [c#4,a4,c#5]@11 e4@12 ~@4 [e4,e5]@7 [a2,e4,e5]@24 ~@150]/7", // G A C#m D F#m Am A Bm …
  I: "c4@2 ~@3 e4 ~@4 c5@4 c4 ~@2 d4@3 ~@5 d5 ~@3 b4 ~@2, e5@10 a3 ~@9 f5@12",
  J: "[~@2 a4 ~@4 e3@2 ~@2 b4 ~@4 e4 ~@3 g#4 ~@4 [a1,a4] ~@4 a3 ~@3 a4@3 ~@2 e4 ~@4 a4 ~@4 e5 ~@3 c5 ~@4 a4@4 ~ [d2,d5] ~@3 a4 ~@4 d4 ~@4 c5 ~@4 g1@2 ~@2 d5@2 ~@2 d5@5 g4@4 c5 c2 ~@3 g4 ~@4 c4 ~@3 d4 ~@4 e4 ~@4 g4 ~@3 c4 ~@3 e4 ~@4 f3 ~@4 c5@2 ~@3 b4@3 ~@2 a4@2 ~@3 g4 ~@3 f4@2 ~@3 e4 ~@10 c2@3 ~@2 d5@5 c5 ~@3 b4 ~, ~@6 e5@19 c5@10 ~@9 c6@9 a5@10 f5@12 ~@6 g5@9 b4@2 ~@7 e5@12 ~@7 g5@10 ~@8 f2@2 ~@38 e4@9 ~@7, ~@6 [e2,g#4]@3 ~@25 c4 ~@46 g2@2 ~@44 e5@10 a5@9 ~@9 b4@19 ~ c5@9 ~@8]/6", // A D E
  K: "[~@3 a4 ~@4 e5 ~@4 c5 ~@3 a4@5 [e3,b4] ~@4 d5 ~@3 b4 ~@3 g#4 ~@4 e4 ~@4 g#4 ~@3 b4 ~@4 d5 ~@4 [a2,c5]@2 ~@2 a4 ~@3 e4 ~@4 d4 ~@4 c4 ~@3 e4 ~@3 a3 ~@6 d4@2 ~ d3@3 ~ d5 ~@3 b4 ~@3 a4 ~@4 e3@4 b4 ~@3 e4 ~@3 g#4 ~@3, ~@3 c6@9 a5@10 g#5@16 ~@2 g#5@10 ~@9 a5@13 ~@17 c4@5 ~@17 g#4@3 ~@14, ~@22 e2@2 ~@25 e5@10 ~@17 e5@9 c5@9 f5@13 ~@4 e5@11 ~@6, ~@112 e2@7 ~@9]/4", // E5 Am
  L: "[~ [a1,a2,a4] ~@3 a3 ~@4 a4@3 ~ e4 ~@4 a4 ~@3 e5 ~@4 c5 ~@3 a4 ~@5 [d2,d3,d5] ~@3 a4 ~@4 d4 ~@3 c5@2 ~@3 [g1,g2]@2 ~@2 d5 ~@3, ~ c5@9 c4 ~@8 c6@9 a5@9 f5@12 ~@7 g5@8, ~@56 b4 ~@7]/2", // A D G
  M: "[b4@2 ~@3 g4 ~@3 c2 [c3,c5] ~@3 g4 ~@3 c4 ~@4 d4 ~@3 e4 ~@4 g4 ~@3 e5@4 ~@3 f4@2 ~ f3 ~@3 c5@2 ~@2 b4 ~@4 a4 ~@3 g2@3 ~ f4 ~@4 e4 ~@4 d4 ~@5 e4@4 a4 ~@4 g4 ~@3, d5@9 e5@12 ~@6 g5@9 c4 ~@3 e4@5 a5@9 ~@9 b4@10 ~@23, ~@63 g4 ~@18 [c2,c5]@7 ~@7]/3", // C
  N: "[~@11 g4 ~@8 e4 ~@2 c3@2 e4 ~@4 e5 ~@3 d5 ~@3 c5@2 ~@3 b4 ~@4 f5@2 ~@2 e5 ~@4 d5 ~@3 [a1,a2,c5] ~@4 a4 ~@3 e4 ~@3 d4 ~@4 c4 ~@3 e4 ~@4 a3 ~@3 c4 ~@4 b3 ~@3 f4 ~@3 e4 ~@3 d4 ~@4 c4@2 ~@2 c5@2 ~@2 b4@2 ~@3 a4, ~@6 g5@9 e5@10 g5@12 ~@6 g#5@14 ~@4 a5@11 ~@7 a5@9 e5@7 e3@2 ~@31, ~@96 g#5@12 ~@6 a5@9 ~@5]/4", // Am
  O: "[~@2 g#4 ~@5 d5@2 ~@2 c5 ~@3 b4 ~@4 a4 ~@4 e4 ~@3 c4 ~@3 a4 ~@3 [d2,d5] d3 ~@3 a4 ~@3 f4 ~@4 d4 ~@4 a4 ~@3 e4 ~@2, ~@3 e2@4 ~@31 f5@12 ~@14, ~@4 b5@14 ~@3 c6@9 a5@10 ~@16 c6@8]/2", // D
  P: "[~ c4 ~@3 a4@2 ~@3 [a1,a2] ~@4 a4 ~@4 e4 ~@3 c4 ~@4 e4 ~@3 a4 ~@3 c5 ~@3 a4@5 ~ f4 ~@4 b4 ~@3 d5 b5 ~@3 b4@3, ~ a5@9 e5@12 ~@6 c6@8 ~ a5@9 ~ d6@9 ~@8, ~@5 c5 ~@26]/2", // A
  Q: "~ c5@2 ~@3 a4 ~@3 g#5@11 ~ c4@4 ~ a4 ~@4, ~ a5@10 ~@10 a5@11, ~ e2 ~@30",
  R: "[g4 ~@3 f4@3 ~@2 e4 ~@3 g4 ~@4 c4 ~@2 d4 ~@2 c3 ~ e4@2 ~@3 e5 ~@3 d5 ~@4 c5@2 ~@2 b4 b1@4 f5 ~@3 e5 ~@4 d5 ~@3 a2@4 a4@2 ~@3 e4 ~@3 d4 ~@3 c4@2 ~@3 e4 ~@3 a3 ~@3 c4 ~@3, ~@8 g5@9 e5@9 g5@15 ~@3 g#5@14 ~@4 a5@10 ~@7 a5@10 ~@7, ~@31 a1 ~@16, ~@62 c5 ~@25 e5@8]/3",
  S: "~ b3 ~@3 f4 ~@4 e4 ~@2 d4 ~@2 a2@2 ~ c4@3 c5@2 ~@2 b4@2 ~@3 a4, e3 ~@15, ~ g#5@11 ~@6 a5@9 ~@5",
  T: "[~@8 d5 ~@3 c5 ~@3 b4 ~@4 a4 ~@3 e4 ~@4 c4 ~@3 a4 ~@3 d5 d2@3 ~ a4@2 ~@2 f4 ~@4 d4 ~@4 a4 ~@3 e4 ~@2, ~@3 [e3,g#4]@4 ~@31 f5@12 ~@6 c6@8, ~@5 b5@14 ~@2 c6@9 a5@8 d3@3 ~@23]/2", // E
  U: "[~ a5 ~@4 a4@3 ~ c5 ~@4 a4 ~@3 e4 ~@3 c4 ~@8 a4 ~@4 c5@2 ~@6 d3@2 ~ [f4,d6]@3 ~@11 b4@4 ~@5 a4@2 ~@4 e4 ~@13 e3@8 c5@29, ~@10 e5@12 ~@6 c6@8 a5@11 ~@10 b5@9 ~ a5@11 ~@21 a5@19 ~@10, ~@41 a4@7 ~@5 b4@8 ~@5 c5@2 ~@20 a2@40, ~@58 d5@8 ~@10 g#5@27 ~@25]/4", // Dm
  V: "[~@3 c#5 d5 ~@17 a2 ~@2 c#4@5 [a4,a5]@3 ~@14 [a1,a2]@2 ~@3 c#3@2 c#4 ~@2 [e2,e3] ~@6 c#4@2 ~@3 a1@2 ~@16 [b3,d4,b4]@5 c#5@4 ~ [a3,c#4,a4]@5 ~ d4@2 ~@2 e5@3 ~@19 [g#3,g#4,b4]@4 ~ [c#5,e5]@2 ~@13 [g#3,g#4]@5 a4@4 ~ [e3,e4]@5 ~@6 e3@5 ~ a2 ~@4 [g#3,b3,g#4,b4]@5 ~@6 a2@4 ~ [c#4,e5]@7 ~@10 [d4,f#4,f#5]@4 c#4 ~ [a1,a2]@2 ~@2, ~@3 [c#4,a4]@7 b4@10 [b4,d5]@4 [c#5,e5]@6 ~@10 f#5@4 c#4@3 ~@15 [a2,a3]@5 ~ a2@3 ~@6 a2@16 ~@19 [d4,d5]@16 b3@5 ~ c#4@5 [b3,b4]@4 c#5 [a3,c#4,a4]@10 [a3,c#4]@10 [c#3,c#4,a4]@11 ~@11 c#4@3 ~ b3@6 ~@14 e4@9 a4@2 ~@3, ~@5 c#5@3 c#5@3 b3@4 [a3,c#4,a4,c#5]@9 ~@11 [e4,g#4,e5,g#5]@10 a4@10 ~@2 e5@10 ~ e5@14 c#4@4 d5@6 c#4 ~@3 c#5@6 [d5,f#5]@11 [e2,e3]@20 ~@6 [d4,d5]@15 ~@22 c#4@10 [a3,c#5]@10 ~@28, ~@6 d5@13 [b3,d4]@4 ~@2 e4 ~@4 [f#4,f#5]@11 [f#4,d5]@6 e5@8 ~ c#5@10 c#5@5 ~@10 c#5@11 [e4,e5]@11 ~@4 [c#4,e4,c#5]@7 ~@9 [c#4,c#5]@10 e4@15 b4@5 ~ c#5@13 ~@8 c#5@10 ~@2 a4@10 ~@7 [a4,a5]@16 c#5 ~@3, ~@10 [g#3,g#4]@13 ~@16 d4@7 ~@34 e3@13 ~@9 f#4@3 ~@5 e5@4 ~@10 a3@9 ~ e3@20 a2@21 ~@16 [d4,b4,d5]@5 ~ e4 ~@11 g#5@10 ~ e5@4]/7", // A E Bm A G#m C#m G# E …
  W: "[~ c#3@4 ~ a4 e2 e5@2 ~@5 c#4@4 ~ a1@2 ~@15 [e4,b4,e5,b5]@5 ~@5 e5@5 ~@9 c#6@3, ~@6 c#5@2 ~@11 e5@13 [c#4,a4,c#5]@10 c#5@5 [e4,a5]@10 c#6 [e4,a5]@6, ~@7 e3@2 ~@4 [a2,a3]@6 ~@8 a2@15 c#6@10 [c#5,e5,e6]@12, ~@30 e3@13 a3@21, ~@31 a5@11 a4@22]/2", // E5 F#m A5 A C#m
  X: "[e2@3 ~@13 [g#4,e5,g#5]@5 b2 g#4@2 ~@17 b2@2 ~@16 [f#3,f#4]@4 g#3, [b4,b5]@21 ~ b4@19 g#4@23, g#5@16 ~@5 g#5@15 [f#3,d#4] [f#4,d#5]@3 e2@2 ~@6 e3@16, ~@11 [a4,f#5,a5]@10 ~@6 f#4@5 [g#3,e4,g#4,e5]@11 ~ g#3@10 [a3,a4]@10, ~@12 f#4@9 ~@6 [a3,a4,f#5]@16 e5@21]/2", // C#m F# B D#m D C#m A D
  Y: "[b4 ~@8 [e3,g#3,e5] ~ b3@2 ~@7 [c#4,e5]@2 e4 ~@15 g#5@4 ~@7 e5@2 ~@14 e4@3 ~@5 e5@3 ~@8 f#5@4 ~@9 e5 ~@11 e4@2 ~@14 g#5@4 a5@2 ~@3 e5@2 ~@16 e4@2 e4@4 ~@22 g#4@4 ~@9 a2@2 e3 [e4,c#5] ~@20 a4 ~ [a1,a2]@2 ~@3, e5@8 b4@2 ~ d6@9 a3@8 b5@14 c#5@12 c#6@11 b5@7 a5@16 [g#3,b3]@9 e3@3 ~@4 b5@3 c#5 e5 c#6@2 e4@18 e4@17 e3@27 c#5 [a3,d5] c#5 d5@2 c#5@4 ~@4 [a3,a4]@5 b4@4 e5@2 ~@4 [a4,a5]@15 c#4@2 ~@6, ~ e4@20 ~@4 e4@19 ~@7 c#3@5 ~@6 g#4@12 ~@4 g#5@12 ~@4 b5@4 g#3@16 [e5,b5]@15 ~@7 a4@11 g#4@3 b5@30 g#3@15 ~@17 [d4,f#5]@6 ~@6, ~@6 b5@6 ~@4 b5@5 ~ c#6@22 ~@8 e5@12 e3@26 ~@6 b4@3 d6@16 ~@4 a5@10 ~@8 e5@7 a5@15 e5@21 [b3,b4]@10 [b3,d4,d5]@5 ~@12 [g#4,e5,g#5]@11 c#5@2 ~@4, ~@18 c#5@5 ~@4 e5@6 a5@10 a5@12 ~@5 a5@4 e5@4 e4@21 [e4,e5]@10 e4@8 c#4@21 ~@11 [a3,c#6]@20 ~@14 [c#4,a4]@8 ~@4 [c#4,c#5]@10 ~ c#4@5 [f#4,f#5]@12 f#4@5 ~ e5@5]/7", // E C#m A G#m D5 A E5 D …
  Z: "[~@2 c#4@2 a4 ~ [e2,e3] ~@6 c#4@4 ~ a2@8 ~@11 [b3,d4,b4]@5 [e4,c#5,e5]@5 [c#4,a4,c#5]@6 ~@35 [c#4,a4,c#5]@8, [c#2,c#3]@4 ~ [c#5,e5]@2 ~@4 [a2,a3]@6 e5@15 a4@11 ~@10 f#4@14 c#5@20 ~@9, ~@18 a1@2 ~@6 a2@17 ~@16 [e4,c#5,e5]@8 e5@29, ~@28 e3@8 d5@6 ~@11 f#5@11 f#5@5 ~@27, ~@31 [c#4,c#5]@11 c#4 ~@4 a3@2 ~@5 d5@15 ~@12 d5@15]/3", // E Bm C#m F#m C# C#m A C#m …
  AA: "[~ e2@3 ~@6 [d3,b3,d5,b5]@9 [a4,c#5,a5]@12 ~@20 a2@17 [a2,e5,a5]@64 ~@28, ~ c#6@18 ~@12 g#5@64 ~@65, ~@23 a1@32 ~@25]/5", // G A A5
})).s("gm_piano").gain(0.2)

// chords · piano · soft notes
const piano_soft = note(`<
  A ~ B C@4 ~ D@2 E@2 F@3 ~ G@2 ~ H I@3 J K L ~ M@2 N O P Q@3 R S T U@2 V W X Y@4 Z ~ AA AB ~ AC ~ AD AE ~ AF AG@2 ~@3
  AH@2 AI AJ ~@2 AK ~@3 AL ~ AM ~@2 AN ~ AO ~ AP AQ AR AS@2 AT AU AV AW AX AY AZ BA BB BC BD BE BF@2 BG BH BI@2 BJ@2
  BK@3
>`.pickRestart({
  A: "~@7 b3@5 ~@5 d4@4 ~@11, ~ a3@11 ~@20", B: "~@5 c#5@2 a1@2 ~@23",
  C: "[~@5 a3@5 d4@3 ~@22 a4@11 ~@11 a3@10 ~ a4@4 ~@13 [e3,e4]@4 ~ a4 ~@4 b3@6 ~@5 b3@5 ~@17, ~@22 b4@5 ~@101, ~@23 e3@23 ~@21 a3@11 ~ [c#3,c#4]@10 ~ a3@10 ~@28]/4", // E C#
  D: "[~@6 e3@12 ~@16 a4@6 b4@21 ~@3, ~@29 c#4@11 ~@24]/2",
  E: "[~@8 g#3@11 ~@19 g#3@7 a3@7 ~@9 b3@3, ~@13 e3@10 ~@9, ~@31 b3@15 ~@18]/2",
  F: "[~@26 a4@11 a4@11 ~@2 a1@3 ~@16 b3@6 ~@16 c#5@5, ~@48 a4@13 e3@14 ~@11 d4@10, ~@49 c#5@14 ~@33]/3",
  G: "[~@8 b3@5 ~ a4@4 ~@13 e4@4 ~@29, ~@13 a3@21 ~@30, ~@12 c#3@5 ~@15, ~@25 c#4@10 ~@29, ~@15 e3@2 ~@15]/2",
  H: "~ c#4@3 ~ c#5@13 ~@14, ~@4 a4@15 ~@13",
  I: "[~@38 e5@4 ~ b3 ~@5 a3@14 e4@2 b2@2 ~@16 f#3@7 b3 ~@5, ~@21 e3@21 ~@35 a3@13 ~@6]/3",
  J: "~@2 b4@3 e3 ~@10 e5@8 ~@8", K: "~@4 a3@2 ~@9 e3@9 ~ b3@6 ~, ~@13 a4@18 ~, ~@14 c#3@17 ~",
  L: "~@15 b3@2 ~@7 b4@3 ~@5",
  M: "[~@8 b3@17 b3@7, ~@2 c#3@13 g#3@34 ~@15, ~@4 e5@15 ~@45, ~@5 a3@14 ~@45, ~@14 e3@37 ~@13]/2", N: "~@4 f#5@3 ~@9",
  O: "~@8 a2 ~@7, ~@14 a4@5 ~@13", P: "~@2 b3@5 ~@25",
  Q: "[~@15 a3@5 ~@7 d3@14 a1 ~@16 a3@10 ~@8 b4 ~@10 a3@2 c#4@2 ~@5, ~@9 d4@11 ~@76, ~@5 b3@5 ~@3 b3@5 ~@30]/3",
  R: "~@15 a3@2 ~@9 a3@2 ~@4, ~@25 e3@2 ~@5", S: "~@5 b3@3 ~@18 b4 b3@2 ~@3, ~ e3 ~@6",
  T: "~@3 b4@3 b3@2 ~@6 a3@2 e5@8 ~@8",
  U: "[~@5 a3@2 ~@21 b3@30 ~@6, ~ c#3 ~@2, ~@17 e3@9 ~ [e3,g#3]@31 ~@6, ~@9 a3@7 ~@16]/2", V: "~@12 b4@5 ~@15",
  W: "~@9 c#5@3 ~@8 a4@3 ~@7 c#4@2", X: "~@4 a2@6 ~@11 b3@6 c#4@2 ~@3, ~ a4@15 ~@16, ~@10 a2@17 ~@5",
  Y: "[~@6 d4@2 ~@3 [c#4,c#5]@7 ~@19 a4@5 ~ e3 ~@5 b3@6 ~@9 b2@7 ~ a1@3 ~@4 c#3@27 ~@7 a4 ~@14, ~@31 b4@11 ~@21 b3@9 ~@56, ~@63 g#3@3 ~@5 a3@35 ~@22]/4", // C#
  Z: "~@7 e3 ~@24", AA: "~@5 [d2,d3] ~@2", AB: "~@25 a2 ~@6", AC: "~@18 b4 ~@13", AD: "~@6 f4 ~@21 [g2,g3]@4",
  AE: "~@10 d4 ~@5 c3@2 ~@14", AF: "~@27 a1 ~@4", AG: "[~@31 d2@3 ~@30]/2", AH: "[~@13 f2@2 ~@16 g3@2 ~@18 c3@5 ~@8]/2",
  AI: "f4@2 ~@5 e4 ~@8 c4 ~@15", AJ: "~@6 b1 ~@9, ~@11 b2@2 ~@19", AK: "~@3 e3@4 ~@25",
  AL: "~@2 e3 ~@8 e4 ~@3 d4@4 a2 ~@12", AM: "~@12 b2@3 ~@17", AN: "~ e2@6 ~@25", AO: "~ c4@7 ~@2 a1 a2 ~@17 e4 ~@2",
  AP: "~@3 [e2,e3]@2 ~@13 d4 ~@13", AQ: "~@11 a5@5, ~ c4@7, ~@5 e3@27", AR: "~@4 a3@11 ~@9 e3@2 ~@6",
  AS: "[~@15 c#5@2 ~@7 a4@11 a4@15 a4@11 ~@3]/2", AT: "~@17 b4@3 ~@12", AU: "~@21 b3@5 ~@6",
  AV: "~@10 e4@5 ~ [a3,a4]@10 ~@6", AW: "~@3 e3@2 c#5 ~@12 [g#4,e5]@9 ~@5, ~@6 [f#4,f#5]@5 ~@5",
  AX: "~@2 c#4 ~@7 a2 ~@5, ~ c#2@2 ~@6 [a4,c#5]@7", AY: "~@21 c#4@11", AZ: "~@17 e4@4 ~@11, ~ e3@20 ~@11",
  BA: "~@9 e4@3 ~@4 e4@16", BB: "b3 ~@15",
  BC: "~@21 a3@2 e4@9, ~@10 [a3,c#4]@4 ~@5 a4@5 ~@8, ~@12 e4@11 ~@9, ~@20 e3@3 ~@9", BD: "~ b3@23 ~@8, g#3@23 ~@9",
  BE: "~@11 a3@21, ~@3 b3@16 ~@13",
  BF: "[[a3,c#4]@3 ~@8 e3@7 ~@3 e5@9 e4@23 ~@11, c#5@15 ~@17, ~@10 c#3@21 ~@33, ~@19 [g#3,b3]@33 ~@12]/2", // A G#m
  BG: "~@15 e4@11 ~@6", BH: "~@16 c#5@3 ~@13, ~@15 a4@17",
  BI: "[~@21 d4@2 ~@4 c#4@9 ~@20 a3@8, ~@9 [a2,e4]@7, ~@9 a3@5 ~@2, ~@49 d4@15, ~@25 [b3,b4]@7]/2", // A5 B
  BJ: "[~@2 e5@2 ~@6 b4@9 [c#3,a3]@12 ~ [g#4,b4]@15 ~@17, ~ [e3,c#5]@18 ~@12 [b2,g#3]@15 ~@18]/2", // F#m G#m C#m E
  BK: "[~ [c#3,e3,a3,a4,c#5]@16 ~@7]/3", // A
})).s("gm_piano").gain(0.1)

stack(piano, piano_soft)

More by Christoph Willibald Gluck