Strudelify

Láºn cuái

Ngát

KeyE♭ majorTempo84 bpm
0:00/0:00
// Láºn cuái — Ngát
// 84 bpm, 4/4, 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: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5873267; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 74 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(84/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 B@3 C D E F G H I J K L M N@4 O P@3 Q@3 R S@2 T U V W X Y Z AA AB@2 AC AD AE AF AG AH AI AJ AK AL AM AN AG AO AI
  AP AQ AR AS AT AU@2 AV AW AX AY@5 AZ@4
>`.pickRestart({
  A: "[c4,e4]@4 [g3,c4,e4]@2 c3 e3 b2@2 ~@4 b2@2, [c2,c3]@7 ~ b1@8, ~@2 [ab3,b3,d4]!2, ~@5 b2@2 ~", // C Abdim
  B: "[[a3,c4,e4]@4 [a3,c4,e4]@2 c4 g3 ~@2 g3@2 ~@4 [f3,a3,e4]@4 ~@2 f2@2 ~@8 g3@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [a3,d4] ~@3 d4@2 c4 ~, a2@3 ~ g2@4 f2@3 ~ gb2@4 g2@3 g2@3 g2@2, ~@2 [bb3,d4] [g3,bb3,d4] ~ [f3,a3,c4,e4] a3 [a3,c4] ~@4, ~@7 c4@3 ~@2 d4@3 d4@3 d4@2 ~@4, ~@13 gb3@3 ~@4 [g3,b3]@3 ~]/3", // Am Fmaj7 C5 D5 Bb Gm Fmaj7 Am …
  C: "c3@2 c3@2 [c3,g3,c4,e4]@2 [c2,c3,d4] ~ e3@2 e3@2 ~@2 c3@2, c2@6 ~ d2@9, [g3,c4,e4] ~ [e2,d4]@2, ~@2 [ab3,b3,e4] [e3,ab3,b3,e4]", // C Csus2 C E7 E
  D: "~ a3 ~@2 [bb3,d4]@2 c3!2, [a1,a2]@7 g3@9, ~ [a3,c4,e4] ~ [c2,bb3,d4,g4], ~@3 f2 [g2,f4]@4", // Bb A Am Gm G7
  E: "f3 ~@4 a3 ~ [gb2,d4], f2@3 [f2,f3] gb2@3 ~, a3 [a3,c4] c4 [d3,a3,c4], ~@2 f3@4 ~ gb3@3 gb3@6", // D F Am D7
  F: "c4@2 [a3,c4]@2 [f3,a3,c4]@2 g3!2 d4@3 ~ [b3,d4,b4]@4, g2@3 g2@5, ~@2 d4@6 ~@3 g4@5, ~@3 [f3,a3,c4] g1@4", // Am F Bm F
  G: "e4 ~@14 d4, [d1,d2]@13 d4 [c4,f4]@2, a4@7 c4 f4 c5 d4 f4 [a4,c5]@4, c4@3 c5 e4 f4 c5 e4@9, [f4,c5] e4 f4 a3@13", // D F5 Am F5
  H: "~@15 e4, [e1,e2]@7 d4, d4@8 d5@2 [d4,g4]@3 g4@3, e4@2 d5@2 [b3,g4]@2 e4 g4@2 e4@2 d5@5, ~ g4@2 e4@2 d5@2 b3@5 [b3,e4]@4", // E G5 Em E5
  I: "~@15 d5, [d1,d2,a4]@7 [d4,f4], [c4,c5]@2 f4@2 [c4,e4]@2 c5 e4 f4 c5 [d4,e4]@2 [a3,c5]@4, ~ e4@2 c5@2 f4@2 c4@9, ~@2 a3@9 f4@2 e4@3", // D5 Dm C Dsus2 Am
  J: "~@15 c5, [e1,e2]@13 g4 [d4,a4]@2, e4 d5 b3@3 g4 [b3,e4]@2, ~ g4@2 e4@2 d5@2 a3@9, ~@4 g4@2 e4 g4 d5 e4@2 d5@5", // E D5 E5
  K: "~@15 e4, [d1,d2]@13 f4 [c1,c2,c5]@2, [c4,e4]@3 e4@2 c5@2 f4 c5@2 a3@6, ~ f4@3 [c4,f4]@4 c4@8, ~@2 [a3,c5]@4 [a3,e4]@3 e4 f4 c5 [g3,e4]@4", // D C F5 Am A5 C
  L: "~@15 a2, [d1,d2,a4]@12 [d4,gb4] c5 bb3@2, ~ c5@2 gb4@2 e4@2 [c4,c5]@2 gb4 c5 e4@5, ~ a3@7, ~ e4 [c4,c5] gb4 e4 c4@3", // D5 D C
  M: "b3@2 g3@2 ~@3 a3 a4@2 ~@5 a2, [g1,g2]@4 ~@3 g2, g4@3 [d3,g4] ~ [d3,a4]@3, d4@4 [g3,d4]@4 ~@3 a3@5, ~ b3@3 [c4,f4,c5]@2 [c4,f4,c5]@2", // G G5 D5 G5 F5
  N: "[g2@2 g3@2 [g1,g3]@2 g3@2 [e2,d4,g4]@2 [g3,f4] ~ e4@2 e1@2 c3@2 ~@5 g1 c3@2 ~@2 e4@2 [c2,c3,bb3]@2 db3@2 ~@5 ab1 db2@2 ~@4 db1@2 d3@2 ~@5 a2 ~@6 [e2,a4]@2, [c4,d4,g4]@6 ~@4 d2@2 [d2,b3,d4,g4]@4 c2@7 c4@3 f4@6 [a3,db4]@4 [g3,a3,db4,e4]@4 a3@8 [f3,a3]@4 [f3,a3]@4 [c4,f4]@4 ~@4, g1@2 f2@2 e1@3 ~ [g3,c4]@2 [g3,c4]@2 e4 c3 c4@2 db2@4 ~ [db2,f4]@3 d2@4 d2@4, ~@2 g2@4 g1@5 ~@3 e4@10 g4@8 ~@2 db3@6 db3@6 db3@10 ~@4 [f2,c4,f4]@4, ~@9 c3@2 c3 c2@3 e4@3 ~ g2 [db4,e4]@2 [ab1,db4,e4]@2 ~ d3@2 d3 ~ [d3,g4]@3]/4", // G Em7 G7 C7 A5 Csus2 G A …
  O: "[f2,c4]@2 [f2,c4]@2 f3@2 ~@2 ab3@2 f3 ~@3 [f3,e4]@2, [f3,ab3] [f2,ab3,c4] [g2,c4]@2, ~@3 f3@2 [f2,d4]@3, ~@5 ab3 [c2,ab3,f4]@2, ~@11 f3@3 ~@2", // F5 Fmaj7 Fm C5 Dm Fm
  P: "[g3@2 g3@2 [e2,e3,g3,b3,d4]@2 e2 ~ [e2,g3,e4]@2 [g3,e4]@2 [b2,g3,e4]@2 [e3,g3,e4] ~ [a2,g3,e4]@2 [g3,e4]@2 ~@4 [a2,a3,c4,e4]@2 [a2,a3,c4,e4]@2 ~@8 [gb4,a4,d5]@2 ~ a2 ~@2 [gb4,d5]@2 ~@3 [ab1,ab2], [e2,e3,b3,d4]@4 ~@4 e1@7 ~ a1@7 d3@5 ~@2 [g3,d4]@2 ~@2 c4@4 [c4,gb4,a4,d5]@2 a4@4 [gb4,a4,d5]@4, ~@2 g2@5 ~@3 e2@5 c4@5 [e3,g3,a3,c4,e4]@4 g4@4 ~@3 d2@3 d2@6 [d2,d5]@2 [d2,d3]@6, ~@9 a2@2 a2 ~@2 [a2,d3,a3,c4,e4,g4]@2 d1@4 [d1,d4]@4, ~@36 [d3,a3,d4,c5]@4 ~ a2@5 [a1,a2]@2]/3", // Em7 Em C Em A7 C Am D …
  Q: "[~@2 [d4,f4,a4,c5] ~ [d4,f4,c5]@2 g2@2 [d4,f4,ab4,b4] ~ d4@2 d4@2 c4@2 ~@4 [g3,c4,e4]@3 d4 ~@3 d4 ~@4 g4@2 ~@2 [a3,c4,g4,c5]@2 [a3,c4,e4] [f3,d4,f4] ~@6 a4@2, [g1,g2]@4 [g2,g3] ~@3 [g2,f3,g3]@2 [g3,f4,ab4,b4]@4 c5@10 ~@2 b3@2 [b3,d4,e4,ab4,b4]@2 [b2,g4]@2 ~@2 [c4,g4]@2 ~@6 c5@6, ~@10 b2 ~@3 g4@4 g4@6 [e4,ab4,b4]@3 f4@4 c4@3 e4@4 ~@3 a4@5 ~@2, ~@16 [c2,c3]@8 b1@8 [a1,a2]@7 ~ [g1,g2]@8, ~@16 e4@3 f4@5 b2@4 g4 a4@3 c5@3 d4@4 ~ [d4,g4,bb4,d5]@4 [g3,bb3,d4,g4,bb4,d5]@4]/3", // Dm7 Ddim C Am7 Am Dm G G7 …
  R: "~@4 c4@2 c4 [ab3,c4,d4] gb4@2 ~@5 [g4,e5,g5], f2 [gb1,gb2], [a4,c5]@3 g4@5 a4@3 e4 gb4 [e4,c5]@3, ~ d4@5 f3@2 ~@3 g4@3 [gb4,d5]@2, ~ g4 [c4,f4]@2 [f4,a4,c5]@4 ~@2 gb4@2 [gb3,d4,a4]@4", // Dm7b5 C Gb Am C D F5 F …
  S: "[~@10 [d3,b3,d4]@2 ~@3 gb2 [c2,c3,c4]@4 [c3,g3,c4] ~@3 [b1,b2,b3]@4 ab3@2 ~@2, [g1,a4,d5]@3 g2 [g2,c4]@2 ~@10, g2@4 [g3,c4,d4,g4]@3 g1@5 ~@20, g4@2 [b4,g5]@6 ~@2 g3@6 ~@12 b3 ~@3, ~ c5@7 ~@6 e4@6 ~@12]/2", // G C C5 B Gsus2 C5 Gsus4 Em
  T: "[a1,a2,c4]@4 [a2,a3,c4] ~@3 [g2,d4]@2 [g2,d4]@2 [f3,bb3,d4] ~ c4@2, ~@8 g1@5 ~@3", // Am G5 Bb
  U: "[f2,f3,c4]@4 [f3,a3,c4] ~@3 [gb2,gb3,d4]@4 [gb3,d4] ~@3", // F5 F D
  V: "[g1,g2,d4]@2 [b3,d4,g4] g3 [d4,g4,b4,d5] [g3,d4,g4,b4] [g2,g3] g2, ~@4 [g2,g3] ~@3 g2@4 [g4,d5] ~@3", // G5 G G5
  W: "~@4 f4 ~@5 f4@2 ~@3 [eb2,g4], d2@3 a3@2 d2 [a3,f4] d2, [d3,f4]@2 f4@2 ~ f4@3 ~ d4@7, ~ e4@2 d3@5 [d2,d3,f4]@2 d3@6, ~@3 [a3,e4]@3 e4@10", // Eb Dm A5
  X: "~@4 g4 ~ [e3,d4] [e3,d4,e4], e2@6 [e3,g3]@2 e2@2 [e3,d4,f4] g4 [d3,f4]@4, [e3,d5]@3 [e3,g3,e4]@2 g4@2 b1@9, ~ g4 d5@6, ~@3 e4@2 g3@3", // E7 Em Dm E7 Em
  Y: "~@10 [d3,f4]@2 ~@3 e4, d2@6 a3@4 d2@2 f4 e4 f4@2, [d3,f4]@2 f4@2 f4@2 d3 g4@9, ~ e4@7 [d2,d3,f4] e4@3 [d3,a3]@4, ~@3 [d3,a3]@3 d4@10", // Dm D5
  Z: "~@2 g3 ~@2 g3!2 ~ [e3,g4]@2 ~@2 [e3,g3]@2 [e3,g3,e4]@2, b4@10 [e3,g3,f4] g4 f4@4, e2@3 e4@2 d3@3, e3 g4 d5@6, ~ e4@2 [e3,g3,e4]@2 g4 e3 g3 e2@8", // Em
  AA: "[d3,f4]@2 f4 ~ e4@2 d3 ~@8 [a1,e4], d2@7 [d3,e4]@3 e4@2 d4@4, ~@3 [d3,a3,f4]@3 a3@5 [d3,a3]@2 e4@2 ~, ~@3 f4 d2@4, ~@4 f4@3 [d3,a3,f4]", // Dm A5 Dsus2 Dm D5 Dm
  AB: "[~@4 gb4 ~ d3 ~@8 e4 ~@12 g3!2 ~ [c3,bb3], d2@7 [d3,e4] gb4@3 [d3,gb3,e4] gb4 e4 [d3,gb3,gb4]@2 g1@4 e4 [c4,a4] f4 e4 [d4,a4] [c4,f4] e4 [c4,a4] f4 e4 [g3,c4]@2, [d3,gb4]@2 gb4 d3@2 gb4@3 d2@7 g2@17, ~ e4@5 a3@10 ~ e4@2 f4 d5@12, ~@3 gb3@7 d4@6 f4@2 b3@14]/2", // C7 Dsus2 D F D5 F5 F C5 …
  AC: "[g2,b3]@2 [g2,b3,g4]@2 [d2,g2,b3,d4,g4]@2 [d2,g2,b3] ~ [g1,b3,d4]@5 ~@3, g1@6 g4@2 [g2,g4]@3 ~@5, ~@8 d2 ~@7", // G
  AD: "[c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 ~ db3, g3!4, ~@7 [c2,c3,c4]", // C
  AE: "[db2,db3,e4]!8, db4 [g3,db4] db4 [g3,db4]", // Dbm Gdim
  AF: "[d2,d3,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 ~ [e2,bb4], d4 c4, f4 [a3,c4,f4] f4 [d4,f4], ~@7 [d2,d3,a4]", // D5 Edim F Dm D5
  AG: "[f2,f3,ab4]!8, [d4,f4] [c4,d4,f4] f4 [c4,f4,g4]", // Fm Dm Dm7 Csus4
  AH: "[e2,e3,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 ~ c3, d4 [b3,d4,e4] e4 [b3,e4], ~@7 [e2,e3,g4]", // Em E7 E5 Em
  AI: "[a2,g4] [a2,a3,g4]!3 [a2,g4] [a2,a3,g4]!3, a1!2, d4 [d4,e4] e4!2", // A7 Dsus2
  AJ: "~@5 a3 d3!10, [d1,a4] ~, [d2,a3]@2 [d2,d4,c5]@2 ~ d2!2 [d2,e4], ~ c4@2 [a3,c4] ~@2 a3@2, ~@2 d3 ~@5", // D5 D7 Dsus2 Am
  AK: "g2@2 [g2,g3]@2 [g2,g3,g4]@2 [g2,g3,g4]@2 [g2,f4,g4]@2 ~@2 [g3,e4,g4]@2 ~ c2, [g1,a4] [g1,d4], [g4,c5]@2 [e4,c5]@2 ~ g2@2 [g2,g3,e4,g4,a4], ~ f4@3 ~ [g3,g4] [e3,b3,c4]@2, ~@11 f4@5", // G G7 C Gsus2 G5 C5 C A7 …
  AL: "[c2,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 [c2,c4]@2 [c2,c3,c4]@2 [c2,c3,c4]@2 ~ db3, c1!2, g3!4, ~@7 [c2,c3,c4]", // C
  AM: "[db2,e4] [db2,db3,e4]!3 [db2,e4] [db2,db3,e4]!3, db1!2, db4 [g3,db4] db4 [g3,db4]", // Dbm Gdim
  AN: "[d2,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 [d2,a4]@2 [d2,d3,a4]@2 [d2,d3,a4]@2 ~ [e2,bb4], [d1,d4] [d1,c4], f4 [a3,c4,f4] f4 [d4,f4], ~@7 [d2,d3,a4]", // D5 Edim D D7 F Dm D5
  AO: "[e2,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 [e2,g4]@2 [e2,e3,g4]@2 [e2,e3,g4]@2 ~ c3, e1!2, d4 [b3,d4,e4] e4 [b3,e4], ~@7 [e2,e3,g4]", // Em E7 E5 Em
  AP: "[d2,a4] [d2,d3,a4]!3 [d2,a4] a4!2 [a1,a4], d1!2, [d4,f4]!2 d4 [b1,d4,gb4], ~@5 [d2,d3]@3", // D5 A Dm Bm D
  AQ: "[g1,g2]@2 [g2,g3,d4,f4,a4,c5] ~ [g2,a3,d4,f4,c5]@3 d3 [g1,g2,d4,f4,ab4,b4] ~ [g2,d4]@2 [bb3,d4]@2 f4@2, ~@5 [f4,ab4,b4]@2 ~", // G Dm7 G7 G5 Bb Fdim
  AR: "~@2 bb2@2 bb2@2 ~ [bb4,eb5] ~@7 g3, [ab2,c5,eb5]@4 bb2@2 [bb0,bb1] [bb2,e4], [bb1,bb4]@2 [bb1,bb4,d5,f5]@2 bb1 [f2,c4,f4,ab4]@3, ~@3 bb2 d4@4, ~@8 [c4,ab4] [g4,bb4]@7", // Eb5 Ab Bb Bbdim Bb Fm Gm
  AS: "~@6 [g1,d4,f4] [g2,c4,e4] ~ [g2,c4] [g1,g2,e4] [g1,g2,f4] [g2,a4] a4 ~ [d3,d5], g0@7 ~@3 c4@3 [g2,g4] [d2,a4,c5]@2, [g1,c4] f4@2 ~ d4@4, ~ e4@3 [g1,d4]@2 ~@2 [g1,f4]@3 e4@5, ~@2 g1 [g2,c4]@2 [g2,c4,e4]@2 ~@2 g4@3 [g1,f4]@4", // G7 C C5 C G7 Gsus2 D G …
  AT: "[f2,a4]@2 [f2,a4]@2 a4@2 ~ g1 [f2,a4,c5]@2 c5@2 ~@3 [g3,g4], f1@7 f4@7 [g2,f3,c5]@2, [c4,f4] [f2,f3,c4,e4,f4] [f1,g4]@2, ~ a2@3 ~ [f2,e4,a4]@3, ~@6 a4@2 ~@2 f3@2 c5 f5@3", // F G Csus4 F5 Fmaj7 Fsus2 Fmaj7
  AU: "[[c2,c3,b4] [c3,c5] [c3,g3,g4] [c3,e5] [c3,e3,g3] c3 [e3,e5] b3 [c2,c3,d5] [c3,c5] [c3,e3,g3,c4] [c3,d4] [c3,e3,g3] c3 [c2,gb4,e5] g1 a4@2 a4@2 a4@2 ~ [e1,g3] a4@2 a4@2 ~@3 [g3,c5,f5], ~@4 g5@2 ~@6 e4@2 ~ c5@9 ~@5 f5@2 ~, ~@2 f1 [f1,c4], ~@4 [f2,e4] [f2,f3,e4,f4] [f2,e4] [f2,c3,d4,e4,f4], ~@11 a4 ~@2 a4!2]/2", // Cmaj7 C C5 C E Csus2 C Csus2 …
  AV: "[c2,c3,e5] [c3,c5] [c3,e3,g4] [c3,g3] [c3,e3,g3,c5,c6] [c3,e4,e5] [e3,g4,g5] [b3,d4,e5] [c2,c3,b4] [c3,g4] [c3,b3,b4] [c3,g4] [c3,b3,c5] [c3,g4] [g2,c4,c5] [d2,g4]", // C C5 C Em E7 Cmaj7 C5 Cmaj7 …
  AW: "c4@2 [c4,a4]@2 [c4,a4]@2 [g3,c4,g4,a4]@2 [f2,c4,a4]@2 f2@2 c3@2 ~ [g3,g4], [f1,f2]@4 ~ [c4,a4]@3, f4 [f3,f4] [a3,e4]@2, ~ [c3,e4]@3 f3@2 [f2,f3,d4,f4]@2, ~@7 c3", // F Am7 F G F A5 C Dm
  AX: "[c2,c3,e4,b4] ~ [c2,e4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,e4,g4] b3 [c2,c3,c4,e4,g4]@2 [c2,c3,g3] e4 [c3,g3,c4,d4] c3 [c2,c3,d4]@2", // Cmaj7 C C5 C C5 Csus2
  AY: "[[f2,f3,ab3]@2 [f2,f3,ab3,d4]@2 [f2,f3,ab3,d4]@2 f2@2 [f1,f2,c4,f4]@2 [f1,f2,c4,f4]@2 c4@2 gb1@2 ~@8 [g2,g3,b3,d4]@10 ~@6 g4@3 f4 [e4,g4]@2 ~@8 c4@2 ~@16 [e4,g5]@4 [d4,g4,bb4,f5]@2 ~ [db4,e4,g4,e5], ~@4 f4@4 ab4@4 [f1,f2,f4,ab4]@2 g4@7 a5@3 g1@24 c2@12 c3@2 g4@14 ~@4, ~@6 [f3,ab3]@10 [g1,g2]@7 [a4,c5] g4@8 ~@14 e4@10 [c4,d4,c5]@8 ~@6 db4@7 ~@3, ~@3 d4@2 d4@3 ~@2 [c6,e6]@6 ~@10 e3@6 db3@7 ~, ~@14 [c4,e4]@18 ~@18 c3@6 g4@2 e4@6 ~@7 d4 bb4@3 ~@5]/5", // Fm Ddim F5 G Em Gm7 Dbdim Fm …
  AZ: "[~ c4@2 ~@4 c4@11 c4@2 ~@9 d4@7 c4@22 ~@6, ~ [d3,d4,f4,c5]@17 [g1,a2,c5]@19 ~@27, ~@3 c4@4 ~@11 f4@4 [ab3,f4]@14 ~@28, ~@5 [a3,e4]@13 ~@2 c4@4 c4@12 ~@28]/4", // Dm7 Am7 Db A5
})).s("gm_piano").gain(0.3)

// chords · piano
const piano_2 = note(`<
  A ~@11 B ~@4 C D E F G H I J@2 ~@4 K L M ~@2 N@2 ~@3 O P Q R S T U V W X Y@2 Z T AA AB@3 AC@2 AD AE AF@2 AG AH AI AJ@2
  AK AL AM@3
>`.pickRestart({
  A: "~@6 g3@2 a3@2 g3 g3@5", B: "~@10 d5!2 d5@4, ~ g5, ~@9 g4@7, ~@11 e5@5", C: "~ g5@3, ~ c5@7",
  D: "~ g5@3, e5, ~ g4@7", E: "~@15 f3, f5@10 a3 g3 a3@2 d4@2, ~ d5@7, ~ a5@3, ~@9 b3@7", F: "~ ab5@3, f5, ~ c5@7",
  G: "~@15 c5, d5@6 d5@2 d5 g5@5 d5@2, ~ g4@7, ~ e5@3, ~@7 d4@9", H: "~ c6@3, b4, ~ g4@7", I: "~ c6@3, a5, ~ gb5@7",
  J: "[~@2 a5 ~ [d5,ab5] ~@9 e5@2, ~@3 a5@5 ~@4 b5@4, ~@3 e5@4 e5@7 ~@2, ~@10 [d5,ab5]@6 ~@11 f5@5]/2", // Ddim
  K: "~@3 bb4, ~@5 d5@3, ~@11 f4@5", L: "a4@4 ~@4 a4@4 ~@3 a3, ~@4 a4@3 f4@9, ~@3 c4@4 c4, ~@3 a4", M: "g3",
  N: "[~@15 g4@17, ~@6 a4!2 ~@8, ~@13 b4@3 ~@16]/2", O: "~ g5 [d5,g5]!2 [b4,d5,g5]@4",
  P: "~@3 e4, e5@5 g4@3, ~ c5@7, ~ g5@3, ~@3 a4@5", Q: "~@3 a4@5, e5, ~ g4@7, ~ g5@3",
  R: "~@15 f3, f5@9 b3 a3 g3 a3@2 d4@2, ~ e5@7, ~ a5@3, ~@7 d5@9", S: "~@7 c5@9, f5, ~ e5@7, ~ ab5@3",
  T: "~@15 c5, d5@6 d5@2 d5 g5@5 d5@2, ~@2 g4@10 d5 g4@3, ~ e5@3, ~@7 d4@9",
  U: "~ a4, d5, b4@3 b4@5, ~ [g4,e5]@7, ~ c6@3", V: "~@7 d5@9, a5, ~ gb5@7, ~ c6@3",
  W: "~@2 a5 ~ [a4,d5] ~ g5!2, ~@3 a5@5, ~@3 e5@3 e5@2, ~@5 [a4,d5]@3", // D5
  X: "~@3 g5, e5, ~ c5@3 c5@4, ~@2 g5@3 a4@3, ~@3 b4@5",
  Y: "[~@31 f3, e5@14 f4@11 b3 a3 g3 a3@2 d4@2, ~ g4@3 g4@2 g4@2 ~@2 a5@6, ~ g5@3 f5@4, ~@3 a4@2 a4@3 ~ c6@7]/2",
  Z: "~@7 c5@9, f5, ~ c6@7, ~ ab5@3", AA: "~ a4, d5@3 b4@5, ~ d4@15, ~ [g4,e5]@7, ~ c6@3",
  AB: "[~@7 a5@5 ~@8 a5@2 ~@8 f5@18, a5@7 ~@5 a5@4 ~@6 [e5,a5]@10 ~@16, ~ gb5@7 ~ g5@3 [d5,g5]@4 ~@8, ~ c6@3 ~@8, ~@7 ab5@9 ~@8]/3", // A5 G5
  AC: "[~@17 ab5 ~@3 f5@2 ~@8 g5, e4@2 g4@2 g4@2 b4@2 a4@2 g4 a4 c5 d5 e5@2 ~@2 ab5@11 f6 c6@2, ~ f4@14 f5@6 ~@2 f5@2 a5@2 c5@5, ~@3 e4@13 ~@3 c5@7 f5@6, ~@5 a4@2 g4@2 b4@7 ~@2 g5@6 g5@4 a5@4]/2",
  AD: "~@3 c6 c6@2 ~ c6 ~@4 c5@4, a5@5 d5@3, ~ c6@2 ~@3 g5@2 c6@8, ~ d6@7, ~@9 g5@7",
  AE: "~@13 a5 ~ g6, ~@4 g5@2 a5@2 a5@2 c5@3 f6 a5@2, ~@5 f5@6 c6@5, ~@7 g5@2 g5@7, ~@11 a5 f5@4",
  AF: "[~@9 d6 d6@2 ~@17 f6@2 [g6,a6], e6@2 e6@2 e6@2 e6 f6@9 ~@16, ~ d6@7 e6@8 ~@16, ~@3 c6@7 c6@4 c6@18, ~@5 g5@7 [g5,d6]@4 ~@12 f5@4]/2", // Gsus2 G5
  AG: "~ g5!2 ~@4 c6@9, e6 e6@7, ~@3 g5@2 g5@11, ~ [c5,d5]@3, ~@2 e5 e5@5", // Csus2
  AH: "~@15 d6, ~ ab4@2 ab4@4 c6, ~ d5@3, ~@8 f5@4 c6 f5@3, ~@5 c5@3", AI: "~ g5@7, ~ [c6,d6]@15",
  AJ: "[~@6 c5 c5@6 ~@3, ~ e5 ~@2, ~@5 d5@3 ~@8]/2", AK: "~@3 e6@5, bb5 bb5@3, ~ g5@7",
  AL: "~@13 a5@3, ~@9 c6@7, ~@11 g5@4 ~",
  AM: "[g5 ~@8 f4 [b4,e5]@11 ~@3, ~@5 c5@5 ~@14, ~@13 a4@8 ~@27, ~@15 g4@5 ~@28]/3", // E5
})).s("gm_piano").gain(0.3)

stack(piano, piano_2)