Strudelify

keep talking

Sam Anderson

KeyG majorTempo100 bpm
0:00/0:00
// keep talking — Sam Anderson
// 100 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5916161; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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(`<
  ~@6 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 I@5 J@2 K I@2 L M@2 N O P@2 Q R S T S T U V W X Y Z Y AA AB AC AD AE AF AG I@2
  AH@2 AI@2 AJ@2 AK@2 AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD@2 BE BF BE BF BG BH BE BI BJ BK BL BM BN
  BO BP BQ BJ BR BS BT BU BV BW BX@2 BY BZ CA CB@2 CC@2 CD@2 CE@2 CF@2 CG@2 CH@3 CI I CJ CK CL I@3 CM CN ~@12
>`.pickRestart({
  A: "[~@28 b5@3 ~, [c4,e4,g4,c5,e5,g5]@31 ~, ~ b4@31, ~@28 a5 ~@3]/2", // C
  B: "[b5@6 a5 g5 a5@5 b5 a5 g5 ~@6 f5 [d5,e5] b4 b5@3 b5 d6@2 ~, [b3,d4,f#4,a4]@15 ~, [d5,f#5] ~, a5 ~@28 b5 ~@2]/2", // Dsus2 Bm7 D
  C: "[e6@12 ~ g6@2 ~ g6@3 ~@13, [c4,e4,g4,b4]@15 ~, b5@15 ~@17, d6 ~@12 f#6 ~@2 f#6 ~@15]/2", // Cmaj7
  D: "[[d5,f#5,b5]@15 b5 g5@6 g5!2 f#5@8, [b3,d4,f#4,a4]@15 ~]/2", // Bm Bm7
  E: "[e5@17 ~ d5@3 g5@3 ~@8, [c4,e4,g4,b4]@15 ~, c5@15 ~@17]/2", // Cmaj7
  F: "[~@2 e5@5 e5 f#5@8 a5 g5@13 e5 f#5, [b3,d4,f#4,a4]@15 ~]/2", // Bm7
  G: "[g5@9 a5 g5@6 b5@8 e6@7 ~, [c4,e4,g4,b4]@15 ~, ~@24 d6 ~@7]/2", H: "[[b3,d4,f#4,a4]@15 ~, d6@23 ~@9]/2",
  I: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3",
  J: "[e2@2 e3 e2 e3@2 e2 e3 e2@2 [e3,d6,e6] e2 d3@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@12 e6@17 ~ e6@2]/2", // E7
  K: "~@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, e2 ~@7, ~ e6@14 ~",
  L: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 [b2,b3] [g2,d4]", // B G5
  M: "[e2@2 e3 e2 [e3,e4]@2 [e2,d#4] e3 e2@2 e3 e2 [d3,d4]@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, g4@15 ~, b3@7 b3@8 d4, e4@4 ~@3 e4@5 ~@4 e4@15 ~]/2", // E Emaj7 D
  N: "[e2,e4]@2 e3 e2 ~@2 e2 e3 e2@2 e3 e2 d3@2 b2 [d3,b4], ~@3 e4@2 e4@3 e4@4 [d4,b4]@4, ~@2 e3 ~@5", // E G
  O: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [g4,b4]@7 g3", // G
  P: "[[e2,e4]@2 e3 e2 ~@2 e2 e3 [e2,e4]@2 e3 e2 d3@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [a3,f#4]@15 g3, ~@3 e4@2 e4@3 ~@3 d4@5 d4@15 ~, ~@2 e3 ~@13]/2", // E D
  Q: "[e2,c4,e4]@2 e3 e2 ~@2 e2 e3 [e2,e4]@2 e3 [e2,d4] d3@2 b2 d3, ~@3 e4@2 f#4@3 ~@4 b3@4, ~@2 e3 ~@5", // C E E7
  R: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@7 b3",
  S: "[e2,e4]@2 e3 e2 ~@2 e2 e3 [e2,e4]@2 e3 e2 d3@2 b2 d3, ~@3 e4@2 e4@3 ~@3 d4@5, ~@2 e3 ~@5", // E
  T: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 e2 d3@2 b2 d3, ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@3 [d4,f#4,a4]@3 [d4,g4,b4]@2, ~@2 e3 ~@5", // Em D G
  U: "[e2,e4]@2 e3 e2 ~@2 e2 e3 [e2,e4]@2 e3 e2 d3@2 a2 e3, [c4,a4]@15 ~, ~@3 e4@2 f4@3 ~@3 d4@5, ~@2 e3 ~@5", // E F
  V: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 e2 d3@2 a2 e3, ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@3 [d4,f#4,a4]@3 [b3,g4]@2, ~@2 e3 ~@5", // Em D Em
  W: "[e2,b3,e4]@2 e3 e2 ~@2 e2 e3 [e2,b3,e4]@2 e3 e2 d3@2 b2 d3, ~@3 e4@2 e4@3 ~@3 d4@5, ~@2 e3 ~@5", // E5
  X: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 e2 d3@2 b2 d3, ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@3 [d4,f#4,a4]@3 [e4,g4]@2, ~@2 e3 ~@5", // Em D Em
  Y: "[e2,b3,e4]@2 e3 e2 ~@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@3 e4@2 f#4@3 [b3,e4]@4 d4@4, ~@2 e3 ~@5", // E5
  Z: "[e2,g4,b4,e5]@2 e3 e2 ~@2 e2 e3 [e2,g4,b4,e5]@2 e3 e2 ~@2 [b2,b3] [d3,b3], ~@3 [g4,b4,e5]@2 [g4,b4,e5]@3 ~@3 [f#4,a4,d5]@2 [e4,g4,b4]@3, ~@2 e3 ~@3 d3 ~", // Em B G Em D Em
  AA: "[e2,g4,b4,e5]@2 e3 e2 ~@2 e2 e3 [e2,g4,b4,e5]@2 e3 e2 ~@2 b2 d3, ~@3 [g4,b4,e5]@2 [g4,b4,e5]@3 ~@3 [f#4,a4,d5]@2 [e4,g4,b4]@3, ~@2 e3 ~@3 d3 ~", // Em D Em
  AB: "[e2,e4]@2 e3 e2 ~@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [a3,f#4]@15 ~, ~@3 e4@2 e4@3 e4@4 d4@4, ~@2 e3 ~@5", // E D
  AC: "[e2,g4,b4,e5]@2 e3 e2 ~@2 e2 e3 [e2,g4,b4,e5]@2 e3 e2 d3@2 b2 d3, ~@3 [g4,b4,e5]@2 [g4,b4,e5]@3 ~@3 [f#4,a4,d5]@5, ~@2 e3 ~@5", // Em D
  AD: "[e2,c4,e4,g4,a#4]@2 e3 e2 ~@2 e2 e3 e2@2 e3 e2 [c3,d4]@2 b2 e3, ~@3 e4@2 f#4@3 [c4,e4,g4,a#4]@4 ~@2 b3@2, ~@2 e3 ~@5", // C7 Csus2 C7
  AE: "[e2,g4,b4,e5]@2 e3 e2 ~@2 e2 e3 [e2,g4,b4,e5]@2 e3 e2 d3@2 b2 d3, ~@3 [g4,b4,e5]@2 [g4,b4,e5]@3 ~@3 [f#4,a4,d5]@3 [e4,g4,c5]@2, ~@2 e3 ~@5", // Em D C
  AF: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d3,a4,d5]@2 b2 [d3,a4,d5], [e4,g4,b4]@11 ~@5", // D5 Em
  AG: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [g4,b4]@15 ~", // G
  AH: "[~@3 [g4,b4,c5,e5]@5 g4@3 [g4,b4,c5]@3 [g4,b4,c5]@13 ~ e5 d5 b4 a4, [c3,e3,g3]@31 ~, ~ b3@31]/2", // Cmaj7 C
  AI: "[[f#4,a4,b4,d5]@3 [f#4,a4,b4,d5]@9 ~@4 [b3,f#4]@4 [b3,f#4]@2 [b3,f#4]@2 [b3,f#4]!7 a3, [b2,d3,f#3,a3]@15 ~]/2", // Bm7 B5 Bm7
  AJ: "[e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3 e2@2 e3 e2 e3@2 e2 [e3,g4,a4] e2@2 e3 e2 [a4,c#5] g4 [b2,e4] [d3,d4], [b4,d5]@19 ~ [b4,d5]@4 ~@8, a4 ~@23 [a4,c#5]@4 d3@2 ~@2]/2", // A7 A E5 D Bm A
  AK: "[g4 ~ e3 e2 [e3,g4,b4]@2 e2 e3 e4 d5 e3 e2 [d3,e5]@2 [b2,e5] d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d3,g4,e5]@2 b2 d3, e2 ~@3 e2 ~@11, ~ e4@3 ~@5 e5@3 ~@3 e5@10 ~ e5@2 ~@2 [g4,e5]@2]/2", // Em Dsus2 E5 Em7 C
  AL: "e2@2 e3 e2 e3@2 [e2,d5] [e3,b4] e2@2 e3 e2 [d3,a4,d5,f#5]@2 b2 d3, [a4,d5,f#5]@3 ~ d5@2 ~ b4", // E7 E5 D
  AM: "[e2,a4,f#5]@2 [e3,a4,f#5] [e2,b4,e5,g#5] [e3,b4]@2 e2 e3 [e2,g4]@2 e3 e2 [d3,b5]@2 [b2,b5] [d3,e6], ~@6 b4@2 ~@2 g5@2 a5 ~@3", // F#m7 E E5 Em G B Dsus2
  AN: "[d6,e6] ~ e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d6,e6] d6 [b2,b5] [d3,a5], e2 e6@3 e6@2 d3 ~", // Dsus2 B D5
  AO: "e2@2 e3 e2 [e3,e5]@2 e2 e3 [e2,b4]@2 [e3,e5] [e2,d5] a4 g4 [b2,e4] [d3,d4], g5@4 ~@2 e4@2 a4 ~@3 d3@2 ~@2", // E E5 E E7 E5 D
  AP: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d3,d5]@2 [b2,b4] [d3,b4], e4@9 ~ d4@2 ~@4", // D B G
  AQ: "[e2,a4]@2 [e3,a4] e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@3 [g4,b4]@10 ~ [d5,f#5]@2", // A5 G D
  AR: "[d5,f#5] ~ e3 e2 e3@2 e2 e3 e2@2 e3 [e2,d5,f#5] [d3,d5,f#5]@2 [b2,e5,g5] [d3,d5,f#5], e2 ~@7, ~ [e5,g5]@9 ~@6", // D Em D Em
  AS: "[e5,g5] [d5,f#5] e3 e2 e3@2 e2 e3 [e2,e5]@2 [e3,d5] e2 e5 a5 b2 d3, e2 e5@3 ~ e5 d3 e5", // Em D E E7
  AT: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 a2 e3, g5@2 a5@5 ~",
  AU: "[d5,d#5] d5 [e3,a4,c5] e2 e3@2 e2 e3 [e2,a4]@2 e3 e2 d5 c5 [a2,a4] [e3,g4], e2 ~ c5@2 ~ [g4,d5] d3 ~", // D#maj7 Am A5 A Em G5
  AV: "e2@2 e3 e2 [e3,e4]@2 [e2,e4] [e3,e4] d4!2 [e3,b3] [e2,d4] [d3,a4,d5]@2 b2 d3, e4@2 ~@2 e2 ~@2 e5", // E E5 E7 D5
  AW: "[e2,g5,b5]@2 [e3,g5,b5] e2 e3@2 e2 e3 [e2,b4]@2 e3 e2 [d3,e5]@2 b2 d3, ~@3 e5@5 ~@2 d5@2 ~@2 e5@2", // Em E5 Dsus2
  AX: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 ~ g5 [b2,a5] [d3,g5], e5@6 d3 ~", // B7 G5
  AY: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d3,g5]@2 b2 d3, e5@11 ~@3 a5@2", // G5
  AZ: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, b5@4 d6@3 g6",
  BA: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, e6 b5",
  BB: "a5 g5 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 [b2,b4,d5] [d3,b4], e2@2 d5@11 ~@3", // Bm G
  BC: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, d5@11 ~ d5@4",
  BD: "[e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 [b2,b5] [d3,d6], e5@4 g5@4 b5@4 d6@17 ~@3]/2", // B D
  BE: "[e2,e4,g4,b4]@2 e3 [e2,e4,g4,b4] e3@2 e2 e3 e2@2 e3 e2 [d3,a4,d5]@2 b2 [d3,a4,d5], ~ [e4,g4,b4]@2 ~", // Em D5 Em
  BF: "[e2,e4,g4,b4]@2 e3 [e2,e4,g4,b4] e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@4 [e4,g4,b4]@11 ~", // Em
  BG: "[e2,e4,a4,c5]@2 e3 [e2,e4,a4,c5] e3@2 e2 e3 e2@2 e3 e2 d3@2 a2 e3, ~@4 [e4,a4,c5]@11 ~", // Am
  BH: "[e2,a4]@2 e3 [e2,a4] [e3,a4]@2 e2 e3 b4 a4 [e3,g4] [e2,b4] a4 g4 [a2,f#4] [e3,e4], ~@3 a4 e2 ~ d3 ~", // A5 Em E5 D E
  BI: "[e2,e4,g4,b4]@2 e3 [e2,e4,g4,b4] [e3,e4,g4,b4]@2 e2 e3 [e2,e4,g4,b4]@2 [e3,e4,g4,b4] [e2,e4,g4,b4] [e4,g4,b4]!2 [b2,e4,g4,b4] [d3,e4,g4,b4], ~@3 [e4,g4,b4] ~@2 d3 ~", // Em Em7 Em
  BJ: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 e2 d3@2 b2 d3, ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@3 [d4,f#4,a4]@3 [b3,g4]@2, ~@2 e3 ~@5", // Em D Em
  BK: "e2@2 e3 e2 [e3,e4]@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [b3,e4]@2 ~ e4 [b3,e4]@2 d4@2", // E E5
  BL: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 e2 d3@2 b2 d3, ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@3 [d4,f#4,a4]@3 [a3,g4]@2, ~@2 e3 ~@5", // Em D A7
  BM: "e2@2 e3 e2 [e3,e4]@2 e2 e3 e2@2 e3 e2 d3@2 b2 [d3,d4], [b3,e4]@4 ~@2 e4@4 e4@5 ~", // E D E5
  BN: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 e2 d3@2 b2 d3, ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@3 [d4,f#4,a4]@5, ~@2 e3 ~@5", // Em D
  BO: "[e2,e4,g4]@2 e3 e2 ~@2 e2 e3 [e2,e4]@2 e3 e2 d3@2 b2 d3, ~@3 e4@2 f#4@3 ~@3 d4@5, ~@2 e3 ~@5", // Em E
  BP: "[e2,e4,g4,c5]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,c5]@2 e3 e2 d3@2 b2 d3, ~@3 [e4,g4,c5]@2 [e4,g4,c5]@3 ~@3 [d4,f#4,a4]@3 [e4,g4,b4]@2, ~@2 e3 ~@5", // C D Em
  BQ: "[e2,e4,b4]@2 e3 e2 ~@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@3 e4@2 d4@3 d4@4 a3@4, ~@2 e3 ~@5", // E5
  BR: "[e2,a4]@2 e3 e2 ~@2 e2 e3 [e2,a4]@2 e3 [e2,a4] d3@2 b2 d3, ~@3 b4@2 a#4@3 ~@4 g4@4, ~@2 e3 ~@5", // A5
  BS: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 [e2,b3] d4 e4 [b2,g4] [d3,a4], ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@8, ~@2 e3 ~@3 d3 ~", // Em E5 Em D5 Em
  BT: "[e2,a#4]@2 e3 [e2,a4] [e3,a4]@2 [e2,g4] [e3,e4] [e2,g4]@2 e3 e2 ~@2 b2 d3, a4 ~@10 e4@2 d4@3, ~@6 d3 ~", // Edim A5 Em E Em
  BU: "[e2,e4,g4,b4]@2 e3 e2 ~@2 e2 e3 [e2,e4,g4,b4]@2 e3 [e2,d4,f#4,a4] [a4,a#4] ~ [b2,a4] [d3,e4,g4], ~@3 [e4,g4,b4]@2 [e4,g4,b4]@3 ~@8, ~@2 e3 ~@3 d3 ~", // Em D A#maj7 B7 Em7 Em
  BV: "[e2,a4]@2 e3 e2 e4!2 e2 [e3,e4] e4 ~ e3 [e2,d4] d4 b3 b2 [d3,a3], ~ g4 e3 ~ e2 ~ d3 ~, ~@9 d4@2 ~@5", // A5 E E7 D5
  BW: "g3!2 e3 [e2,g3] e3@2 e2 e3 e2@2 e3 e2 g3 e3 b2 d3, e2 ~ g3@4 d3 ~", // Em
  BX: "[[e2,g4,b4,e5]@2 e3 e2 ~@2 e2 e3 [e2,g4,b4,e5]@2 e3 [e2,f#4,a4,d5] [d3,e4,g4,b4]@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@3 [g4,b4,e5]@2 [g4,b4,e5]@3 ~@6 [g4,b4,e5]@17 ~, ~@2 e3 ~@13]/2", // Em D Em7 Em
  BY: "[e2,e5]@2 e3 [e2,e5] [e3,e5]@2 [e2,e5] [e3,d5] e2@2 e3 e2 d3@2 b2 [d3,b4,d5], d5 ~@7 e5@7 ~", // E E7 G
  BZ: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 ~ d5 [b2,c5] [d3,d5], d5 ~@2 e5@9 d3@2 ~@2", // Cmaj7 D
  CA: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 e5 d5 [b2,b4] [d3,a4], e5@4 e5@2 d3 ~", // B D5
  CB: "[~@27 b4 ~@2 b4 [g4,a4], [c3,e3,g3]@31 ~, g4@13 ~@3, [e4,c5] ~, ~ b3@31]/2", // Gsus2 C
  CC: "[[b2,d3,f#3,a3]@30 b4 [g4,a4], b4@7 ~, [d4,f#4]@15 ~@17, a4 ~@31]/2", // Bm7 Gsus2 D
  CD: "[a4@2 a4@8 ~ a4@2 a4@3 a4@3 b4@2 g4@4 a4 ~ b4 g4 a4@2 b4, [c3,e3,g3,b3]@15 ~, [c4,e4]@15 ~@17]/2", // Cmaj7 C
  CE: "[b4@8 b4 a4@2 d5 d5@2 b4@2 b4@2 b4!4 b4@2 a#4@2 a4!2 a4@2 a4!2, [b2,d3,f#3,a3]@15 ~]/2", // Bm7
  CF: "[[g4,c5]@15 ~@5 g5@2 f#5@10, [c3,e3,g3,b3]@15 ~, e5@19 ~@13]/2", // C5 Cmaj7
  CG: "[[f#4,b4,d5]@15 ~ b4@2 a#4@2 ~@12, [b2,d3,f#3,a3]@15 ~]/2", // Bm Bm7
  CH: "[[e1,e2]@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3 e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [g3,b3,e4]@23 ~]/3", // E Em
  CI: "e2@2 [e3,d6] e2 ~@2 e2 e3 [e2,e6]@2 e3 e2 d3@2 b2 d3, ~ e6 e3 ~@5, ~@5 e6@3 ~@3 e6@3 e6@2", // E7 E
  CJ: "~ b5 e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d3,e5,a5]@2 b2 [d3,e5,a5], e2@2 g5@9 ~ g5 ~@3, ~ b5 b5@4 ~@2", // Dsus2
  CK: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, [d5,g5] ~@3", // G5
  CL: "e2@2 e3 e2 e3@2 e2 e3 e2@2 [e3,a#4] [e2,a4] d3@2 b2 d3, ~@3 g4", // Edim A5
  CM: "[e2,g5,b5]@2 e3 e2 ~ g5 e2 e3 [g5,b5]!2 [e3,d6] [e2,b5] [e5,g5] [g5,b5] b2 [d3,g5], ~@3 [g5,b5]@2 ~ [g5,b5]@2 ~@2 g5@2 ~@4, ~@2 e3 ~ e2 ~ d3 ~", // Em G E7 E5 Em G G5 G
  CN: "[e2,g5,b5]@2 e3 e2 ~ g5 e2 e3 ~@8, ~@3 [g5,b5]@2 ~ [g5,b5]@3 ~@7, ~@2 e3 ~@5", // Em G
})).s("gm_piano").gain(0.4)

// chords · piano · soft notes
const piano_soft = note("<A@6 ~@135 B@2 C D@4 E D@4 E>".pickRestart({
  A: "[g5@13 ~ a5@8 b5@25 ~, [e2,e3]@23 ~]/3", // E
  B: "[~@9 b5 [e3,d5] [e2,g5] [d5,g5]!2 [b2,e5,g5] d3 ~@2 e3 e2 ~@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~@8 e2@2 ~@2 d3@2 ~ [g5,b5]@2 g5@3 e3@2 ~@10, ~@16 e2@2 b5@3 [g5,b5]@3 [g5,b5]@8]/2", // E7 Em G5 Em G
  C: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3",
  D: "e2@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 [d3,a4,d5]@2 b2 d3, [b4,e5]@2 [a4,d5]@2 [g4,b4]@2 ~ [g4,b4]", // D5 E5 D5 G
  E: "[e2,b4,e5]@2 e3 e2 e3@2 e2 e3 e2@2 e3 e2 d3@2 b2 d3, ~ [b4,e5] [b4,e5]@2 ~@4", // E5
})).s("gm_piano").gain(0.15)

stack(piano, piano_soft)