Strudelify

Mendelssohn Symphony No. 4 Italian 4th Mvmt Arr. for 2 Pianos

Felix Mendelssohn

KeyA minorTempo184 bpm
0:00/0:00
// Mendelssohn Symphony No. 4 Italian 4th Mvmt Arr. for 2 Pianos — Felix Mendelssohn
// 184 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/3052416; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 264 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(184/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@2 B C ~@2 D ~@2 E ~@2 F ~@7 G H ~@3 I J K L M@2 N@2 O P Q R S T U V W X Y Z AA Z AB AC AD AE AF ~@8 AG ~ AH ~@7 AI
  ~@7 AJ AK AL AM AN AO AP AQ AP AR@2 AS AT AU@3 AV AW AX AY@2 AZ@2 BA BB@2 ~@13 BC BD BE ~@35 BF BG ~@2 BH BI BJ BK
  BL@4 BM@3 BN BO BP BQ BR BS BT@2 BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL ~@9 CM CN CO CP CQ CR CS CT
  CU@4 CV CW CX CY CZ@2 DA DB DC@4 DD DE DF@2 DG DH DI DH DJ DK DL DM DN ~@16 DO DP DQ DR DS DT
>`.pickRestart({
  A: "[[a4,c5,e5,a5]@4 [a4,c5,e5,a5,c6]@4 [a4,c5,e5,a5,c6,e6]@4 [a4,c5,e5,c6,e6,a6]@4 [a4,c5,e5,c6,e6,a6,c7]@2 ~@9 a4!3 ~ a4, ~@6 a5@3 ~@7]/2", // Am
  B: "a4 ~@2 a4!3 ~ a4!2 ~@2 a4!3 ~ a4", C: "a4 ~@3", D: "f5 ~@15", E: "[d4,f4,b4] ~", F: "[a4,b4]@3 ~ [a4,b4]@3 ~",
  G: "[f#4,a4,b4,f#5,a5,b5]@3 ~ [f#4,a4,b4,f#5,a5,b5]@3 ~", H: "[f#4,a4,b4,f#5,a5,b5]@5 ~@3", I: "~@15 [c#5,e5,c#6,e6]",
  J: "[d5,f5,d6,f6] ~@2 [b4,d5,b5,d6] [d5,f5,d6,f6] [c#6,e6] ~ [b4,d5,b5,d6] [e5,g5,e6,g6] ~@2 [c#5,e5,c#6,e6] [e5,g5,e6,g6] [d6,f6] ~ [c#5,e5,c#6,e6]", // Dm Bm Dm C#m Bm Em C#m Em …
  K: "[f5,a5,f6,a6]@2 ~@2 [d5,f5,d6,f6]@2 ~@2 [b5,e6] ~@2 [g#5,b5] [e5,g#5] [f#5,a5] ~ [g#5,b5], ~ [g#4,b4], ~@8 e5@3 ~@5", // F Dm E5 G#m E F#m G#m
  L: "[a5,c6] ~@2 [f#5,a5] [a5,c6] [g#5,b5] ~ [f#5,a5] [b5,d6] ~@2 [g#5,b5] [b5,d6] [a5,c6] ~ [g#5,b5], [f#4,a4,d#5] [e4,g#4,d5]", // Am F#m Am G#m F#m Bm G#m Bm …
  M: "[[a4,c5]@2 ~ [c6,e6] [a5,c6] [b5,d6] ~ [c6,e6] [d5,f5]@2 ~ [b5,d6] [d6,f6] [c6,e6] ~ [b5,d6] [c5,e5]@2 ~ [a5,c6] [c6,e6] [b5,d6] ~ [a5,c6] [g#4,b4,g#5,b5]@2 ~@2 [g#4,b4,e5,g#5,b5,e6]@2 ~@2, [c6,e6] ~@3 a4@6 ~@2 a4@6 ~@2 [a4,c5,e5]@4 ~@8, ~@4 [c5,e5]@4 [d6,f6] ~@3 [d5,f5]@4 [c6,e6] ~@15]/2", // Am C Am Bm C Dm Bm Dm …
  N: "[[a4,c5,e5]@2 ~ [c6,e6] [a5,c6] [b5,d6] ~ [c6,e6] [d5,f5]@2 ~ [b5,d6] [d6,f6] [c6,e6] ~ [b5,d6] [c5,e5,a5,c6]@2 ~@2 [a4,c5,e5,c6,a6]@2 ~@2 g#6 a6 g#6 a6 g#6 a6 f#6 g#6, [a5,c6] ~@3 a4@6 ~@2 a4@6 ~@6 [a4,b4,d5,f5]@8, ~@4 [c5,e5]@4 [d6,f6] ~@3 [d5,f5]@4 ~@16]/2", // Am C Am Bm C Dm Bm Dm …
  O: "[c5,e5,c6,a6]@2 ~@2 [c5,c6] ~ [b4,b5] ~ [a4,a5]@2 [g#4,g#5]@2 [a4,a5] ~ [g4,g5] ~", // Am C B A G# A G
  P: "[f4,f5]@2 [e4,e5]@2 f5 ~ e5 ~ d5 ~ f5 ~ c5 ~ f5 ~", Q: "b4 ~ f5 ~ a4 ~ f5 ~ [e4,b4,e5,b5,e6]@6 [d5,f6] [b4,d6]",
  R: "[e4,a4,a5,c6]@2 ~@2 [e4,a4,e5,a5]@2 ~@2 [g#4,b4,e5,g#5,e6]@6 [d5,f6] [b4,d6]", // Am A5 E Dm Bm
  S: "[a4,c5,e5,a5,c6]@4 [c5,c6] ~ [b4,b5] ~ [a4,a5]@2 [g#4,g#5]@2 [a4,a5] ~ [g4,g5] ~", // Am C B A G# A G
  T: "[f4,f5]@2 [e4,e5]@2 [f4,f5] ~ [e4,e5] ~ d5 ~ f5 ~ c5 ~ f5 ~", // F E F E
  U: "b4 ~ f5 ~ a4 ~ f5 ~ [d5,g5,d6,g6]@6 [f5,a6] [d5,f6]", // G5 F Dm
  V: "[c5,e5,c6,e6]@2 ~@2 [g4,c5,e5,g5,c6]@2 ~@2 [g4,b4,d5,g5,b5,g6]@6 [f5,a6] [d5,f6]", // C G F Dm
  W: "[c5,e5,c6,e6]@4 ~@4 [a4,e5,a5,e6,a6]@6 [g5,a#6] [f5,f6]", // C A5 Gm F
  X: "[a4,d5,f5,d6,f6]@2 ~@2 [a4,d5,f5,a5,d6]@2 ~@2 [a4,c#5,e5,a5,c#6,e6,a6]@6 [g5,a#6] [f5,f6]", // Dm A Gm F
  Y: "[a4,d5,f5,d6,f6] ~ [f#4,a4,d#5]@2 [f#4,a4,d#5]@2 [f#4,a4,d#5]@2", // Dm D#dim
  Z: "[f#4,a4,d#5]@4 [f#4,a4,d#5]@4 e5 g#5 ~ b5 d6 c6 ~ b5, ~@2 [g#4,b4]!2", AA: "[a4,c5,a5,c6] [f#4,a4,d#5]!3",
  AB: "[a4,c5,a5,c6] [d#4,a4,d#5,f#5]!3", // Am D#dim
  AC: "[d4,b4,d5,g5] ~ [f#4,d#5,a5] ~ [g4,d5,g5] ~ [f#4,d#5,a5] ~ [g4,d5,g5] ~ [f#4,d#5,a5] ~ [g4,d5,g5] ~ [f#4,d#5,a5] ~", // G D#dim G5 D#dim G5 D#dim G5 D#dim
  AD: "[g4,d5,g5] ~ [d#4,f#4,d#5,a5] ~ [d4,g4,d5,g5] ~ [d#4,f#4,d#5,a5] ~ [d4,g4,d5,g5] ~ [d#4,f#4,d#5,a5] ~ [d4,g4,d5,g5] ~ [d#4,f#4,d#5,a5] ~", // G5 D#dim G5 D#dim G5 D#dim G5 D#dim
  AE: "[d4,g4,d5,g5] ~ [e4,c5,e5] ~ [e4,a4,c5,e5,f#5] ~ [e4,f#4,a4,c5,e5,f#5,a5] ~", // G5 C F#m7b5
  AF: "[e4,g4,b4,e5,g5]@4 ~@4 [b4,d#5,f#5] ~@7, ~@2 [d#4,f#4] ~", AG: "f#4@3 ~@5", AH: "[f#4,g4] f#4@5 ~@10",
  AI: "b5 e5 ~@6", AJ: "~@8 d#6 e6 d#6 e6 d#6 e6 c#6 d#6, ~ f#5, ~@3 [c5,d#5]",
  AK: "[b4,e5,g5,e6] ~@2 [b4,g5,b5] [g4,e5,g5] [a4,f#5,a5] ~ [b4,g5,b5] [d5,b5,d6] ~@2 [g#4,b5] [b4,e5,d6] [a4,c6] ~ [g#4,b5]", // Em C D Em G G#m E7 Am …
  AL: "[a4,e5,c6] ~@2 [a4,c5]!2 [b4,d5] ~ [c5,e5] [f#4,f#5] ~@2 [a#4,c#6] [c#5,f#5,e6] [b4,d#6] ~ [a#4,c#6]", // Am Bm C F# A#m F#7 B A#m
  AM: "[b4,f#5,d#6] ~ [b4,d#5,f#5,b5] ~ [c5,c6] [b4,b5] [a4,a5] [g4,g5]", // B C B A G
  AN: "[f#4,f#5] [e4,e5] [d#4,d#5] [c4,c5] [b3,b4] a4 g4 f#4", AO: "e4 ~@2 e4!3 ~ e4 e4@4 [e4,b4,e5]@4",
  AP: "[e4,c5,f#5]@3 [e4,b4,e5] [e4,c5,f#5] ~ [d#4,f#4,b4,b5] ~", AQ: "[e4,g4,e5,g5]@2 ~ [e4,b4,e5]",
  AR: "[[e4,g4,g5,g6]@8 [g4,g5,g6]@15 ~ [g4,g5,g6]@8]/2", // Em G
  AS: "g4 [f#4,f#5,f#6] [e4,e5,e6] [d#4,d#5,d#6] [e4,e5,e6] [f#4,f#5,f#6] [g4,g5,g6] [a4,a5,a6]", AT: "[b4,b5,b6]",
  AU: "[~@2 [g4,g5,g6]@2 [e4,e5,e6]@2 [f#4,f#5,f#6]@2 [g4,g5,g6]@15 ~ [g4,g5,g6]@15 ~ [g4,g5,g6]@8]/3", // G E F# G
  AV: "~ [f#4,f#5,f#6] [e4,e5,e6] [d#4,d#5,d#6] [e4,e5,e6] [f#4,f#5,f#6] [g4,g5,g6] [a4,a5,a6]", AW: "[b4,b5,b6]@15 ~",
  AX: "[e4,g4,b4,e5,e6]@2 [e4,g4,b4] [e4,g4,b4,g5,g6] [g5,g6] [f#5,f#6] [e4,a4,c5]!2, ~@4 b5 ~@3 [e4,a4,c5]@4 [f#5,f#6] ~ [d#5,d#6] ~", // Em G F# Am F# D#
  AY: "[e5,e6] b5 [e4,g4,b4]!2 [g5,g6] [f#5,f#6] [e4,a4,c5]!2, [e4,g4,b4]@4 [e5,e6] ~ [g5,g6] ~ [e4,a4,c5]@4 [f#5,f#6] ~ [d#5,d#6] ~", // E Em G F# Am Em E G …
  AZ: "[[e4,g4,b4,e5,e6]@2 b5@2 [g5,g6] ~ [f#5,f#6] ~ [g4,b4,e5,e6]@2 b5@2 [g5,g6] ~ [f#5,f#6] ~ [g4,b4,e5,e6]@2 ~@2 [e5,e6,e7]@8 [b5,b6]@2 ~@2, ~@2 e4@3 ~ e4@3 ~@7, ~ [a4,c5] ~ [a4,c5] ~@3 b4]/2", // Em G F# Em G F# Em E …
  BA: "[g5,g6] ~ e5@2 b4@2 g4@2, g4@2 e6 ~ b5 ~ g5 ~", // G
  BB: "[e4@3 e4!3 ~ e4 e4@3 e4!3 ~ e4 e4@3 e4!3 ~ e4 e4@4 e4@4, e5]/2",
  BC: "~@8 c#6 d6 c#6 d6 c#6 d6 b5 c#6, ~ [g4,a#4,c#5,e5]", // Gdim
  BD: "[f#4,a4,d5,d6]@2 ~@6 c#6 d6 c#6 d6 c#6 d6 b5 c#6, ~ [g4,a#4,c#5,e5]", BE: "[f#4,a4,d5,d6] ~@7",
  BF: "~@5 [e5,b5] ~ [e5,b5] [e4,b4,d5,e5,b5]@3 [e5,b5]!3 ~ [e5,b5], ~@3 [e4,b4,d5]", // E5 E7 E5 E7
  BG: "[e4,b4,d5,e5,b5]@3 [e5,b5]!3 ~ [e5,b5] [e4,b4,d5,e5,b5]@3 [e5,b5] ~@4, ~ [e4,b4,d5] ~@2", // E7 E5 E7 E5 E7
  BH: "~@5 [c#6,e6] ~ [c#6,e6] [a4,c#5,e5,c#6,e6]@3 [c#6,e6]!3 ~ [c#6,e6], ~@3 [a4,c#5,e5]", // C#m A C#m A
  BI: "[a4,c#5,e5,c#6,e6]@3 [c#6,e6]!3 ~ [c#6,e6] [a4,c#5,e5,c#6,e6]@3 [c#6,e6] ~@4, ~ [a4,c#5,e5] ~@2", // A C#m A C#m A
  BJ: "~@13 b4 ~ c#5", BK: "d5@2 ~@2 g5 f5 ~ e5 d5 c#5 ~ b4 a4 b4 ~ c#5",
  BL: "[[f#4,a4,d5,f#5,a5]@3 [d5,f#5,a5]!3 ~ [d5,f#5,a5] [f#4,a4,d5,f#5,a5]@3 [d5,f#5,a5]!3 ~ [f#5,a5] [f#4,a4,f#5,a5]@3 [f#5,a5]!3 ~ [f#5,a5] [f#4,a4,f#5,a5]@3 [f#5,a5]!3 ~@2 [d5,d6]@8 ~@12 c5 b4 ~ a4 g4 f#4 ~ e4 d4 e4 ~ f#4, ~@4 [f#4,a4]@4 ~@4 [f#4,a4]@3 d5@16 [f#5,a5]@3 ~@6 [d5,d6]@15 ~ [d5,d6]@8, ~@10 [f#4,a4]@2 ~@2 [f#4,a4]@2 [f#4,a4] ~@15]/4", // D F#m D F#m D F#m
  BM: "[g4@2 ~@2 g5 a5 ~ b5 c6 d6 ~ e6 f6 e6 ~ d6 e6 d6 ~ c6 ~ a5 ~ b5 c6 d6 ~ e6 f6 e6 ~ d6 e6 d6 ~ c6 b5 c6 ~ d6 [c5,c6] [a#4,a#5] ~ [a4,a5] [g4,g5] [a4,a5] ~ [a#4,a#5], ~@8 g4@15 ~ [g4,g5]@15 ~@9, ~@8 g5@12 g5@3 ~@25]/3", // C A# A G A A# G
  BN: "[a4,a5] [g4,g5] ~ [f4,f5] [e4,c5] [f4,d5] ~ [g4,e5] [a4,f5] [a#4,g5] ~ [c5,a5] [c5,a#5] [d5,a5] ~ [e5,g5]", // A G F C Dm C Dm D# …
  BO: "a5 g5 ~ f5 e5 f5 ~ g5 f5 e5 ~ d5 c5 d5 ~ e5, f5 ~@7",
  BP: "d5 c5 ~ b4 f5 g5 ~ a5 b5 c6 ~ d6 [e5,e6] [d5,d6] ~ [c5,c6]", // E D C
  BQ: "[d5,d6] [c5,c6] ~ [b4,b5] [a4,a5] [b4,b5] ~ [c5,c6] [b4,b5] [a4,a5] ~ [g#4,g#5] [f#4,f#5] [g#4,g#5] ~ [a4,a5]", // D C B A B C B A …
  BR: "[g#4,b4,e5,g#5,b5,e6]@4 [e4,a4,c5,e5,a5,c6] ~ [e4,g#4,b4,e5,g#5] ~", // E Am E
  BS: "[e4,a4,c5,e5,a5] ~@3 [e4,b4,e5,b5,e6]@4 [e4,a4,c5,e5,a5,c6]@2 ~@2 [e4,g#4,b4,e5,g#5]@2 ~@2", // Am E5 Am E
  BT: "[[e4,a4,c5,e5,a5] ~@3 [e4,b4,e5,b5]@2 ~@2 a4 g4 ~ f4 e4 f4 ~ g4 f4 e4 ~ d4 [c4,c5] [d4,d5] ~ [e4,e5] [d4,d5] [c4,c5] ~ [b3,b4] [a3,a4] [b3,b4] ~ [c4,c5], ~@8 [c5,a5,c6]@11 ~@13]/2", // Am E5 C D E D C B …
  BU: "b3@2 ~ b4!3 ~ b4!2 ~@2 [d#5,b5,f#6] [b4,b5,d#6] [c#5,e6] ~ [d#5,f#6], b4 ~@15", // B C#m D#m
  BV: "[e5,g6] ~@2 [c#5,e6] [e5,g6] [d#5,f#6] ~ [c#5,e6] [d#5,b5,f#6] ~@2 [b4,d#6] [d#5,f#6] [c#5,e6] ~ [b4,d#6]", // Em C#m Em D#m C#m B D#m C#m …
  BW: "[e4,g4,a#4,c#5,a#5,c#6]@2 ~@2 [e4,g4,a#4,c#5,a#5,c#6]@2 ~@2 [d#4,f#4,b4,f#5,d#6,f#6] ~@2 [d5,f#6] [b4,b5,d#6] [c#5,e6] ~ [d5,f#6]", // Edim B D B C#m D
  BX: "[e5,b5,g6] ~@2 [c#5,e6] [e5,g6] [d#5,f#6] ~ [c#5,e6] [d#5,b5,f#6] ~@2 [b4,d#6] [d#5,f#6] [c#5,e6] ~ [b4,d#6]", // Em C#m Em D#m C#m B D#m C#m …
  BY: "[g#5,b5,e6]@8 b5 ~@2 [g#5,b5] [e5,g#5] [f#5,a5] ~ [g#5,b5], [g#4,b4,e5]@11 ~ [e4,g#4,b4]@4", // E G#m E F#m G#m E
  BZ: "[a5,c6] ~@2 [f#5,a5] [a5,c6] [g#5,b5] ~ [f#5,a5] [g#5,b5] ~@2 [e5,g#5] [g#5,b5] [f#5,a5] ~ [e5,g#5], [e4,f#4,a4] [e4,g#4,b4]", // Am F#m Am G#m F#m G#m E G#m …
  CA: "[d#5,f#5]@2 ~@2 [d#5,f#5]@2 ~@2 [g#4,b4,g#5,b5] ~@2 [b4,g#5,b5] [d5,e5,g#5] [c5,f#5,a5] ~ [b4,g#5,b5], [e4,a4,c5]@9 ~@7", // D#m G#m E E7 F#dim E Am
  CB: "[a4,a5,c6] [e4,c#5,e5,c#6] [a4,d5,a5,d6] [a4,d#5,a5,d#6]", // Am C#m D5 Adim
  CC: "[g#4,b4,e5,g#5,b5,e6]@8 ~@3 [b4,g#5,b5] [d5,e5,g#5] [c5,f#5,a5] ~ [b4,g#5,b5]", // E E7 F#dim E
  CD: "[a4,a5,c6] [a#4,c#5,a#5,c#6] [a4,d5,a5,d6] [a4,d#5,a5,d#6]", // Am A#m D5 Adim
  CE: "[g#4,b4,e5,g#5,b5,e6]@8 ~@3 [g#5,b5] [e5,g#5] [f#5,a5] ~ [g#5,b5], ~@3 e4", // E G#m E F#m G#m
  CF: "[e4,a4,c5,a5,c6] [a#4,c#5,a#5,c#6] [a4,d5,a5,d6] [a4,d#5,a5,d#6]", CG: "[g4,c5,e5,g5,c6,e6] [f4,a4,d5,f5,a5,d6]",
  CH: "[e4,a4,c5,e5,a5,c6] [d#4,f#4,b4,d#5,f#5,b5]", // Am B
  CI: "[e4,g#4,b4,e5,g#5] ~ [d4,f4,b4,f5,a5]@2 [e4,g#4,b4,e5,g#5] ~ [d4,f4,b4,f5,a5]@2", // E Bm7b5 E Bm7b5
  CJ: "[e4,g#4,b4,e5,g#5]@4 [f5,a5]!2 ~ [f5,a5] [e4,g#4,b4,e5,g#5]@4 [f5,a5]!2 ~ [f5,a5], ~ [d4,f4,b4] ~ [d4,f4,b4]", // E F E F Bdim
  CK: "[e4,g#4,b4,e5,g#5] e4!3", CL: "e4 ~@3", CM: "~@7 [c#5,e5] f5 e5 ~ d5 a4 b4 ~ c#5, ~@4 d5 ~ g4@2",
  CN: "d5 e5 ~ f5 [c#5,g5] [d5,f5] ~ [c#5,e5] f5 e5 ~ d5 a4 b4 ~ c#5, f4 ~@3 d5 ~ g4@2", // C#dim Dm C#m
  CO: "d5 e5 ~ f5 e5 f#5 ~ g#5 a5 b5 ~ c6 d6 c6 ~ b5, f4 ~ [b4,d5]@2 [a4,c5]@2 [g#4,b4]@2", // Bm Am G#m
  CP: "c6 b5 ~ a5 [d5,e5] [c5,f#5] ~ [b4,g#5] [c5,a5] [b4,b5] ~ [a4,c6] [b4,d6] [a4,c6] ~ [g#4,b5], a4 ~@7", // Dsus2 Cdim E F B Am Bm Am …
  CQ: "[c5,e6] ~@2 [c5,e6] [a4,c6] [b4,d6] ~ [c5,e6] [d5,f6] ~@2 [b4,d6] [d5,f6] [c5,e6] ~ [b4,d6]", // C Am Bm C Dm Bm Dm C …
  CR: "[c5,e6] ~@2 [a4,c6] [c5,e6] [b4,d6] ~ [a4,c6] [g#4,b4,g#5,b5]@2 ~@2 [g#4,b4,g#5,b5]@2 ~@2", // C Am C Bm Am G#m
  CS: "[c5,e5,c6,e6] ~@2 [c5,e6] [a4,c6] [b4,d6] ~ [c5,e6] [d5,f6] ~@2 [b4,d6] [d5,f6] [c5,e6] ~ [b4,d6]", // C Am Bm C Dm Bm Dm C …
  CT: "[c5,e6]@2 ~@2 [a4,a5]@2 ~@2 [b5,c6]!8, ~ [g#4,b4,e5]", // C A Cmaj7 E
  CU: "[[g4,a4,c#5,e5,g5,a5,c#6]@19 [a4,a5] [a#4,a#5] [a4,a5] ~ [g4,g5] [a#4,a#5] [a4,a5] ~ [g4,g5] [a#4,a#5] [a4,a5] ~ [g4,g5]]/2", // A7 A A# A G A# A G …
  CV: "[f#4,a4,d5,f#5,d6]", // D
  CW: "~@3 [a4,a5] [c5,c6] [b4,b5] ~ [a4,a5] [c5,c6] [b4,b5] ~ [a4,a5] [c5,c6] [b4,b5] ~ [a4,a5]", // A C B A C B A C …
  CX: "[a4,c5,d#5,a5,c6,d#6]", // Adim
  CY: "[c5,c6] ~@2 [a4,a5] [c5,c6] [b4,b5] ~ [a4,a5] [c5,c6] [b4,b5] ~ [a4,a5] [c5,c6] [b4,b5] ~ [a4,a5]", // C A C B A C B A …
  CZ: "[[e5,e6] ~ [e5,e6]@4 [d5,d6]@4 [c5,c6]@4 [b4,b5]@2]/2", // E D C B
  DA: "[e5,e6] ~@2 [e5,e6] [c5,c6] [d5,d6] ~ [e5,e6] [f5,f6] ~@2 [d5,d6] [f5,f6] [e5,e6] ~ [d5,d6]", // E C D E F D F E …
  DB: "[e5,e6] ~@2 [c5,c6] [e5,e6] [d5,d6] ~ [c5,c6] [d5,d6] ~@2 [e4,e5] [d5,d6] [c5,c6] ~ [b4,b5]", // E C E D C D E D …
  DC: "[[c5,c6] ~@29 [e4,e5]@2, ~ [e5,e6]@2 [d5,d6]@2 [c5,c6]@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [f4,f5]@2 ~, ~ [a4,a5] [g4,g5] [f4,f5] [e4,e5] [d4,d5] [c#4,c#5] [a#3,c#4,a#4,c#5]]/4", // C E D C B A G F …
  DD: "~ a4@2 a4 ~@4 a5@4 [a4,d5,a5,d6]@4, [a3,d4], ~ a5@6 f5@9, ~ d5@3 a4@8 ~@4, ~@5 d5@7 ~@4", // D5
  DE: "d#5@3 d#5 ~@4 d#6@4 [a4,c5,d#5,a5,c6,d#6]@4, [a4,c5]@3 ~, [c6,d#6]@7 c6@5 ~@4, a5 d#5@2 ~, ~@5 a5@7 ~@4", // Adim Am Cm
  DF: "[~@3 e4 ~@4 e5@3 e5 ~@4 e6@4 [c5,e5,c6,e6]@8 [e4,g#4,e5,g#5]@4, [c6,e6]@12 e5 a5@15 ~@4, a5@7 c5@8 c6@5 ~@12, [c5,e5]@5 a4@23 ~@4, a4 e4@6 ~]/2", // C E C
  DG: "[e4,a4,e5,a5] ~@3", DH: "~ [f4,a4,f5,a5]@2 [f4,a4,b4,f5,a5,b5]", DI: "[e4,a4,c5,e5,a5,c6]@15 ~",
  DJ: "[e4,a4,c5,e5,a5,c6]@4 ~@3 [c5,e5,c6,e6]", DK: "[c5,e5,c6,e6]@4 [a4,c5,a5,c6]@2 ~ [a4,c5,a5,c6]",
  DL: "[a4,c5,a5,c6]@4 [e4,a4,e5,a5]@2 ~ [e4,a4,e5,a5]", DM: "[e4,a4,e5,a5] ~ [e4,g#4,b4,e5,g#5,b5] ~",
  DN: "[d4,a4,d5,a5,d6]@13 ~@3", DO: "~@12 [g#4,b5] [a4,c6] ~ [b4,d6]",
  DP: "[d5,g#5]@2 ~@2 [g#4,f5,d6] [e5,c6] ~ [d5,b5] [g#4,f5,d6] [e5,c6] ~ [d5,b5] [g#4,f5,d6] [e5,c6] ~ [d5,b5]", // Ddim C G Ddim C G Ddim C …
  DQ: "[g#4,f5,d6] [e5,c6] ~ [d5,b5] [g#4,f5,d6] [e5,c6] ~ [d5,b5] [g#4,f5,d6] [e5,c6] ~ [d5,b5] [g#4,f5,d6] [e5,c6] ~ [d5,b5]", // Ddim C G Ddim C G Ddim C …
  DR: "[c5,e5,c6,e6] ~ [e4,g#4,b4,e5,g#5,b5] ~ [e4,a4,c5,e5,a5,c6] ~ [e4,g#4,b4,e5,g#5,b5] ~", // C E Am E
  DS: "[e4,a4,c5,e5,a5,c6] ~ [e4,a4,c5,e5,a5,c6,e6] ~", DT: "[c4,e4,a4,c5,e5,a5] ~@3",
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@5 A B C D E F G H I J K L M N O P Q R S T U ~@25 V W X Y Z W AA AB AC AD AE AF AG AH AI AJ AK AH AI AL AM AN AO AP
  AQ AR AS AT ~@26 AU AV AW AX@2 AY AZ@2 BA BB BC BD BE ~ BF BG@2 BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU@2 BV@2 BW BX
  BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS ~@33 CT CU CV CW CX CP CY CZ DA DB DC ~@35 DD DE DF DG
  DH DI DJ DK DL@5 A DM@2 DN DO ~@5
>`.pickRestart({
  A: "~@11 [c5,e5] [a4,c5] [b4,d5] ~ [c5,e5]", // C Am Bm C
  B: "d5 ~@2 [b4,d5] [d5,f5] [c5,e5] ~ [b4,d5] [c5,e5] ~@2 [a4,c5] [c5,e5] [b4,d5] ~ [a4,c5]", // Bm Dm C Bm C Am C Bm …
  C: "[g#4,b4]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,c5] ~@2 [c5,e5] [a4,c5] [b4,d5] ~ [c5,e5]", // G#m E Am C Am Bm C
  D: "[d5,f5] ~@2 [b4,d5] [d5,f5] [c5,e5] ~ [b4,d5] [c5,e5]@2 ~@2 [c5,a5]@2 ~@2", // Dm Bm Dm C Bm C F
  E: "~@7 g#5 [c4,e4,a4,a5] ~@2 [c5,e5] [a4,c5] [b4,d5] ~ [c5,e5], g#5!3 f#5 ~@4, ~ a5@2 a5@2 a5@3 ~@8", // Am C Am Bm C
  F: "[d5,f5] ~@2 [b4,d5] [d5,f5] [c5,e5] ~ [b4,d5] [c5,e5] ~@2 [a4,c5] [c5,e5] [b4,d5] ~ [a4,c5]", // Dm Bm Dm C Bm C Am C …
  G: "[g#4,b4]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,c5] ~@2 [a4,c5] [c5,e5] [b4,d5] ~ [a4,c5]", H: "~@3 c5 ~@3 c5, f#4!2",
  I: "[a4,b4]@9 ~@2 [a5,c6] [a4,c5,a5,c6] [g#5,b5] ~ [a4,c5,a5,c6], f#4@11 ~@5", // Asus2 Am G#m Am
  J: "[d5,f5,d6,f6] ~@2 [b4,d5,b5,d6] [d5,f5,d6,f6] [c6,e6] ~ [b4,d5,b5,d6] [c5,e5,c6,e6] ~@2 [a4,c5,a5,c6] [c5,e5,c6,e6] [b5,d6] ~ [a4,c5,a5,c6]", // Dm Bm Dm C Bm C Am C …
  K: "[g#4,b4,g#5,b5]@2 ~@2 [g#4,e5,g#5,e6]@2 ~@2 [a4,c5,a5,c6] ~@2 [c5,e5,c6,e6] [a4,c5,a5,c6] [b5,d6] ~ [c5,e5,c6,e6]", // G#m C#m Am C Am Bm C
  L: "[d5,f5,d6,f6] ~@2 [b4,d5,b5,d6] [d5,f5,d6,f6] [c6,e6] ~ [b4,d5,b5,d6] [a4,c5,e5,c6,e6]@2 ~@2 [a4,c5,a5]@2 ~@2, g#4 ~", // Dm Bm Dm C Bm Am
  M: "g#5 a5 g#5 a5 g#5 a5 f#5 g#5 [c5,e5,a5] ~@2 [c5,e5,c6,e6] [a4,c5,a5,c6] [b5,d6] ~ [c5,e5,c6,e6], [b4,d5,f5] ~", // Am C Am Bm C Bdim
  N: "[d5,f5,d6,f6] ~@2 [d5,f5,d6,f6] [f5,a5,f6,a6] [e6,g6] ~ [d5,f5,d6,f6] [c5,e5,c6,e6] ~@2 [a4,c5,a5,c6] [c5,e5,c6,e6] [b5,d6] ~ [a4,c5,a5,c6]", // Dm F Em Dm C Am C Bm …
  O: "[g#4,b4,g#5,b5]@2 ~@2 [g#4,e5,g#5,e6]@2 ~@2 [a4,c5,a5,c6] ~@2 [a4,c5,a5,c6] [c5,e5,c6,e6] [b5,d6] ~ [a4,c5,a5,c6]", // G#m C#m Am C Bm Am
  P: "~@3 [c5,c6] ~@3 [c5,c6]", Q: "~@11 [g#5,b5] [e5,g#5] [f#5,a5] ~ [g#5,b5], ~@6 [e4,g#4,b4] ~",
  R: "[e4,a4,c5]@2 ~ [f#5,a5] [a5,c6] [g#5,b5] ~ [f#5,a5] [e4,g#4,b4]@2 ~ [e5,g#5] [g#5,b5] [f#5,a5] ~ [e5,g#5], [a5,c6] ~@3 [e4,f#4,a4]@2 ~@2 [g#5,b5] ~@3 [e4,g#4]@2 ~@2", // Am F#m Am G#m F#m E G#m F#m …
  S: "[b3,f#4,b4,d#5,f#5]@2 ~@2 [b3,f#4,b4,d#5,f#5,b5]@2 ~@2 [e4,g#4,b4]@2 ~ [g#5,b5] [e5,g#5] [f#5,a5] ~ [g#5,b5], ~@8 [e5,g#5] ~@3 [e4,g#4,b4]@2 ~@2", // B E G#m E F#m G#m E
  T: "[e4,a4,c5]@2 ~ [f#5,a5] [a5,c6] [g#5,b5] ~ [f#5,a5] [e4,g#4,b4,g#5,b5]@2 ~@2 [e4,g#4,b4,e5]@2 ~@2, [a5,c6] ~@3 [e4,f#4,a4]@2 ~@10", // Am F#m Am G#m F#m E Am F#m7
  U: "d#5 e5 d#5 e5 d#5 e5 c#5 d#5 [g#4,e5] ~@2 [c#5,e5,c#6,e6] [a4,c#5,a5,c#6] [b5,d6] ~@2, [e4,f#4,a4,b4]@9 ~@7", // C#m A Bm Esus4
  V: "~@11 b4!2 c5 ~ b4", W: "f#5 ~@2 b4!2 c5 ~ b4 a4 ~@2 f#4!2 e4 ~ f#4", X: "g4 ~@2 b4!2 c5 ~ b4 [b4,b5]@8",
  Y: "[a#4,a#5] [a4,a5]", Z: "[g#4,g#5]@8 g5 ~@2 b4!2 c5 ~ b4, ~ g4", AA: "g4 ~@2 b4!2 c5 ~ b4 e4 ~@2 b4!2 a#4 ~ b4",
  AB: "c#5 ~@2 c#5!2 b4 ~ c#5 d#5 ~@2 d#5!2 c#5 ~ d#5, a#4 a4",
  AC: "e5 ~@2 e5!2 d#5 ~ e5 b5@3 g4!2 a4 ~ g4, g#4@8 g4 ~@7", AD: "~@3 e4 f#4 ~ b4 ~",
  AE: "~@3 c5!2 d5 ~ c5 g5@4 e4@4, g4 ~", AF: "~@3 e4 f#4@2 b4@2",
  AG: "~@3 c5!2 d5 ~ c5 g5@4 d5 g5 ~ d5, g4@4 ~@2 [g4,b4] ~", // G
  AH: "e5 g5 ~ e5 d5 g5 ~ d5 e5 g5 ~ e5 d5 g5 ~ d5, c5 ~ [g4,b4] ~ c5 ~ [g4,b4] ~", // G
  AI: "[c5,e5,g5] f#5 e5 d#5 e5 f#5 g5 a5", AJ: "b5", AK: "~@2 g5@2 e5@2 f#5@2 g5@4 d5 g5 ~ d5, ~@6 [g4,b4] ~",
  AL: "~@4 b5@2 a5 ~ g#5 ~ f5 ~ e5 ~ d5 ~",
  AM: "c5 ~ e4@2 b4@2 a4@2 [g#4,d5] ~ [f4,e5] ~ [e4,f#5] ~ [d4,g#5] ~, ~@6 c5 ~@9", // G#dim Fmaj7 Esus2 Ddim
  AN: "[c4,a5] ~ [a4,c5] ~ [b4,d5] ~ [c5,e5] ~ [d5,f#5] ~ [e5,g#5] ~ [f#5,a5] ~ [g5,b5] ~", // F Am Bm C D E F#m G
  AO: "[a5,c6]@2 [b5,d6]@2 [c6,e6]@2 [b5,d6] ~ [a5,c6] ~ [g5,b5] ~ [f#5,a5] ~ [e5,g5] ~", // Am Bm C Bm Am G F#m Em
  AP: "[d5,f#5]@2 [e5,g5]@2 [f#5,a5]@2 [e5,g5] ~ [d5,f#5] ~ [c5,e5] ~ [b4,d5] ~ [a4,c5] ~", // D Em F#m Em D C Bm Am
  AQ: "b4 ~@2 [g5,b5] [e5,g5] [f#5,a5] ~ [g5,b5] [a5,c6] ~@2 [f#5,a5] [a5,c6] [g5,b5] ~ [f#5,a5]", // G Em F#m G Am F#m Am G …
  AR: "[g5,b5] ~@2 [e5,g5] [g5,b5] [f#5,a5] ~ [e5,g5] [d#5,f#5]@2 ~@2 [d#5,f#5]@2 ~@2", // G Em G F#m Em D#m
  AS: "[g5,b5] ~@2 [g5,b5] [e5,g5] [f#5,a5] ~ [g5,b5] [a5,c6] ~@2 [f#5,a5] [a5,c6] [g5,b5] ~ [f#5,a5]", // G Em F#m G Am F#m Am G …
  AT: "[g5,b5] ~ [g5,b5] ~@5", AU: "~@11 [c#5,e5] [a4,c#5] [b4,d5] ~ [c#5,e5]",
  AV: "[d5,f5] ~@2 [b4,d5] [d5,f5] [c#5,e5] ~ [b4,d5] [c#5,e5] ~@2 [a4,c5] [c#5,e5] [b4,d5] ~ [a4,c5]", // Dm Bm Dm C#m Bm C#m Am C#m …
  AW: "[g#4,b4]@2 ~@2 [g#4,e5]@2 ~@2 [a4,c#5] ~@2 [c#5,e5] [a4,c#5] [b4,d5] ~ [c#5,e5]", // G#m C#m A C#m A Bm C#m
  AX: "[[d5,f5]@8 ~@11 [b5,d6] [g5,b5] [a5,c6] ~ [b5,d6] [c6,d#6] ~@2 [a5,c6] [c6,d#6] [b5,d6] ~ [a5,c6], ~@8 [d5,f5]@15 ~ [c5,d#5]@8]/2", // Dm Bm G Am Bm Cm Am Cm …
  AY: "[b5,d6] ~@2 [g5,b5] [b5,d6] [a5,c6] ~ [g5,b5] [f#5,a5]@2 ~@2 [f#5,d6]@2 ~@2", // Bm G Bm Am G F#m D
  AZ: "[[g5,b5] ~@2 [b5,d6] [g5,b5] [a5,c6] ~ [b5,d6] [c5,d#5,c6,d#6]@15 ~ [a#4,d5,a#5,d6]@8]/2", // G Bm G Am Bm Cm A#
  BA: "[a4,c5,a5,c6] [g4,a#4,g5,a#5]", // Am Gm
  BB: "[f#4,a4]@2 ~ [f#5,a5] [d5,f#5] [e5,g5] ~ [f#5,a5] [g5,a#5] ~@2 [e5,g5] [g5,a#5] [f#5,a5] ~ [e5,g5], [f#5,a5] ~@3 [f#4,a4]@2 ~@6 [g4,a#4]@2 ~@2", // F#m D Em F#m Gm Em Gm F#m …
  BC: "[f#5,a5] ~@2 [d5,f#5] [f#5,a5] [e5,g5] ~ [d5,f#5] [c#5,e5]@2 ~@2 [g4,a#4,c#5,e5]@2 ~@2, ~@2 [f#4,a4] ~@5", // F#m D F#m Em D C#m Gdim F#m
  BD: "[f#5,a5] ~@2 [f#5,a5] [d5,f#5] [e5,g5] ~ [f#5,a5] [g5,a#5] ~@2 [e5,g5] [g5,a#5] [f#5,a5] ~ [e5,g5], ~@2 [f#4,a4] ~@3 [g4,a#4] ~", // F#m D Em F#m Gm Em Gm F#m …
  BE: "[f#5,a5] ~ [f#4,a4,d5,f#5,d6] ~@5", BF: "~@8 c#6 d6 c#6 d6 c#6 d6 b5 c#6, ~ [g4,a#4,c#5,e5]",
  BG: "[[f#4,a4,d5,f#5,a5,d6]@19 ~ d4 e4 ~ f#4 g4 a4 ~ a#4 c5 a#4 ~ a4]/2", // D
  BH: "a#4 a4 ~ g4 d4 e4 ~ f#4 g4 a4 ~ a4 c5 a#4 ~ a4", BI: "a#4 a4 ~ g4 a#4 c5 ~ d5 d#5 d5 ~ c5!2 d5 ~ d#5",
  BJ: "d5 c5 ~ a#4!2 c5 ~ d5 c5 a#4 ~ a4!2 a#4 ~ c5", BK: "a#4 a4 ~ g4 d4 e4 ~ f#4 g4 a4 ~ a#4 c5 a#4 ~ a4",
  BL: "a#4 a4 ~ g4 a4 b4 ~ c#5 d5 e5 ~ f5 g5 f5 ~ e5", BM: "f5 e5 ~ d5 f5 g5 ~ a5 a#5 a5 ~ g5!2 a5 ~ a#5",
  BN: "a5 g5 ~ f5!2 e5 ~ f#5 [g4,g5] [f#4,a5] ~ [e4,a#5] [d4,c6] [e4,a#5] ~ [f#4,a5]", // G F#m Edim D7 Edim F#m
  BO: "a#5 a5 ~ g5 d5 e5 ~ f#5 g5 a5 ~ a#5 c6 a#5 ~ a5, g4@2 d4 ~ d4 ~ d4 ~",
  BP: "a#5 a5 ~ g5 f#5 g5 ~ a5 g5 f5 ~ e5 d5 e5 ~ f5, g4@2 ~ d4 ~ d4 ~ d4",
  BQ: "e5 d5 ~ c5 b4 c5 ~ d5 c5 b4 ~ a4 g#4 a4 ~ b4, c4 ~ f4 ~ c4 ~ d4 ~",
  BR: "[c4,f4] ~ [b4,e5] ~ [c5,e5] ~ [b4,e5] ~", BS: "a5@2 [b4,e5] ~ [c5,e5] ~ [b4,e5] ~, a4 ~@7",
  BT: "[e5,c6] ~ [e5,c6] ~ [a4,c6] ~ [f5,b5] ~", // C Am Fdim
  BU: "[[c5,b5]@2 ~@2 [e5,a5]@2 ~@2 [f5,a5]@2 ~@2 g#5 a5 g#5 a5@3 ~@2 [a4,e5]@2 ~@2 [a4,d#5]@2 ~@2 [a4,e5]@2 ~@2, ~@6 e5@3 ~@7]/2", // Cmaj7 A5 F A5 Adim A5
  BV: "[[a4,f#5] ~ [e5,g5] ~ [d#5,a5] ~ f#5@2 e5 ~ [b4,g5] ~ [g4,e5] ~ [e5,a5]@2, ~@6 b5@3 ~@7]/2", // D Em D#dim Em C A5
  BW: "[d5,a5] ~ [a4,f5] ~ [g4,d5] ~ [d5,g5]@2", BX: "~ e5 ~ d5 c5 b4 ~ c5 a4 b4 ~ a4 d5 e5 ~ d5, c5 ~@7",
  BY: "b4 c5 ~ b4 e5 f5 ~ e5 c5 d5 ~ c5 f#5 g5 ~ f#5", BZ: "d#5 e5 ~ d#5 b4 c#5 ~ d#5 e5 f#5 ~ g5 a5 g5 ~ f#5",
  CA: "g5 f#5 ~ e5 a5 g5 ~ f#5 e5 d5 ~ c5 b4 c#5 ~ d#5", CB: "e5@2 ~@2 c5 d5 ~ e5 f#5 g5 ~ a5 b5 a5 ~ g5",
  CC: "a5 g5 ~ f#5 b5 a5 ~ g5 f#5@2 ~@2 e5 f#5 ~ e5",
  CD: "d#5@2 ~@2 [c5,d#5] [b4,e5] ~ [a4,f#5] [g4,g5] [f#4,a5] ~ [e4,b5] [d#4,c6] [e4,b5] ~ [f#4,a5]", // Cm E5 D G F#m E5 Cm E5 …
  CE: "e4 f#4 ~ g4 d6@2 ~@2 b5@2 ~@2 a5 [a5,b5]!3, b5 ~@5 d5@2", // Asus2
  CF: "[g4,g5]@2 ~@2 f#5@2 ~@2 e5@2 ~@2 d5 [d5,e5]!3, b5 ~@11 e4@4", // G Dsus2
  CG: "[a4,c5]@2 ~@2 a4 b4 ~ c5 d5 e5 ~ f#5 g5 f#5 ~ e5, e5 ~@11 [a4,c#5]@2 ~@2", // Am A
  CH: "[a4,d5,f#5]@2 ~@2 d5 e5 ~ f#5 g5 a5 ~ b5 c6 b5 ~ a5, ~@2 a4 ~ [d4,d5] ~ [d4,c5] ~", // D D7
  CI: "[d4,b4,b5]@2 ~@2 d6 b5 ~ a5 g5 f#5 ~ e5 d5 e5 ~ f#5, ~@2 b4 ~ c5 ~ [d4,a4]@2", // G D5
  CJ: "[g4,g5]@2 ~@2 [g4,f#5]@2 ~@2 [g4,e5]@2 ~@2 d5 [d5,e5]!3, ~@3 g4", // G Gmaj7 C Dsus2
  CK: "[g4,c5]@2 ~@2 [e4,c5,e6]@2 ~@2 [a4,c5,a5]@2 ~@2 [g4,c5,g5] [f#4,g5,a5] [g5,a5] [e4,g5,a5], e5 ~@15", // C5 C Am C5 F#m Gsus2 A7
  CL: "[f#4,a4,c5,f#5]@2 ~@2 d5 e5 ~ f#5 g5 a5 ~ b5 c6 b5 ~ a5, a5 ~@3 a4@2 ~@2 d5@2 ~@2 c5@4", // F#dim
  CM: "[e4,b4,d5,e5,b5]@3 [e5,b5] [e4,b4,d5]@4 ~@8, ~@4 [e5,b5] ~@11", CN: "~@12 [e5,b5]!2 ~ [e5,b5], ~@3 [e4,b4,d5]",
  CO: "[e4,b4,d5,e5,b5]@2 ~@2 e4 f#4 ~ g#4 a4 b4 ~ c5 d5 c5 ~ b4", CP: "c5 b4 ~ a4 e4 f#4 ~ g#4 a4 b4 ~ c5 d5 c5 ~ b4",
  CQ: "[a4,c#5,e5,c#6,e6]@3 [c#6,e6] [a4,c#5,e5]@4 ~@8, ~@4 [c#6,e6] ~@11", // A C#m A C#m
  CR: "~@12 [c#6,e6]!2 ~ [c#6,e6], ~@3 [a4,c#5,e5]", CS: "[a4,c#5,e5,c#6,e6]@2 ~@2 g5 f5 ~ e5 d5 c#5 ~ b4 a4 ~@3",
// … 223 more lines

More by Felix Mendelssohn