Strudelify

Piano Concerto No.1 S.124

Franz Liszt

KeyE♭ majorTempo144 bpm
0:00/0:00
// Piano Concerto No.1 S.124 — Franz Liszt
// 144 bpm, 2/2, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/2 at bar 30, 3/2 at bar 147, 2/2 at bar 150) are rendered on a constant 2/2 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5643465; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 163 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(144/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(`<
  ~@5 A@5 B@6 C@5 D E F@7 ~@6 G@2 ~@7 H I J@7 ~@2 K@3 ~@6 L@2 M N@3 O@7 ~@3 P@4 ~ Q@6 R@8 S T U V@4 ~@4 W@2 X@5 Y Z AA@6
  ~@6 AB@2 ~@6 AC@2 AD@5 ~@6 AE AF AG ~@4 AH ~@2
>`.pickRestart({
  A: "[~@60 [bb1,bb2,bb3,bb4]@3 ~@46 [bb1,bb2,bb3,bb4]@3 ~ [ab3,d4,f4,ab4,ab5,d6,f6,ab6]@6 [bb1,bb2,bb3], ~@13 ab6@22 [d3,d4,d5]@2 [bb1,bb2,bb3,bb4]@2 [f2,f3,f4,f5]@2 [bb1,bb2,bb3,bb4]@2 [ab2,ab3,ab4,ab5]@4 [bb1,bb2,bb3,bb4]@3 [d3,d4,d5,d6]@3 [bb1,bb2,bb3,bb4]@4 [f3,f4,f5,f6]@6 [ab3,d4,f4,ab4,ab5]@6 [bb1,bb2,bb3,bb4]@8 [a1,a2,a3,a4]@12 [f3,f4,f5]@2 [bb1,bb2,bb3,bb4]@2 [ab2,ab3,ab4,ab5]@3 [bb1,bb2,bb3,bb4]@4 [d3,d4,d5,d6]@3 [bb1,bb2,bb3,bb4]@3 [f3,f4,f5,f6]@7 ~@7, ~@13 f6@20 [bb1,bb2,bb3,bb4]@2 d2@28 ab6@22 [d3,d4,d5]@2 [bb1,bb2,bb3,bb4]@2 f2@24 ~@7, ~@13 d6@16 [bb1,bb2,bb3,bb4]@2 [b1,b2,b3,b4]@32 f6@20 [bb1,bb2,bb3,bb4]@2 d2@28 ~@7, ~@13 [ab3,d4,f4,ab4,ab5]@6 [bb1,bb2,bb3,bb4]@8 [a1,a2,a3,a4]@36 d6@16 [bb1,bb2,bb3,bb4]@2 [b1,b2,b3,b4]@32 ~@7]/5", // Bb Ddim Bb D Bb F Bb Ab …
  B: "[~@11 [b1,b2,b3]@6 [c2,c4]@5 [c2,c4]@4 [c2,g2,c4,g4]@14 ~ [g2,g4]@4 [g2,g4]@4 [d2,g2,d3,d4,g4,d5]@4 [c3,c5]@3 [c3,c5]@4 [c3,g3,c5,g5]@4 [g3,g5]@4 [g3,g5]@4 [g3,g5]@4 [c4,c6]@4 [c4,c6]@4 [c4,g4,c6,g6]@4 [g4,g6]@4 [g4,g6]@5 [g4,g6]@4 [c4,g4,c6,g6]@5 [g3,g5]@5 [g3,g5]@4 [g3,g5]@4 [c3,g3,c5,g5]@4 [g2,g4]@3 [g2,g4]@3 [d2,g2,d3,d4,g4,d5]@3 [c2,g2,c3,c4,g4,c5] ~@5 [g1,g2,g3,g4] ~@5, ~@5 [ab3,d4,f4,ab4,ab5,d6,f6,ab6]@12 c1@36 ~@3 e2@20 [g3,c5,g5]@4 e3@12 [e4,e5,e6]@5 d7@14 [e3,e4,e5]@4 [d3,d4,d5,d6]@4 [c4,c6]@4 [c3,g3,c5,g5]@3 [e2,e3,e4,e5]@6 ~@12, ~@17 c3@9 [g1,g3]@19 [e2,e3,e4,e5]@8 c4@7 g2@20 [e4,e5,e6]@4 [g3,g5]@4 [c4,c5,c6,c7]@4 e7@40 ~@12, ~@22 e1@31 [g2,g4]@3 [e3,e4,e5]@4 g4@4 [c3,c4,c5,c6]@4 [e3,e4,e5,e6]@4 d3@25 [d4,d5,d6]@4 c7@5 [c4,g4,c6]@5 e6@21 ~@12, ~@22 [e2,e3,e4]@19 [c2,c3,c4,c5]@12 c2@19 [d4,d5,d6]@4 c3@25 c5@5 g6@26 ~@12]/6", // B C C5 G G5 C C5 G …
  C: "[[c3,c4]@13 ~@2 [c3,c4]@7 ~ [b2,b3]@7 ~ [c3,c4]@2 ~@2 [b2,b3]@2 ~@2 [bb1,db2,e2,g2,bb2,bb3,db4,e4,g4,bb4]@14 [bb2,bb3]@2 ~@2 [a2,a3]@2 ~@2 [f2,ab2,ab3]@6 [f2,f3]@2 ~@2 [e2,e3]@2 ~ [eb2,eb3]@6 [e2,e3]@2 ~ [eb2,eb3]@2 ~ [d2,d3]@2 [db2,db3]@2 ~ [b1,b2]@2 [c2,c3]@2 ~ [bb1,bb2]@2 [f2,f3]@2 ~ [eb2,eb3]@2 [e2,e3]@2 ~ [d2,d3]@2 [db2,db3]@2 ~ [b1,b2]@2 [c2,c3]@2 ~ [bb1,bb2]@2 [f2,f3]@2, [c2,e2,g2,e4,g4,c5]@21 ~@40 [ab1,db2,db4,f4,ab4]@13 [f1,b1,ab3,b3,eb4]@12 [bb1,ab3,d4]@5 [eb1,f3,ab3,b3]@5 [d1,ab3,bb3]@5 [b1,ab3,eb4]@5 [bb1,ab3,d4]@5 [eb1,f3,ab3,b3]@5 [d1,ab3,bb3]@4, ~@14 [b2,b3]@2 ~@74 [c2,c3]@2 ~@3 [b1,b2]@2 ~@3 [e2,e3]@2 ~@3 [eb2,eb3]@2 ~@3 [c2,c3]@2 ~@3 [b1,b2]@2 ~@3]/5", // C B C B Bbdim Bb A Fm …
  D: "~ [eb2,eb3]@2 [e2,e3]@2 ~ [bb1,d2,d3,ab3,d4]@2 ~ [eb2,ab2] [b2,b3] ~ [d2,bb2] [f3,bb3] [gb2,b2] [eb3,eb4] ~ [f2,d3] [ab3,d4] [bb2,eb3] [gb3,gb4] ~ [ab2,f3] [b3,f4], [e2,e3]@2 ~@3 [eb2,eb3]@2 ~@17, ~ [b1,ab3,eb4]@5 ~@18", // Eb E Bb7 Ab5 B Gm Bb5 B5 …
  E: "[eb3,ab3] [b3,b4] ~ [d3,bb3] [f4,bb4] [gb3,b3] [eb4,eb5] ~ [f3,d4] [ab4,d5] [bb3,eb4] [gb4,gb5] ~ [ab3,f4] [b4,f5] [eb4,ab4] [b4,b5] ~ [d4,bb4] [f5,bb5] [gb4,b4] [eb5,eb6] ~ [f4,d5]", // Ab5 B Gm Bb5 B5 Eb Dm Abdim …
  F: "[[ab5,d6] [bb4,eb5] [gb5,gb6] ~ [ab4,f5] [b5,f6] [eb5,ab5] [b5,b6] ~ [d5,bb5] [f6,bb6] ~@5 b5@2 ~@3 b5@2 ~@3 b5@2 ~@23 bb5@2 ~@8 [bb5,f6,ab6,d7,ab7]@4 ~@4 [c2,c3] [bb1,bb2] ~@7 [c2,c3] [bb1,bb2] ~@7 [c2,c3] [bb1,bb2] ~@7 [c2,c3] [bb1,bb2] ~@7 [c2,c3] [bb1,bb2] ~@7 c2 bb1 ~@42 [ab5,c7]@2 [f5,d7] [eb5,eb7]@3 ~@4, ~@11 gb5@4 [ab6,d7]@4 b5@2 gb5@4 [ab6,d7]@5 [ab6,d7] [g5,db6]@2 [e6,bb6,e7] [ab5,d6] [f6,bb6,f7] [g5,db6]@2 [e6,bb6,e7] [ab5,d6] [f6,bb6,f7] [g5,db6]@2 [e6,bb6,e7] [ab5,d6] [f6,bb6,f7] [g5,db6]@2 e7@17 ~@50 c2 bb1@2 a1@3 eb3 [d2,f3]@2 [eb2,g3] [f2,ab3]@2 g2@3 d4 [c3,eb4]@2 [d3,f4] [eb3,g4] [f3,ab4]@2 [g3,bb4] [ab3,c5]@2 [bb3,d5] [c4,eb5]@2 [d4,f5] [eb4,g5]@2 [f4,ab5] [g4,bb5] [ab4,c6]@2 [bb4,d6] [c5,eb6]@2 [d5,f6] [eb5,g6]@2 [f5,ab6] [g5,bb6]@4 ~@7, ~@11 b5@3 f5@5 f5@5 f5@5 [f5,b5]@19 [e6,bb6] [ab5,d6] [f6,bb6,f7] e6@2 [g6,db7,g7] [bb5,f6] [ab6,d7,ab7]@2 [bb5,e6]@2 [g6,db7,g7]@5 ~@51 a2@47 ~@6, ~@12 [eb6,eb7]@5 ~ [eb6,eb7]@5 [eb6,eb7]@5 [eb6,eb7]@37 ~@6 [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 ~ [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 ~ [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 ~ [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 ~ [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@2 [bb1,bb2]@3 bb2@4 bb1@42 ~@6, ~@14 b5@2 gb5@4 [ab6,d7]@4 b5@2 gb5@38 ~@4 [bb1,bb2]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 ~ [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 ~ [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 ~ [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 ~ [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 c3@3 c2 c3@2 d3 c2@6 bb3 [ab2,c4]@2 bb2@32 ~@6]/7", // Abdim Eb5 Gb Db Bdim Ab5 B Gm …
  G: "[~@23 [c5,c6]@24 ~]/2", H: "~@19 [eb4,ab4,c5,eb5,ab5]@5",
  I: "[gb3,c4,eb4,ab4,c5,eb5,ab5,c6]@3 [gb3,c4,eb4,ab4,c5,eb5,ab5,c6]@4 ~@5", // Ab7
  J: "[~@22 [c4,c5]@4 [e4,ab4,c5,e5]@5 [ab4,c5,e5,ab5]@6 [e5,ab5,c6]@6 ~@15 c5 [a3,e4]@8 [c3,e3,a3,c4,e4]@17 [e3,a3,c4,e4,a4]@4 [a3,c4,e4,a4,c5]@4 [c4,e4,a4,c5,e5]@6 [e4,a4,c5,e5,a5]@5 [a4,c5,e5,a5,c6]@6 [c5,e5,a5,c6,e6]@6 [e5,a5,c6,e6,a6]@5 [e5,a5,c6,e6,a6,c7]@6 ~@15 gb7@2 ~ gb7@2 ~@4 e7@2 ~@4 gb7@2 ~@10, ~@18 [g3,g4]@8 [ab2,e3,c4]@33 [a4,c5,e5]@8 a2@31 c4@28 ~@42, ~@26 ab3@17 [ab3,e4,e5,ab5,c6,e6]@5 [ab3,e5,ab5,c6,e6]@3 c5@7 ~ e6@33 a3@11 e4@6 a4@17 ~@10 gb7@5 ~@6 gb7@2 gb7@2 ~ gb7@2 gb7@2 ~@12, ~@31 e4@12 ~ ab4@5 e4@7 [ab3,e5,ab5,c6,e6]@3 a5@25 c3@42 ~@42, ~@37 [ab4,c5]@8 c5@5 ab4@7 [e4,ab4]@2 c6@29 e3@27 c5@11 ~@8 e7@5 e7@4 e7@2 ~ e7@2 e7@2 ~@3 e7@2 e7@2 ~@11]/7", // C Eaug Abaug Eaug A5 Am G Abaug …
  K: "[~@6 bb3@3 eb4@3 ~@7 b3@2 ~@18 [e5,ab5]@3 ~@17 b3@3 ~@10, ~@12 db4@9 [b1,b2]@41 ~@10, ~@21 b3@7 b3@10 b3@7 e4@7 ab4@10 ~@10, ~@25 e4@10 e4@7 ab3@21 ~@9, ~@32 ab4@17 b3@7 e4@7 ~@9]/3", // E B
  L: "[~@7 eb5@13 ~@4]/2",
  M: "~@3 f5@2 g5@2 ~ e5@2 f5@2 ~ ab5 ~ g5 bb5 ~ ab5 g5 ~ f5 e5 ~, ~@2 e5@2 ~@3 f5@2 ~@3 g5@2 ~@10",
  N: "[g5 ~ f5@3 e5@3 f5@3 ab4@3 e5@3 db5@3 ~@42 g4@6 b3@3 f4, ~@5 db5@12 ~, ~@8 c5@9 ~, ~@50 g4@7 ab4@11 ~@4, ~@14 bb4@3 ~]/3",
  O: "[~@5 eb5@3 ~@51 d5@3 ~@40 [g3,eb4,c5]@3 ~@19 [ab3,d4,c5]@4 ~@20 d5@4 ~@16, ab3@8 b3@4 ab3@14 eb5@2 d4@4 eb5@30 ~@7 [c4,g4]@4 [eb4,c5]@3 [c4,g4]@4 eb4@4 f5@22 ~@6 [c4,f4]@4 [ab3,d4]@4 [c4,f4]@8 ~@4 g3@20 ~@16, ~@2 ab4@14 f4@46 ~@4 g3@14 c5@7 [g3,eb4]@4 [c4,g4,eb5]@3 [g3,eb4,d5]@4 [c4,g4]@7 ~@4 [ab3,d4]@7 b4@12 ~@4 f4@4 [b3,ab4]@4 [ab3,f4]@4 ab4@8 ~@16, ~@4 f3@20 ab4@38 ~@4 eb4@7 g5@32 c5@19 ~@4 eb5@12 eb5@12 ~@16, ~@8 eb5@12 b3@42 [c2,c3]@43 ab2@23 g2@24 ~@16]/7", // Cm Dm7b5 C5 Cm C5 F5 Abdim F5 …
  P: "[~@10 gb5 ~@10 e5 ~@2, ~@6 db6@16 ~@11 g5@11 ~@4, ~@22 b5@22 ~@18 e5@14 f5@11 ~@9, ~@30 a5@14 ~@11 eb5@32 ~@9, ~@33 ab5@11 gb5@43 ~@9]/4",
  Q: "[~@39 ab4@7 ~@4 [b4,f5]@4 ~@39 [b3,b4,ab5]@4 ~@19 ab5@4 ~@8 c6@4 ~@8 gb7@4, ~@21 eb5@32 ~@4 gb4@4 db4@3 [db5,f5]@11 [f2,a5]@4 [b3,ab4]@3 [d4,b4]@4 [b3,d5]@4 [d4,ab4]@7 ~@7 a4@12 gb4@12 ~@8 ab6@8, ~@28 e5@25 ~@8 a4@3 a3@4 [db4,gb4]@29 ~@3 db4@8 [e3,db5]@12 [eb3,b5]@12 [d3,gb6]@12, ~@32 g5@22 ab5@18 [a3,a4,gb5]@25 ~@7 gb4@8 [db4,gb5]@8 ~@4 [c4,a5]@8 ~@12, ~@36 b4@10 ab4@7 ~ a2@43 gb2@23 ~@24]/6", // Bdim E Db F E G Bm Ddim …
  R: "[~@40 [bb4,bb5]@3 ~@40 [ab4,ab5]@3 ~@40 [ab3,f4,bb5,bb6]@3 ~@18 ab4 ~@3 b4@3 ~@15 ab4 [ab4,ab5]@2 db2@3 [ab2,f3] ~ [db3,ab3] [f3,db4] ~ [ab3,f4] [db4,ab4] ~ [f4,db5] [ab4,f5] ~ [db5,ab5] [f5,db6] ~ [ab5,f6] db6@2, ~@10 [f5,f6]@32 ~@22 [b4,b5]@22 ab5@32 [ab3,f4,c6,c7]@4 [db4,ab4]@7 [db2,bb4,bb5]@22 [gb3,c4]@3 [eb4,b4]@4 [gb3,c4]@4 [a4,a5]@11 ~@19, ~@21 [eb5,eb6]@22 ~@19 [ab4,ab5]@13 [a4,a5]@11 ab4@7 [db4,ab4]@7 [db4,ab4]@11 [ab3,f4]@4 [db4,ab4] [db6,db7]@14 ~@3 gb3@7 eb4@4 [gb3,c4]@3 eb4 [ab4,ab5]@3 b5@22 ~@19, ~@29 [db5,db6]@14 ~@11 [g4,g5]@32 ~@4 [ab3,f4]@7 [f6,f7]@32 ~@7 gb4@26 eb4@3 [gb3,c4]@4 eb4@4 ~@19, ~@32 [c5,c6]@11 [db2,bb4,bb5]@43 ~@11 [ab3,f4]@7 [ab3,f4]@4 [eb6,eb7]@22 ~@3 eb4@3 c4@4 [g4,g5]@32 ~@20]/8", // Bb Ab Bb7 Ab Db Db5 Db Db5 …
  S: "db6 db7 ~ db6 [a5,a6,db7] ~ gb6 [gb5,db6] ~ a5 [db5,db6,gb6] ~ a5 [a4,gb5] ~ db5 [gb4,gb5,a5] ~ db5 [db4,a4] ~ gb4 [a3,a4,db5] ~", // A Gb5 D Gbm A
  T: "gb4 [gb3,db4] ~ a3 d2@3 [a2,gb3] ~ [d3,a3] [gb3,d4] ~ [a3,gb4] [d4,b4] ~ [gb4,d5] [a4,gb5] ~ [d5,a5] [gb5,d6] ~ [b5,gb6] d6 ~", // Gb5 D D5 D G D D5 D …
  U: "d6 d7 ~ d6 [bb5,bb6,d7] ~ g6 [g5,d6] ~ bb5 [d5,d6,g6] ~ bb5 [bb4,g5] ~ d5 [g4,g5,bb5] ~ d5 [d4,bb4] ~ g4 [bb3,bb4,d5] ~", // Bb G5 Eb Gm Bb
  V: "[g4 d4 ~ bb3 ~@3 g3@2 bb3 ~@3 bb4@2 ~@4 eb4@2 gb4 ~@3 gb5@2 ~@7 b5@2 ~ eb6@2 ~@7 b5@2 ~ e6@2 ~@7 e6@2 ~ g6@2 ~@7 e6@2 ~ a6@2 c7 [f4,a4,c5,f5,f6,a6,c7,f7]@2 ~@18, ~@4 eb2@8 g4@5 ~@4 b3@8 ~@2 [ab3,b4]@5 b5@5 ~@4 [b3,e5]@8 ~@2 [g3,e5]@5 e6@5 ~@4 [e4,a5]@8 ~@19, ~@7 bb2@8 [eb5,g5]@2 ~@5 [eb4,gb4,b4]@2 eb5@5 ~@4 [b3,eb5]@8 ~@2 [ab3,b4]@5 b5@5 ~@4 [c4,g5]@8 ~@2 [c4,e5]@5 e6@5 ~@19, ~@9 eb3@8 ~@2 f3@8 eb6@2 ~@5 [eb4,ab4,ab5]@5 [ab6,b6]@2 ~@5 [e4,ab4,ab5]@5 [ab6,b6]@2 ~@5 [e4,g4,c6]@5 [c7,e7]@2 ~@5 [a4,c5,c6]@5 e7@2 ~@19, ~@5 [g3,bb3,eb4]@3 b2@6 ab2@6 [e2,e3]@6 [c2,c3]@6 [a1,a2]@6 ~@10]/4", // F Abm E5 C A5 Eb B Abm …
  W: "[~@37 [f4,f5,f6,f7]@5 ~@6, ~@11 b1@8 [ab3,ab4,ab5]@3 [b2,b3,b4,b5]@2 [d3,d4,d5,d6]@3 [f3,f4,f5,f6]@2 [ab3,ab4,ab5,ab6]@3 [b3,b4,b5,b6]@2 [d4,d5,d6,d7]@8 ~@6, ~@11 [b2,b3,b4]@6 f2@25 ~@6, ~@7 d2@14 ~@3, ~@14 [d3,d4,d5]@3 [f3,f4,f5]@2 ab2@23 ~@6]/2", // F Ab B D F Ab B D …
  X: "[~@6 [gb2,gb3,gb4]@4 [f2,f3,f4] [gb2,gb3,gb4] ~ [f2,f3,f4] ~@2 [e2,e3,e4] ~ [eb2,eb3,eb4] ~@9 [b1,b2,b3]@2 ~@7 [g1,g2,g3]@2 ~ [gb2,gb3]@5 [gb2,gb3,gb4,gb5]@3 ~@9 [eb2,eb3,eb4,eb5]@2 ~@7 [b1,b2,b3,b4]@2 ~@8 [g1,g2,g3,g4]@2 [gb3,gb4]@5 [gb3,gb4,gb5,gb6]@4 ~@8 [eb3,eb4,eb5,eb6]@2 ~@8 [b2,b3,b4,b5]@2 ~@7 [g2,g3,g4,g5]@2 ~ [gb2,gb3,gb4,gb5] ~ [f2,f3,f4,f5], ~@21 [d2,d3,d4]@10 ~@4 [ab1,ab2,ab3]@5 gb1@19 ~@5 [c2,c3,c4,c5]@5 [bb1,bb2,bb3,bb4]@10 ~@9 [gb3,gb4,gb5,gb6]@10 ~@4 [c3,c4,c5,c6]@5 [bb2,bb3,bb4,bb5]@10 ~@3, ~@23 [db2,db3,db4]@7 ~@3 [a1,a2,a3]@7 ~@9 [gb2,gb3,gb4,gb5]@10 ~@28 [f3,f4,f5,f6]@3 [f3,f4,f5,f6]@7 [d3,d4,d5,d6]@10 ~@5 [ab2,ab3,ab4,ab5]@5 ~@3, ~@25 [c2,c3,c4]@5 [bb1,bb2,bb3]@10 ~@8 [f2,f3,f4,f5]@4 [f2,f3,f4,f5]@7 ~@2 [db2,db3,db4,db5]@7 ~@3 [a1,a2,a3,a4]@7 ~@15 [e3,e4,e5,e6]@5 ~@2 [db3,db4,db5,db6]@7 ~@2 [a2,a3,a4,a5]@7 ~@4, ~@54 [e2,e3,e4,e5]@5 [d2,d3,d4,d5]@10 ~@4 [ab1,ab2,ab3,ab4]@5 [gb1,gb2]@19 ~@23]/5", // Gb F Gb F E Eb B G …
  Y: "~ [e2,e3,e4,e5] ~@2 [eb2,eb3,eb4,eb5] ~ [d2,d3,d4,d5] ~@2 [db2,db3,db4,db5] ~ [c2,c3,c4,c5] ~ [b1,b2,b3,b4] ~@2 [bb1,bb2,bb3,bb4] ~ [a1,a2,a3,a4] ~@2 [ab1,ab2,ab3,ab4] ~ [g1,g2,g3,g4]", // E Eb D Db C B Bb A …
  Z: "~ [gb1,gb2,gb3,gb4] ~@2 [f1,f2,f3,f4] ~ [e1,e2,e3,e4] ~@2 [eb1,eb2,eb3,eb4] ~ [d1,d2,d3,d4] ~@2 [db2,db3,db4] ~ [c2,c3,c4] ~@2 [b1,b2,b3] ~@2 [bb1,bb2,bb3]@2", // Gb F E Eb D Db C B …
  AA: "[~ [a1,a2,a3]@2 ~ [ab1,ab2,ab3]@2 ~ [g1,g2,g3]@2 ~ [gb2,gb3]@5 ~ [gb2,gb3]@5 [db2,gb2,gb3,db4]@16 [db2,db4]@5 ~ [db2,db4]@5 [db2,db4]@5 [gb2,gb4]@4 ~ [gb2,bb4]@4 [gb2,db3,db5]@4 [db3,db5]@4 ~ [db3,db5]@3 [db3,db5]@3 [gb3,gb5]@3 [gb3,gb5]@3 [gb3,db4,gb5,db6]@3 [db4,db6]@2 [db4,db6]@3 [db4,db6]@3 [gb3,db4,gb5,db6]@2 [db3,db5]@2 ~ [db3,db5]@2 [db3,db5]@2 [gb2,db3,gb4,db5]@2 [db2,db4]@2 [db2,db4]@2 [ab1,db2,ab2,ab3,db4,ab4]@2 [gb1,db2,gb2,gb3,db4,gb4] ~@3 [db1,db2,db3,db4] ~@3 [gb1,bb1,db2,gb2,gb3,bb3,db4,gb4]@3 ~@22, ~@10 gb1@27 [gb1,gb2,gb3,gb4]@11 [ab2,ab3,ab4]@10 [bb2,bb3,gb4]@4 db2@29 [ab3,ab4,ab5]@3 gb6@2 [gb3,db4,gb5]@3 bb5@13 ~@32, ~@16 [bb1,bb2,bb3]@27 [bb1,bb2,bb3,bb4]@10 gb1@21 [ab3,ab4,ab5]@3 gb2@11 [bb3,bb4,bb5]@3 ab6@8 [bb2,bb3,bb4]@2 [ab2,ab3,ab4,ab5]@2 [gb3,gb5]@2 [gb2,db3,gb4,db5]@2 [bb1,bb2,bb3,bb4]@4 ~@33, ~@21 db3@32 [db2,gb3,db4]@5 bb1@36 gb4@2 db6@15 ~@33, ~@48 ab1@14 [db4,bb4]@4 [gb2,gb3,gb4,gb5]@5 [bb2,bb3,bb4,bb5]@3 ab2@3 [db3,gb4,db5]@3 [bb2,bb3,bb4,bb5]@3 [db3,db5]@3 [gb3,gb4,gb5,gb6]@2 bb6@23 ~@33]/6", // A Ab G Gb Gb5 Db Gb Gb5 …
  AB: "[~@5 [eb5,eb6]@24 ~@19]/2", // Eb
  AC: "[~@27 [eb3,bb3,db4,eb4]@3 [eb3,bb3,db4,eb4]@3 [eb3,bb3,db4,eb4]@2 [eb5,eb6] [eb5,eb6]@3 [eb3,ab3,b3,eb4,eb5,eb6]@3 [eb3,ab3,b3,eb4,eb5,eb6]@2 ~@2 [eb5,eb6]@2, ~@3 g4@2 bb5 ~@2, ~@7 bb4@5 ~@3 [eb3,ab3,b3,eb4], ~@2 [g1,g2,eb5] [ab1,ab2], ~@27 g5@9 ~@8 [eb5,eb6]@2 ~@2]/2", // Eb7 Eb Abm Eb Abm Cm Ab Eb
  AD: "[[eb5,eb6]@2 ~@2 [eb3,gb3,bb3,eb4]@2 ~ [eb3,gb3,bb3,eb4]@4 ~ [bb5,bb6]@2 ~@5 [e3,ab3,eb4]@5 [e3,ab3,eb4]@4 e3@5 ~@72 c5@4 ~@11, [gb1,gb2]@7 [b5,b6]@4 [eb3,gb3,bb3,eb4]@3 bb6@10 eb7@16 ab4@22 ab6 b6@5 ab6 eb6 e6 ab6 gb6 d6 eb6 gb6 e6 c6 db6 e6 eb6 bb5 b5 eb6 db6 a5 bb5 db6 b5 g5 ab5 b5 bb5 f5 gb5 bb5 ab5 eb5 e5 ab5 gb5 d5 eb5 gb5 e5@3 ~@13, ~@2 [e5,e6]@13 ~@4 ab5@16 ab3@23 bb6 db7@7 gb6 bb6@42 ~@11, ~@3 [eb5,eb6]@3 [eb5,eb6]@9 ~@4 ab6@5 eb6@14 eb4@22 b6 g6@48 ~@11, ~@4 [d5,d6]@10 [e1,e2,bb5]@14 [ab3,eb4]@5 e3@23 db7 a6@7 bb6 f6@44 ~@11]/5", // Eb Ebm Bb Emaj7 Gb B Ebm E …
  AE: "~@17 eb4 ~@5 ab2, ~@6 b5@2 gb4 b3@2 b2, ~@13 [eb5,gb5]@5 ~@3 d3@3, ~@7 b4@2 ~ f3@2, ~@15 bb4@3 ~ ab3@5", // Ebm
  AF: "~@17 eb4 ~@5 ab2, ~@13 [eb5,gb5]@5 ~@3 d3 b2@2, ~@7 b4@2 ~ f3@2, ~@15 a4@3 ~ ab3@5, ~@8 g4 b3@3", // Ebm
  AG: "~@17 eb4 ~ ab3@5, ~@6 b5@2 g4 b3@3, ~@13 [eb5,gb5]@5 ~@6, ~@7 b4@2 ~@3, ~@5 a4 ~@2", // Ebm
  AH: "eb2 [g2,eb3] [ab2,e3] [a2,f3] [bb2,gb3] [b2,g3] [c3,db3,ab3,a3] [d3,bb3] [eb3,b3] [e3,c4] [f3,db4] [gb3,d4] [g3,eb4] [ab3,e4] [a3,f4] [bb3,gb4] [b3,g4] [c4,ab4] [db4,a4] [d4,bb4] [eb4,b4] ~@3", // Cm Dbm Dm Ebm Em Dbmaj7 Gm Abm …
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@32 A@5 B@5 ~@2 C@5 ~@3 D@4 E F@5 G@5 H I@5 ~@4 J@6 K@6 ~@2 L M@4 ~@32 N@8 O ~@3 P@2 ~@4 Q R@2 S T U V W X Y Z@2 AA@2
  AB AC AD
>`.pickRestart({
  A: "[~@40 [ab3,ab4]@5 ~@19 [b4,b5]@7 [b4,b5]@7 [b4,b5]@11 [b4,b5]@3 ~@21 [ab5,ab6]@6 ~, ~@23 eb2@21 ~@2 gb3@46 b5@2 ab5@6 [e2,e3]@19 ~, ~@23 eb3@2 [b2,b3]@20 b4@6 [eb4,eb5]@6 [gb4,gb5]@35 b4@8 b5@2 bb5@17 ~, ~@24 ab2@20 ~ eb4 gb4 a3@46 e5@11 b5@3 [ab3,b3,e4,ab4,g5,g6]@12 ~, ~@24 ab3@11 [eb3,eb4]@9 ~ [eb3,b3]@48 ~@2 b5@2 db6@22 ~]/5", // Ab B Ab E B Eb Gb E …
  B: "[~@21 g5@2 ~@12 [ab3,b3,e4,ab4]@6 ~@3 ab5@3 ~@4 a5@2 ~@32 db4@3 eb4@3 ab4@3 ~@4 e4@3 e4@6 ~@13, ~@5 [a1,a2]@12 db6@2 db5@4 ab4@6 [b1,b2]@18 ~ a5 a4@5 a5@2 eb6 gb6@2 b6 a6@2 gb6 eb6@2 b5 a5@2 gb5 eb5@2 b4@2 a4@2 ab4@2 a4@2 b4@2 a4@2 gb4@5 ~@6 gb4@7 ~@19, ~@11 [gb3,db4,e4,gb4]@12 ~@3 ab5@15 [ab3,b3,e4,ab4]@6 [gb3,b3]@41 ~@32, ~@13 eb5@10 ~ b4@23 ~ eb4@40 ~@32, ~@15 eb6@8 ~@2 e5@22 ab5@3 b5@3 ab5@35 ~@32]/5", // E A B Gb7 E B5
  C: "[~@27 [a3,a4]@4 ~@3 c5@3 [eb4,ab4,c5,eb5]@6 ~@19 [gb3,c4,eb4,ab4,c5,eb5,ab5,c6]@3 [g3,c4,e4]@8 [g2,c3,e3,e4]@25 ~@22, ~@11 f2@20 gb2@6 c4@11 ~@17 [e5,g5,c6]@33 ~@22, ~@11 f3@2 [c3,c4]@18 ~ c3@32 ~@9 c4@21 ~@26, ~@12 a2@19 ~ eb4 eb3@31 ~ g4@8 g3@17 ~@30, ~@12 a3@11 [f3,f4]@8 c4@2 ab4 ab3@30 ~ c5@29 ~@26]/5", // A Ab Ab7 C F
  D: "[~@12 gb7@4 ~@21 e7@2 ~@49 g4 db4 d4 eb4 e4 f4 gb4 a4, ~@6 [bb4,e5,e6,g6]@40 g7@3 eb7 f7 bb6@2 b6 c7 db7 e6 f6@2 gb6@31 ~@6, ~@6 db7@37 e7@17 g6 db6 d6 eb6 e6@2 bb5 b5 c6 db6 e5 f5@2 gb5 g5 db5 d5 eb5 e5@2 bb4 b4 c5 db5 e4@2 f4@4 ~@6, ~@6 e7@2 eb7@2 e7@4 ~@25 gb7 e7 gb7 eb7 f7 gb7@43 gb4@2 ~@7, ~@7 [g5,db6]@40 db7 d7@41 ~@7]/4", // Edim Gdim
  E: "g4 e4 bb3@3 ~@19, ~@2 db4 ~@21",
  F: "[~@18 [e5,ab5]@20 ~@18 [e5,ab5]@3 ~@17 c4@3 ~@38 db4@3, ~@38 [c2,c3]@41 ~ [db2,db3]@40, ~@38 c4@7 c4@10 ~ c4@6 e4@7 ab4@10 ~@7 db4@7 f4@7 [c2,c3,ab3]@20, ~@42 e4@10 e4@7 [ab3,e5,ab5]@21 ab3@17 db4@7 f4@6 ab4@10, ~@49 ab4@17 c4@7 e4@7 ~@3 f4@7 ab4@17 db4@7 f4@6]/5", // E C Db Fm Dbm
  G: "[~@18 d4@3 ~@17 d4@3 ~@41 g3@4 ~@19 ab3@6 ~ db5 eb5@2 db5@2 ~ db5@2, ~ [b1,b2]@41 [c2,c3]@37 c4@7 ~@4 db4@11 db4@10 ~@9, ~ ab3@21 ~@6 d4@7 f4@7 ~@3 eb4@8 g4@33 ~@11 f4@14 ~@6 c5@2 ~, ~@4 f4@7 ab4@10 ~@4 f4@7 g4@10 ~@7 c4@8 eb4@11 c4@3 g3@4 [eb4,eb5]@11 ~@7 ab3@12 ~@15, ~@8 d4@6 f4@7 g3@21 g3@18 c4@4 eb3@22 [f2,f3]@26 ~@8]/5", // B C Eb F
  H: "eb5 ~@11",
  I: "[~@24 g4 ~ eb4@8 g2@24 ~@2, ~@5 g2@12 ~@13, ~@6 g3@3 g3@8 ~@13, ~@7 eb3@10 ~@13, ~@8 c4@2 eb4 c4@6 ~@13]/5",
  J: "[~@4 [ab3,f4]@4 ~@18 eb4@7 ~@15 [g3,eb4]@3 ~@42 [ab3,e4]@4 ~@39 [db4,a4]@4 ~@4, b3@8 [c2,c3]@43 ab2@22 ab2@4 ab3@4 [b3,b4]@4 [ab3,e4]@4 [b3,b4]@8 ~@3 a3@40 ~@4, ~@12 g3@21 [g3,eb4]@7 [g3,eb4]@7 ~@8 [f3,d4]@7 [f3,d4]@7 [f3,d4]@28 a2@43 ~@4, ~@12 eb4@7 [eb4,c5]@7 c5@25 ~@15 f4@11 f4@20 ~@3 e4@4 a4@4 [e4,db5]@3 e5@29 ~@4, ~@15 [c4,g4]@7 [c4,g4]@14 ~ [c4,g4]@7 [c4,g4]@7 ~@7 [c4,f4]@7 ~ c4@31 ~@7 db4@7 a4@4 [e4,db5]@7 [db4,a4]@4 [e4,db5]@3 [db4,a4]@4 [e4,db5]@7 ~@4]/6", // Db Cm Dbm Gbm C B Dbm B …
  K: "[~@14 [ab3,b4]@7 ~@15 [ab3,b4]@3 ~@29 e4@4 ~@7 [e4,db5]@3 ~@18 [ab3,b4]@7 ~@15 ab3@4 ~@3 a3@7 ~@8, [ab3,b4]@10 [d4,ab4]@11 [ab3,b4]@11 [d4,e4,ab4]@7 ~@4 a3@25 db5@4 e4@3 [db4,a4]@7 gb5@36 [d4,f4]@7 ~@19, ~@3 gb4@36 ~@7 db4@8 a4@3 [e4,db5]@7 [db4,a4]@8 a3@11 ~@3 [ab3,b4]@11 e4@29 ~@18, ~@3 [d4,ab4]@7 e4@15 [d4,ab4]@3 b3@11 a2@43 ~@8 [d4,ab4]@3 b3@4 [d4,ab4]@11 ab3@3 [d4,f4]@4 b3@11 ~@18, ~@7 b3@18 f4@14 ~@4 e4@3 a4@4 [e4,db5]@4 e5@29 ~@7 gb4@36 ~@18]/6", // Abm Dbm Abm Ddim Abm E7 Gbm Dm …
  L: "~@5 gb4, ~@2 gb4@3 ~, ~@2 c4",
  M: "[~@18 [ab3,f4]@7 ~@14 [ab3,f4]@4 ~@18 [gb3,eb4]@7 ~@14 [gb3,eb4]@4 ~@10, [db3,f7]@43 ~@53, ~@3 [ab3,f4]@7 [ab3,f4]@7 ~@8 [ab3,f4]@7 [ab3,f4]@7 ~@7 [gb3,eb4]@7 ~ [gb3,eb4]@7 ~@7 [gb3,eb4]@7 [gb3,eb4]@7 ~@14, ~@7 [db4,ab4]@7 [db4,ab4]@14 [db4,ab4]@7 ~ [db4,ab4]@7 ~@7 [c4,gb4]@7 [c4,gb4]@14 ~ [c4,gb4]@7 [c4,gb4]@7 ~@10]/4", // Db Ebm Db Ebm Db5 Cdim
  N: "[~@22 [b3,b4]@5 ~@18 [d5,d6]@7 ~ [d5,d6]@7 [d5,d6]@11 [d5,d6]@3 ~@21 [b5,b6]@6 ~@22 a5@2 ~@6 [d2,d3]@6 [b3,d4,g4,b4]@6 ~@3 b5@3 ~ c6@2 ~@36 e4@3 gb4, ~@5 gb2@21 ~ gb4 c4@11 [a4,a5]@35 d5@7 d6@3 db6@17 ~@14 gb5@4 e6@2 e5@4 d5@17 ~@7 c5@19 c6@2 a5@2 gb5@2 d5@2 c5@2 b4@2 c5@2 d5@2 c5@2 a4@5 ~, ~@5 gb3@2 [d3,d4]@20 d5@6 [gb4,gb5]@41 d6@2 b5@5 [g2,g3]@5 d6@3 [b3,d4,g4,b4,bb5,bb6]@12 ~@6 [c2,c3]@18 ~@2 b5@15 ~@7 b5@4 c6 b5@37 ~, ~@6 b2@20 ~ a4@2 d4@45 ~ g5@25 ~@13 [g3,c4,e4,a4]@12 b4@12 ~@6 [b3,d4,g4,b4]@6 [a3,d4,gb4]@43, ~@6 b3@11 [gb3,gb4]@9 ~ [gb3,a3]@48 ~@2 d6@2 e6@22 ~@16 gb6@8 ~ g5@16 ~@10 d6@4 c6 gb5@2 a5 d6@2 c6 a5@2 gb5 d6@25 ~]/8", // B D B D G A D Gb …
  O: "~@2 b4@3 ~@4 g4@3 [g2,d3,g3,b3,d4,g4]@6 ~@6, ~@5 a4@7 ~@12", P: "[~@5 eb4@4 ~@7]/2",
  Q: "~@12 eb5 bb4@2 b4@2 eb5@2 db5@3 gb5@2, ~@10 db5@3 ~@11, ~@11 e5@2 ~@11",
  R: "[~@2 e5@3 bb5@5 ~ ab5@6 eb5@6 e5@6 [ab4,b4]@4 ~@3 [e4,ab4,c5]@4 ~@3 [bb3,ab4,db5]@4 ~]/2", // Abm Eaug Bbm7
  S: "~@2 [e3,ab4,d5]@11 ~@11", T: "[eb3,bb3,g4,eb5] ~@3",
  U: "~@11 bb6 ~@11 ab3, b3@4 b4 eb5 gb5 bb5 b5 eb6 gb6@2 b6@4 [f5,ab5] d5 b4 ab4 f4 d4 b3@2, ~ eb4@11 ~@3 b5@9, ~ gb4@5 ~ d6@5, ~@3 bb4@9 ~ [f6,ab6]@11", // Fm
  V: "~ g6, eb3@5 bb4@2 eb5 g5 bb5@2 eb6@13, ~ bb3@23, ~ eb4@7, ~ g4@5",
  W: "~@11 bb5@7 ~@6, b2@4 b3 eb4 gb4 bb4 b4 eb5 gb5@3 ~@11, ~ eb3@17 ~@6, ~ gb3@8 ~@3, ~ bb3@5 ~@2",
  X: "~@11 db6 b5@6 ~@6, eb2@4 bb3 eb4 g4 bb4 eb5 g5 eb6@2 ~@12, ~ bb2@11 ~@12, ~ eb3@5 ~@6, ~ g3@3 ~@4",
  Y: "~@11 db6 ~@11 ab2, eb2@4 bb3 eb4 g4 bb4 eb5 g5 eb6@2 ~@12, ~ bb2@11 ~@9 d3@3, ~ eb3@5 ~@4 f3@2, ~@3 g3@9 ~@10 b2@2",
  Z: "~@23 bb2, eb2@15 g5 eb5 bb4 g4 eb4 bb3 g3 eb3@2, ~ bb2@13 bb5@10, ~@2 eb3@11 eb6@11, ~@3 g3 bb3 eb4 g4 bb4 eb5 g5 bb5 eb6 g6@12",
  AA: "~@23 [bb2,g3], eb2@15 g5 [eb5,bb5] [bb4,g5] [g4,eb5] [eb4,bb4] [bb3,g4] [g3,eb4] [eb3,bb3]@2, ~@3 bb2@11 bb5 eb6@9, ~@3 g3 bb3 [g3,eb4] [bb3,g4] [eb4,bb4] [g4,eb5] [bb4,g5] [eb5,bb5] [g5,eb6] [bb5,g6] eb7@11, ~@4 eb3@9 eb6 g6@10", // Eb Eb5 Eb Cm Eb5 Eb Cm Eb5 …
  AB: "~@21 [e4,c5] [f4,db5] [gb4,d5]", // C Db D
  AC: "[g4,eb5] [ab4,e5] [a4,f5] [bb4,gb5] [b4,g5] [c5,ab5] [db5,a5] [d5,bb5] [eb5,b5] [e5,c6] [f5,db6] [gb5,d6] [g5,eb6] [ab5,e6] [a5,f6] [bb5,gb6] [b5,g6] [c6,ab6] [db6,a6] [d6,bb6] [eb6,b6] [e6,c7] [f6,db7] [gb6,d7]", // Cm Dbm Dm Ebm Em Fm Gbm Gm …
  AD: "[g6,eb7] ~@7", // Cm
})).s("gm_piano").gain(0.2)

// chords · piano
const piano_2 = note(`<
  A B@3 C@2 D ~ E F@2 ~@14 G H@2 ~ I@5 ~@7 J@5 ~@13 K@3 L@2 ~@13 M@2 N O ~@5 P@2 Q@2 R@2 S T@3 U@5 V@2 W@4 X@3 Y@3 Z@2
  AA@6 ~@5 AB ~ AC@2 ~@6 AD AE@2 AF@2 AG AH@2 ~@6 AI AJ AK AL AM AN ~@4 AO@2 ~
>`.pickRestart({
  A: "~@7 [eb2,eb3,eb4]@5", // Eb
  B: "[[d2,d3,d4] ~ [eb2,eb3,eb4]@3 ~@3 [d2,d3,d4]@3 ~@3 [eb2,eb3,eb4] ~@2 [d2,d3,d4] ~@2 db4@4 [db4,eb4,g4,g5,eb6,g6]@2 [db4,eb4,g4,g5,eb6,g6]@23 [db2,db3,db4]@10 ~ [c2,c3,c4] [db2,db3,db4]@3 ~@3 [c2,c3,c4]@3 ~@2, ~@20 [db2,db3]@29 ~@23]/3", // D Eb D Eb D Eb7 Db C …
  C: "[~ [db2,db3,db4] ~@2 [c2,c3,c4] ~@2 b3@5 [b3,e4,ab4,ab5,e6,ab6] [b3,e4,ab4,ab5,e6,ab6]@24 ~@11, ~@7 [b1,b2]@30 ~@11]/2", // Db C E B
  D: "~@3 [ab3,d4,d5,ab5]@5 ~@16, ~ [bb2,f4]@6 ~@17, ~@2 [f3,bb4]@5 ~@17", // Abdim Bb5
  E: "~@5 [d4,ab5]@4 ~@15, ~ [bb2,f4]@2 ~@5, ~@4 [f3,ab3,bb4,d5]@5 ~@15", // Ddim Bb5 Bb7
  F: "[~@23 [f3,ab4,d5,ab5]@6 [b2,f3,b3,ab4,d5,ab5]@6 [b1,b3] ~ b2 b1 ~ b2 [c2,c3,c4]@5 ~@2, ~@23 [bb2,bb3]@12 [b2,c4]@2 c4@4 ~@7, ~@36 [b1,b3]@2 [b2,a3]@3 ~@7, ~@39 [b1,b3]@2 ~@7]/2", // Ddim Bdim B C Bb Cmaj7 B B7 …
  G: "~@10 [bb1,bb2,bb3,bb4] ~", // Bb
  H: "[~ [bb1,bb2,bb3,bb4] ~ [bb1,bb2,bb3,bb4]@4 ~@3 [bb1,bb2,bb3,bb4]@2 ~@4 [bb1,bb2,bb3,bb4] bb1 bb2 bb1 bb2 bb1 bb2 bb1 bb2 [bb1,bb2] bb1 bb2 bb1 bb2 bb1 bb2 bb1 bb2 [bb1,bb2] bb1 bb2 bb1 bb2 ~ bb2@6 ~@2, ~@17 [bb3,bb4]@22 bb1@7 ~@2]/2", // Bb
  I: "[~@17 [eb3,g3,bb3,eb4]@11 [d3,d4] [eb3,g3,bb3,eb4]@3 [g3,bb3]@3 [d3,g3,bb3,d4]@3 [g3,bb3]@3 [g3,bb3]@3 [g3,bb3]@3 [g3,bb3]@3 ~@3 [bb4,g5,bb5]@12 [db3,g3,bb3,db4]@11 [c3,c4] [db3,g3,bb3,db4]@3 [g3,bb3]@3 [c3,g3,bb3,c4]@3 [g3,bb3]@3 [eb3,ab3]@3 [eb3,ab3]@3 [eb3,ab3,b3]@5 ~ [eb3,ab3,b3,b4,ab5,b5]@15 ~@4, ~@17 eb2@48 eb2@48 ~@7, ~@41 [eb3,eb4] ~@2 [d3,d4] ~@2 [db3,db4]@18 ~@24 [db3,db4] ~@2 [c3,c4] ~@2 b2@21 ~@4]/5", // Eb D Eb Gm Eb Gdim C Gdim …
  J: "[~@5 [e3,ab3,b3,e4]@11 [eb3,eb4] [e3,ab3,b3,e4]@3 [ab3,b3]@3 [eb3,ab3,b3,eb4]@3 [ab3,b3]@3 [ab3,b3]@3 [ab3,b3]@3 [ab3,b3]@3 ~@3 [b4,ab5,b5]@12 [d3,ab3,b3,d4]@11 [db3,db4] [d3,ab3,b3,d4]@3 [ab3,b3]@3 [db3,ab3,b3,db4]@3 [ab3,b3]@3 [d3,f3,a3,d4] ~@2 [db3,f3,a3,db4] ~@2 [a3,c4]@5 ~ [a3,c4,c5,a5,c6]@14 ~@17, ~@5 e2@48 e2@23 ~ f2@26 ~@17, ~@29 [e3,e4] ~@2 [eb3,eb4] ~@2 [d3,d4]@18 ~@30 [c3,f3]@20 ~@17]/5", // E Eb E Abm E Abdim Db Abdim …
  K: "[~@21 ab3@20 ~ db4@5 f4@5 ab4@5 db5@5 f5@5 ~ ab5@4]/3", L: "[~ ab5@20 g5@10 ~ d5@10 ~@6]/2",
  M: "[~@19 g5@11 f5@8 eb5@2 d5@8]/2", N: "c5@3 c5@10 ~ b4@8 c5@2", O: "~ eb5@12 e5@9 d5@2",
  P: "[~@21 eb5@8 e5@3 g5@15 ~]/2", Q: "[~@6 ab5@15 ~ gb5@5 a5@15 ~ ab5@5]/2", R: "[~ b5@27 ~@2 a5@6 ab5@6 gb5@6]/2",
  S: "f5@5 ~@7", T: "[~@8 f4@10 ~ gb4@11 eb4@8 c4@2 ab3@10 ~ ab3@15 ~@6]/3",
  U: "[~@22 [f4,f5]@10 ~ [gb4,gb5]@10 ~ [eb4,eb5]@8 [c4,c5]@3 [ab3,ab4]@10 ~ [a3,a4]@8 [ab3,ab4]@2 db4@3 ~@8 c4 db4@3 ~@3 [db2,db3] ~@5 [gb2,gb3] ~@5 [gb3,db4]@3 gb4@2 f3 a4@3 db5@3 [a3,db4,gb5]@2, ~@94 db4@6 a3@6 ~@6 gb3 ~@2 f3 ~@2 e3 ~]/5", // F Gb Eb C Ab A Ab Db …
  V: "[~ a5@3 ~@12 [d4,d5]@3 ~@3 [d2,d3] ~@5 [g2,g3] ~@5 [g3,d4]@3 g4@2 gb3 bb4@3 d5@3 [bb3,d4,bb4,d5,g5]@2, ~ eb3 ~@2 [d3,gb4,a5]@15 ~@29, ~@4 d4@9 gb5@6 ~@29, ~@5 a3@14 ~@9 bb3@6 ~@6 g3 ~@2 gb3 ~@2 f3 ~, ~@5 d5@10 db4@5 ~@2 d4@6 ~@20]/2", // D G G5 Gm D
  W: "[~ bb5@3 ~@9 [db4,g5]@3 b3@5 b3 ~@3 a3@3 ab3@5 ~@4 [gb3,ab4]@3 ~@9 [d3,b4]@3 [e4,g4,c5,e5]@5 [b2,b3] [g4,c5,e5,g5]@5 [b2,b3] [c5,e5,a5,c6]@5 [ab2,ab3] [a2,a3] ~@2 [g2,g3] ~@2 f5@2 ~@3 f5@2 ~@2 [e2,e3,f6] ~ f5 f6 f5 f6 ~ f5 f6 f5 f6, ~ e3 ~@2 [eb3,bb3,g4,bb5]@12 [b2,gb4,eb5]@12 [ab2,b3]@12 [e2,b3]@12 [c2,c3]@3 ~@41, ~@4 eb4@5 d4@8 ~@5 [b3,eb4]@6 ~@5 g3@8 e4 ab4 e4@9 ~@18 [e5,a5,c6,e6]@6 ~@2 f6@2 f6@3 f6@2 ~@11, ~@5 eb5@11 ~@26 b4@4 [e3,ab4]@6 ~@27 f5@2 ~@3 f5@3 ~@9, ~@10 eb4@6 ~@18 [ab3,eb4]@6 e3@5 eb3@8 ~@5 [c3,c4]@3 ~@3 [a2,a3]@4 ~@8 [f2,f3]@10 ~ [f2,f3]@3 ~@2 [e2,e3]@3 ~]/4", // Dbdim Gbsus2 G C B C B Am …
  X: "[~ [f2,f3,f5] f6 [e2,e3,f5] ~ f6 ~@2 f5@2 [f3,a3,f4] ~@2 f5@2 ~@2 f6@2 ~@3 f6@2 ~@3 f6@2 ~ [d2,d3,f6] f5 f6 ~ f5 f6 [d2,d3]@2 f6 f5 f6 [eb2,eb3,f5] ~ f6 [d2,d3,f5] f6 f5@2 ~@2 [ab3,db4,f4,ab4] ~@4 f6@2 ~@3 f6 ~@3 [f5,ab5,d6]@2 ~@3 [bb2,bb3,f5,ab5,d6]@2 f6, ~@6 [eb2,eb3]@15 [eb2,eb3]@10 [eb2,eb3]@3 ~@12 [db2,db3]@10 ~ [db2,db3]@5 ~ f6@3 f6@2 f6@3 ~, ~@6 f5@2 ~@3 [f3,a3,f4]@20 ~@21 [ab3,db4,f4,ab4]@10 b2@5 [b2,b3]@5, ~@7 f6@3 f6@2 f6@3 f6@2 ~@3 f6@2 ~@3 f6@2 ~@21 f6@2 f6@2 ~ f6@2 ~@3 f6@2 ~@2 [f5,ab5,d6]@2 ~@3 [f5,ab5,d6]@2 ~@3, ~@11 f5@2 ~@3 f5@3 f5@2 f5@3 f5@2 f5@3 f5@2 ~@5 f5 ~@12 f5@3 f5@2 f5@3 [f5,ab5,db6]@2 [c2,c3,f5,ab5,db6]@3 b1@10]/3", // F Fmaj7 F Dm D Ebsus2 Dm Db …
  Y: "[~@2 [gb5,c6,eb6]@2 ~@2 gb6@2 ~ gb6 ~ g6@2 ~@3 g6@2 ~@3 ab6@2 ~@2 [a5,c6,eb6,gb6]@2 ~@3 [bb5,db6,e6,g6]@2 ~@2 bb6 [b5,d6,f6,ab6]@2 ~@2 b6@2 ~@3 b6@2 ~@3 [b3,d4,f4,ab4,b4] ~@3 [b5,d6,f6,ab6]@2 ~@3 [b5,d6,f6,ab6]@2 [b3,d4,f4,ab4,b4,b6] [b3,d4,f4,ab4,b4,b5,d6,f6,ab6,b6]@5 [b2,f3,ab3,b3,f5,ab5,d6,f6]@2 ~@4, a3@10 g2@5 [g2,g3]@5 [ab5,b5,d6,f6]@3 [e2,e3,ab5,b5,d6,f6]@12 [b1,f2,ab2,b2]@31 ~@6, a2@5 [a1,a2]@5 g1@14 ab6 [eb2,eb3]@2 a6 [d2,d3,a5,c6,eb6,gb6]@8 ~@2 [b5,d6,f6,ab6]@3 [b5,d6,f6,ab6]@2 [b5,d6,f6,ab6]@3 ~@2 [b5,d6,f6,ab6]@3 [b5,d6,f6,ab6]@2 ~@3 [b5,d6,f6,ab6]@2 ~@14, [gb5,c6,eb6]@2 ~@3 [gb5,c6,eb6]@3 [ab1,ab2,gb5,c6,eb6]@3 ~@3 g6@2 ~@2 [bb5,db6,e6] g6 [f2,f3]@9 a6 [db2,db3]@2 bb6 [c2,c3,bb5,db6,e6,g6]@3 ~@10 [b3,d4,f4,ab4,b4,b5,d6,f6,ab6]@3 ~@2 [b3,d4,f4,ab4,b4]@5 [b3,d4,f4,ab4,b4]@4 ~@12, ~ gb6@3 gb6@2 ~@4 [g5,bb5,db6,e6]@3 [g5,bb5,db6,e6]@2 [g5,bb5,db6,e6]@3 [gb2,gb3,g5]@18 ~ b6@2 ~@3 b6@2 ~@3 b6@2 b6@2 ~ b6@3 b6@2 b6@3 ~@12]/3", // Cdim Adim Bbdim Bdim G Abdim E7 Fdim …
  Z: "[~@2 bb3 ~@13 [gb2,gb3,bb3,db4,gb4]@5 [d2,d3,a3,d4,gb4]@9 [bb1,bb2,bb3,d4,f4,bb4]@10 [gb1,gb2,bb3,db4,gb4,bb4]@2 ~@6, [gb2,gb5,bb5,db6,gb6] ~@15, ~ [db3,gb3]@2 ~@45]/2", // Gb D Bb Gb Gb5
  AA: "[~@6 [gb3,bb3,db4,gb4,bb4,db5]@5 [d3,gb3,a3,d4,gb4,a4,d5]@6 ~@7 d4@6 [gb3,bb3,db4,gb4,bb4,db5,gb5]@2 ~@13 [gb3,gb4,bb4,db5,gb5]@4 [d4,gb4,a4,d5,gb5]@10 [bb3,d4,f4,bb4,bb5]@10 [gb3,bb3,db4,gb4,bb4,gb5,db6]@9 ~@3 gb4@7 [bb3,d4,f4,d5,bb5,f6]@30 [d3,bb3,f4,f5,bb5,d6,f6]@12 [gb3,bb3,db4,gb4,gb5,bb5,db6,gb6]@10 ~@4, ~@21 bb2@10 ~@113, ~@21 [f4,bb4,d5,f5]@6 ~@53 [d4,d6]@8 ~@56, ~@22 f3@9 ~@47 [d3,a4]@10 ~@56, ~@23 bb3@7 ~@49 [a3,gb5]@9 ~@56]/6", // Gb D Gb D Bb Gb Bb Gb …
  AB: "~@11 [db5,bb5,db6]@12 ~", AC: "[~@11 [d5,b5,d6]@15 ~@22]/2", AD: "~@12 [g3,g4]@10 ~ [gb3,gb4]",
  AE: "[[g3,g4]@6 [gb3,gb4]@6 [g3,g4]@3 [gb3,gb4]@3 ~@6 [d5,b5,d6]@12 [f3,f4]@10 ~ [e3,e4], ~@3 [f3,f4]@3 ~@2]/2", // G Gb G Gb G F E F
  AF: "[[f3,f4]@2 [e3,e4]@2 [f3,f4] [e3,e4] eb4 ~ [eb5,bb5,eb6]@4 ~@4, ~@3 eb3@3 ~@2]/2", // F E F E Eb5
  AG: "[g2,g3,bb3,db4,eb4]@11 ~ [ab2,ab3,b3,eb4]@11 ~", AH: "[[gb2,gb3,bb3,eb4]@13 ~ [e2,e3,ab3,eb4]@18 ~@16]/2",
  AI: "eb4@10 d4 ~ eb4@2 ~@4 d4@2 ~@4",
  AJ: "~ [gb3,a3]!2 [gb3,a3,c4] [f3,ab3]!3 d4, eb4@11 ~@7 [ab1,ab2,db4]@6, ~@3 d4@8 ~@4 c4@9, ~@6 db4@5 ~ [eb2,eb3,b3]@12", // Gbm Gbdim Fm Db5 Abm
  AK: "~@5 d3 eb3 ~@2 d3 ~@2, [eb2,eb3] ~", AL: "eb3 d3 db3 ~@5",
  AM: "~@3 c3 [gb3,a3,b3] b3 [f3,ab3,b3] ~, ~@6 db3@5 ~ b2@12, ~@5 [c3,gb3,a3]@3, ~@3 db3", // B7 Fdim Gbdim
  AN: "~@3 c3 [gb3,a3,b3] [c3,gb3,a3]@3, ~@6 db3@5 ~ b2@12, ~@5 b3 ~@2", AO: "[eb5,g5,bb5,eb6]/2",
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft_2 = note(`<
  ~@31 A ~ B ~@8 C@2 D ~@18 E@2 ~@16 F ~@3 G H ~ I ~@35 J@6 ~@6 K@5 ~@9 L M N O P Q R S T U@3 V
>`.pickRestart({
  A: "~@2 [g3,bb3]@2 [bb4,g5,bb5] [g3,bb3]@3 [g3,bb3]@3 [g3,bb3]@3 [g3,bb3]@3 ~@7", // Gm Eb Gm
  B: "~@4 [eb3,ab3,b3,b4,ab5,b5] ~@19", // Abm
  C: "[~@14 [ab3,b3]@2 [b4,ab5,b5] [ab3,b3]@3 [ab3,b3]@3 [ab3,b3]@3 [ab3,b3]@3 ~@19]/2", D: "~@16 [a3,c4,c5,a5,c6] ~@7",
  E: "[~@18 f5@11 eb5@11 ~@8]/2", F: "~ db5@10 ~@13", G: "~@2 db6@10 ~ b5@8 a5@3", H: "ab5@4 gb5 gb5@5 ~@2",
  I: "f5@5 ~@19",
  J: "[~@23 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@2 f3 [bb2,db3,gb3]@3 [bb2,db3]@3 [bb2,db3,f3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@2 [db5,bb5,db6] [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@3 [bb2,db3]@2 eb3 [bb2,db3,e3]@3 [bb2,db3]@3 [bb2,db3,eb3]@3 [bb2,db3]@3 [gb2,b2]@3 [gb2,b2]@3 [gb2,b2]@3 ~@2 [gb3,b3,d4,d5,b5,d6] [gb3,b3,d4]@15 ~@22, ~@23 gb3@10 ~@14 gb3 ~@2 f3 ~@2 e3 ~@17 e3@10 ~@14 e3 ~@2 eb3 ~@2 d3 ~@42]/6", // Bbm Gb Bbm Gb Bbm Bbdim Bbm Eb7 …
  K: "[~@12 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@2 [d5,b5,d6] [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 [b3,d4]@3 bb3@3 bb3@3 bb3@3 [g3,bb3,eb4]@2 [eb5,bb5,eb6] [g3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@3 ~@9, ~ g2@4 g2@4 ~]/5", // Bm G Bm Eb Eb5 Eb
  L: "[g3,bb3]!8, [eb2,eb3] ~@3", M: "[gb3,a3]@3 ~@7 [eb2,eb3] ~@10 [f3,ab3]@3", N: "g3 [g3,bb3]!7, eb4 ~",
  O: "[gb3,a3,b3]@3 [gb3,a3,b3]@3 [gb3,a3,b3]@3 ~ eb2 ~ [gb3,a3,b3]@3 b3@3 [f3,ab3,b3]@3 [d3,f3,ab3,b3]@3, ~@3 [c3,gb3,a3,b3] [eb2,b2]@4, ~@5 [c3,gb3,a3]@3, ~@3 [ab1,db3]", // B7 Fdim Ddim Gbdim Abm Gbdim Db5
  P: "[g3,bb3]@3 [g3,bb3]@3 [g3,bb3]@3 ~ eb2 ~@10 [d3,f3,ab3,b3]@3, [eb2,eb3]@11 ~ eb2@12, ~@3 d3@8 ~@7 ab1@6, ~@3 [g3,bb3] ~@4", // Gm Ddim Eb Gm
  Q: "[g3,bb3]@3 [g3,bb3]@3 [g3,bb3]@3 ~ eb2 ~@7 [f3,ab3,b3]@3 [d3,f3,ab3,b3]@3, [eb2,eb3]@11 ~ eb2@12, ~@3 d3@8 ~@7 [ab1,db3]@6, ~@3 [g3,bb3] ~@4", // Gm Fdim Ddim Eb Db5 Gm
  R: "~@5 [eb3,bb3,eb4,g4,bb4,eb5,g5] [eb3,bb3,eb4,g4,bb4,eb5,g5]@6, eb2", // Eb
  S: "~@5 [g3,bb3,eb4,g4,bb4,eb5,g5,bb5] [g3,bb3,eb4,g4,bb4,eb5,g5,bb5]@6, eb2", // Eb
  T: "~@5 [bb3,eb4,g4,bb4,eb5,g5,bb5,eb6] [bb3,eb4,g4,bb4,eb5,g5,bb5,eb6]@3 [bb3,eb4,g4,bb4,eb5,g5,bb5,eb6]@3, eb2", // Eb
  U: "[[bb3,eb4,g4,bb4,eb5,g5,bb5,eb6] ~ [eb5,g5,bb5,eb6]!2 ~@7 [bb1,bb2], ~ [eb2,eb3,eb5,g5,bb5,eb6] [eb2,eb3]@3 [eb2,eb3] [eb2,eb3]@2 [eb2,eb3]@2 [eb2,eb3]@2, ~@5 [bb1,bb2]@4 [bb1,bb2]@8 [bb1,bb2]@4 [bb1,bb2]@6 [bb1,bb2]@6 ~@3]/3", // Eb Bb Eb Bb
  V: "[eb2,eb3] ~@23", // Eb
})).s("gm_piano").gain(0.2)

stack(piano, piano_soft, piano_2, piano_soft_2)

More by Franz Liszt