Strudelify

5 Variations in G major K.501

W. A. Mozart

KeyG majorTempo68 bpm
0:00/0:00
// 5 Variations in G major K.501 — W. A. Mozart
// 68 bpm, 2/4, key G 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 (1/8 at bar 1, 2/4 at bar 1, 3/8 at bar 10, 1/8 at bar 11, ...) are rendered on a constant 2/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/537001; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 281 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(68/2)

// 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.

// other · piano
const piano = note(`<
  A B@2 C D E@4 F G H@2 I J K L@2 M@2 N O P@3 Q@4 R S T@3 U V W@2 X Y@3 Z AA@2 AB@2 AC@3 AD@7 AE AF@2 AG AH@3 AI AJ@4 AK
  AL AM@2 AN@3 AO AP@7 AQ AR AS AT AU AV AW AX AQ AR AS AT AU AV AW AX AY AZ@2 BA BB BC BD BE AQ AR AY AZ@2 BA BB BC BD
  BE AQ BF BG BH BI BJ BK BL BM BN BG BH BI BJ BK BL BM BO BP BQ BR BS BT BU BG BV BW BX BP BQ BR BS BT BU BG BV BW BY ~
  BZ@3 ~@2 CA CB@4 ~@2 CC@3 ~@2 CD CE@2 CF@2 ~@2 CG@2 CH@3 CI@2 CJ@2 CK@4 CL ~ CM CN@2 CO CP@2 CQ CR@2 CS@3 CT@2 ~ CU@6
  CV@7 CW CX CY CZ DA@6 DB DC DD@4 ~ DE DF DG DH DI DJ DK ~ DL@2 DM@2 H@2 DN J K DO@4 DP@6 DQ@4 DR@5 DS DT DU DV
>`.pickRestart({
  A: "~@17 [g4,b4,d5]@7", B: "[~@7 [f#4,c5,d5]@7 ~@8 [g4,b4,d5]@7 ~@19]/2", C: "~@4 [f#4,a4,d5]@7 ~@8 [g4,a4,c#5]@5",
  D: "~@10 [f#4,a4]@7 ~@7", // F#m
  E: "[~@15 [g4,b4]@4 ~@4 [g4,b4]@4 ~@3 [g4,b4]@4 ~@4 [g4,b4]@4 ~@3 c5@15 d5@15 e5@14 d5@7, ~@15 g4@10 ~@7]/4", // G
  F: "~ c5@7 b4@15 ~", G: "~@14 [g4,b4,d5]@7 ~@3", H: "[~@5 [f#4,c5,d5]@7 ~@8 [g4,b4,d5]@7 ~@21]/2",
  I: "~ [f#4,a4,d5]@7 ~@8 [g4,a4,c#5]@7 ~", J: "~@7 [f#4,a4]@7 ~@10", K: "~@13 [g4,b4]@4 ~@3 [g4,b4]@4",
  L: "[~@4 [g4,b4]@4 ~@3 [g4,b4]@4 ~@3 c5@15 d5@15, ~@3 g4@5]/2", M: "[e5@15 d5@7 c5@7 ~ b4@15 ~@3]/2",
  N: "~@11 [e4,g4,b4]@7 ~@6", O: "~@2 [b3,d#4,a4]@7 ~@8 g4@7", P: "[e4@7 ~ d4@7 f5@7 ~ e5@15 ~@7 a4@7 b4@15 a4@5]/3",
  Q: "[~@3 d5@14 c5@6 b4@2 a4@7 g4@7 ~ c5@7 b4@6 a4@2 d5@7 c5@7 [d4,g4,b4]@7 ~@8 [d4,f#4,c5]@7 ~@5]/4", // G D7
  R: "~@3 [d4,g4,b4]@7 ~@8 [d4,f#4,c5]@6", S: "~@9 [g4,b4]@7 [b4,d5]@7 ~",
  T: "[[b4,d5]@7 [c5,d5]@7 [b4,d5]@15 ~@15 [e4,g4,b4]@7 ~@8 [b3,d#4,a4]@7 ~@6]/3", U: "~@2 g4@7 e4@7 ~ d4@7",
  V: "f5@7 e5@15 ~@2", W: "[~@6 a4@7 b4@15 a4@7 d5@13]/2", X: "~@2 c5@6 b4@2 a4@7 g4@7",
  Y: "[c5@7 ~ b4@5 a4@2 d5@7 ~ c5@7 [d4,g4,b4]@7 ~@8 [d4,f#4,c5]@7 ~@8 [d4,g4,b4]@7 ~@5]/3", // G D7 G
  Z: "~@3 [d4,f#4,c5]@7 ~@7 [g4,b4]@7", AA: "[~ [b4,d5]@7 [b4,d5]@7 ~ [c5,d5]@7 [b4,d5]@15 ~@10]/2",
  AB: "[~@4 [g4,b4]@13 [f#4,a4]@6 [a4,c5]@6 ~ [g4,b4]@13 ~@5]/2", // G F#m Am G
  AC: "[~@8 f#4@13 e4@13 g4@13 f#4@6 ~@7 [g4,b4]@6 [g4,b4]@6, ~@8 a4@26 a4@19 ~@19]/3", // G
  AD: "[[g4,b4]@6 ~ [g4,b4]@6 c5@13 b4@6 ~@7 [g4,a4]@13 ~@7 [f#4,a4]@6 [f#4,c5]@10 a4@3 [g4,b4]@6 ~@7 [g4,b4]@13 [f#4,a4]@6 ~ [a4,c5]@6 [g4,b4]@13 ~@13 f#4@13 e4@12, ~@13 g4@19 ~@111 a4@25]/7", // G Gsus2 F#m F#dim G F#m Am G
  AE: "~ g4@13 f#4@6 ~@4, ~ a4@19 ~@4",
  AF: "[~@3 [g4,b4]@6 [g4,b4]@6 ~ [g4,b4]@6 [g4,b4]@6 ~ c5@13 b4@6, ~@29 g4@19]/2", AG: "~@7 [g4,a4]@13 ~@4",
  AH: "[~@2 [f#4,a4]@6 [f#4,c5]@10 a4@3 [g4,b4]@6 ~@7 [e4,g4]@13 [f#4,a4]@6 ~ [d#4,f#4]@6 [e4,g4,b4]@6 ~@6, ~@17 b4@13 ~@6]/3", // F#m F#dim G Em F#m D#m Em
  AI: "~ f5@6 ~ b4@6 c5@6 ~@4, ~ g4@19 ~@4",
  AJ: "[~@10 a4@6 b4@6 ~ c#5@6 d5@6 ~ [f#4,a4]@6 [g4,b4,d5]@26 [a4,c5,d5]@26 ~@2]/4", // F#m G D7
  AK: "~@4 b4@6 ~ g4@3 f#4@3 c5@3 a4@3 ~", AL: "f5@13 e5@6 ~@5, g4@19 ~@5",
  AM: "[~@2 [b4,d5]@13 ~@6 [a4,d5]@6 ~ c5@12 b4@6 ~@2, ~@28 d5@19 ~]/2", // Bm D5
  AN: "[~@5 [e4,g4]@13 [f#4,a4]@6 ~ [d#4,f#4]@6 [e4,g4,b4]@6 ~@7 f5@6 ~ b4@6 c5@6 ~@9, ~@5 b4@26 ~@13 g4@19 ~@9]/3", // Em F#m D#m Em
  AO: "~@5 a4@6 b4@6 ~ c#5@6",
  AP: "[d5@6 ~ [f#4,a4]@6 [g4,b4,d5]@26 [a4,c5,d5]@26 ~@6 b4@6 ~ g4@3 f#4@3 c5@3 ~ a4@3 f5@13 e5@6 ~@7 [b4,d5]@13 ~@6 [a4,d5]@6 ~ c5@13 b4@6 ~@6, ~@91 g4@19 ~@33 d5@19 ~@6]/7", // F#m G D7 Bm D5
  AQ: "[b4,d5] [c5,d5]", AR: "[b4,d5] ~", AS: "[f#4,a4] [g4,a4]", AT: "[f#4,a4] ~", AU: "b4 d5 f5 b4, g4",
  AV: "[g4,c5] g5!2 ~", AW: "~ c4", AX: "b3 ~@3", AY: "[g4,b4] [a4,b4]",
  AZ: "[[g4,b4] ~ b4@2 c5!2 b4 [a4,e5], ~@2 g4@3 d5@2 ~]/2", BA: "b4@2 a4 ~, d5@3 ~", BB: "~ [g#4,d5] [a4,c5] ~",
  BC: "~ d#5 d5 ~, ~ c5@2 ~", BD: "[d4,d5]@3 ~", BE: "~ g4 g5 ~", BF: "[b4,d5]@12 ~ d5 ~ c#5 d5 ~ c5 d5 ~ a4 d5 ~",
  BG: "b4 d5 ~ a#4 d5 ~ b4 d5 ~ g#4 d5 ~ a4 d5 ~ g#4 d5 ~ a4 d5 ~ f#4 d5 ~",
  BH: "g4 d5 ~ f#4 d5 ~ g4 d5 ~ e4 d5 ~ f#4 d5 ~ e4 d5 ~ f#4 d5 ~ d4 d5 ~",
  BI: "e4 d5 ~ d#4 d5 ~ e4 d5 ~ d#4 d5 ~ e4 c#5 ~ g4 c#5 ~ f#4 c#5 ~ e4 c#5 ~",
  BJ: "d4 d5 ~ e4 d5 ~ f#4 d5 ~ g4 d5 ~ a4 d5 ~ g#4 d5 ~ a4 d5 ~ c5 d5 ~",
  BK: "f5 g5 ~ e5 g5 ~ f5 g5 ~ e5 g5 ~ f5 g5 ~ e5 g5 ~ f5 g5 ~ d5 g5 ~",
  BL: "e5 g5 ~ d#5 g5 ~ e5 g5 ~ c#5 g5 ~ d5 g5 ~ c#5 g5 ~ d5 g5 ~ b4 d5 ~",
  BM: "c5 d5 ~ b4 d5 ~ c5 d5 ~ b4 d5 ~ c5 d5 ~ b4 d5 ~ c5 d5 ~ a4 d5 ~",
  BN: "g4 b4 ~ d5 b4 ~ g4 b4 ~ d5 b4 ~ g4 d5 ~ c#5 d5 ~ c5 d5 ~ a4 d5 ~",
  BO: "g4 b4 ~ d5 b4 ~ g4 b4 ~ d5 b4 ~ g4 b4 ~ a#4 b4 ~ a4 b4 ~ f#4 b4 ~",
  BP: "g4 b4 ~ f#4 b4 ~ g4 b4 ~ f4 b4 ~ f#4 b4 ~ f4 b4 ~ f#4 b4 ~ d#4 b4 ~",
  BQ: "e4 g4 ~ d#4 g4 ~ e4 g4 ~ c#4 g4 ~ d4 g4 ~ c#4 g4 ~ d4 g4 ~ b3 g4 ~",
  BR: "c4 g4 ~ b3 g4 ~ c4 g4 ~ b3 g4 ~ c4 g4 ~ b3 g4 ~ c4 g4 ~ e4 a4 ~",
  BS: "f#4 a4 ~ g4 a4 ~ f#4 a4 ~ g4 a4 ~ f#4 a4 ~ g4 a4 ~ f#4 a4 ~ f#4 a4 ~",
  BT: "g4 b4 ~ f#4 a4 ~ g4 b4 ~ f#4 a4 ~ g4 b4 ~ f#4 a4 ~ g4 b4 ~ g4 b4 ~",
  BU: "a4 d5 ~ g#4 d5 ~ a4 d5 ~ g#4 d5 ~ a4 d5 ~ g#4 d5 ~ a4 d5 ~ c5 d5 ~",
  BV: "g4 b4 ~ d5 c#5 ~ d5 c#5 ~ d5 c#5 ~ d5 c#5 ~ d5 c#5 ~ d5 c#5 ~ d5 c5 ~",
  BW: "b4 d5 ~ c5 d5 ~ b4 d5 ~ c5 d5 ~ b4 d5 ~ c5 d5 ~ b4 d5 ~ c5 d5 ~",
  BX: "b4 g4 ~ b4 d5 ~ b4 g4 ~ b4 d5 ~ b4!2 ~ a#4 b4 ~ a4 b4 ~ f#4 b4 ~",
  BY: "b4 g4 ~ b4 d5 ~ b4 g4 ~ b4 d5 ~ b4@6 ~@6", BZ: "[~@18 d#5@9 ~@9 a#4@7 a4@2 g4@9 ~@18, ~ c5 ~@2, ~@3 d5@3 ~@2]/3",
  CA: "~@7 g4@9 d#5@8", CB: "[~ d5@9 c#5@9 b4@9 c5@7 d5 c5 b4 ~ c5@3 d5@4 ~ d#5@9 [d#4,c5]@9 [d4,c5]@27 ~@4]/4",
  CC: "[~@20 d#5@9 ~@10 a#4@6 a4@2 ~ g4@9 ~@15, ~@10 c5@9 ~@17, ~@29 d5@27 ~@16]/3", CD: "~@3 g4@3 d#5@2",
  CE: "[~@3 d5@9 c#5@9 b4@9 ~ c5@6 d5 c5 ~ b4 c5@3 d5@4]/2", CF: "[~ d#5@9 [d#4,c5]@9 [d4,c5]@27 ~@2]/2",
  CG: "[~@4 c5@9 c#5@9 ~ d5@9 d#5@9 a4@7]/2", CH: "[~@2 a#4@9 b4@9 c5@9 d5@9 d#5@9 g#4@9 a#4@9 c#5@7]/3",
  CI: "[~@2 d5@9 a4@9 c5@18 ~ a4@9]/2", CJ: "[a4@9 c5@19 a4@9 ~@11]/2",
  CK: "[~@7 [c4,d#4]@9 d#5@9 ~@9 b4@9 ~ c5@9 ~@9 [e5,g5]@9 [d5,g5]@9 [a#4,d5]@9 [g4,a#4]@7, ~@8 c5@9 ~@31, ~@25 d5@18 ~@53]/4", // Cm Em G5 A# Gm
  CL: "~@2 [f#4,a4]@9 g4@9 ~@4", CM: "~@8 c5@9 c#5@7", CN: "[~@2 d5@9 ~ d#5@9 a4@9 a#4@9 b4@9]/2",
  CO: "c5@3 d5@3 d#5@2", CP: "[~ g#4@3 a#4@3 c#5@3 d5@3 a4@3]/2", CQ: "c5@3 a4", CR: "[~@4 a4@9 c5@19 a4@9 ~@7]/2",
  CS: "[~@11 [c4,d#4]@9 d#5@9 ~@9 b4@9 c5@9 ~@10 [e5,g5]@6, ~@10 c5@9 ~@17, ~@29 d5@18 ~@25]/3", // Cm Em
  CT: "[~ [d5,g5]@3 [a#4,d5]@3 [g4,a#4]@3 [f#4,a4]@3 g4@3]/2", // G5 A# Gm F#m
  CU: "[[d4,g4,b4]@6 ~@6 [d4,f#4,a4]@6 ~@5 [d4,g4]@12 ~@6 [d4,g4,b4]@6 [f#4,a4,d5]@6 ~@5 [e4,g4,a4,c#5]@6 ~@6 [f#4,a4,d5]@12 ~@11 [g4,b4,d5]@6 [g4,b4,d5]@4 [g4,b4,d5] ~ [g4,b4,d5]@6 [g4,b4,d5]@6 [g4,d5]@5 [a4,c5]@6 [g4,b4]@6 [b3,e4,g4]@6 [e4,g4,a4]@4]/6", // G D G5 G D A7 D G …
  CV: "[~@8 [d4,f#4,a4,c5]@6 ~@5 [b3,d4,g4]@12 ~@11 [g4,b4]@12 [f#4,a4]@6 [a4,c5]@6 [g4,b4]@12 ~@11 f#4@12 e4@6 g4@5 [f#4,a4]@12 ~@12 [d4,f4,g4]@23 [c4,e4]@9, ~@89 a4@23 ~@56]/7", // D7 G F#m Am G F#m G7 C
  CW: "~@7 g4@5", CX: "~ f#4@3 a4@3 g4@5", CY: "~@13 [e4,g4,b4]@6 ~@5",
  CZ: "~ [d#4,f#4,a4]@6 ~@5 [e4,g4]@6 [e4,g4,c5]@6", // D#dim Em C
  DA: "[[f4,g4,b4]@6 [g4,d5,f5]@6 [g4,c5,e5]@5 [e4,b4]@6 [e4,c5]@6 [e4,a4]@6 g4@12 f#4@5 f#4@6 [e4,g4]@6 ~@6 [g4,b4]@6 ~@6 [d4,f#4,a4]@6 ~@5 [f#4,a4,c5]@6 ~@6 [g4,b4]@6 ~@6 [d4,f#4,a4]@6 ~@5 [d4,g4]@6 ~@6 [e4,g4,c5]@4, ~@35 d4@17 ~@92]/6", // G7 C E5 C A5 Em G D …
  DB: "~@7 [f#4,a4]@6 g4@6 [e4,a4,c5]@5", DC: "~ [c4,d4,f#4,a4]@6 [b3,d4,g4]@6 ~@11",
  DD: "[~@6 g4@12 f#4@6 a4@5 ~@6 e4@6 d4@6 f4@6 [e4,g4]@12 ~@5 [a4,c5]@6 [g4,b4]@12 [f#4,a4]@6 ~@2, ~@6 b4@23 g4@23 ~@44]/4", // Em Am G F#m
  DE: "~@5 f#4", DF: "~@2 g4@6 b4@6 c5@5 [a4,d5]@5, ~@8 d5@11 ~@5", DG: "~ g4@17 ~@6",
  DH: "~ [g4,b4]@11 [f#4,a4]@6 [a4,c5]@6", DI: "[g4,b4]@4 ~ [d4,g4,b4]!3", DJ: "[d4,g4,a#4]@4 ~ [d4,g4,a#4]!3",
  DK: "[d#4,g4,a#4] ~", DL: "[~@2 [d#4,g4]@27 ~@6 a#4@7 a4@6]/2", DM: "[~ g4@7 f#4@15 g4@8 c5@7 b4@7 ~@3]/2",
  DN: "~@2 [f#4,a4,d5]@7 ~@8 [g4,a4,c#5]@7", // D A7
  DO: "[~@4 [g4,b4]@4 ~@3 [g4,b4]@4 ~@4 c5@15 d5@14 e5@15 d5@7 ~ c5@7 b4@15 ~@3, ~@19 g4@30 ~@47]/4", // G
  DP: "[~@15 g4@4 g5@4 g4@4 g5@3 g4@4 g5@4 g4@3 g5@11 ~@2 e5@2 d5@11 c5@2 b4@2 c5@30 b4@11 d5@4 f4@14 e4@7 ~@7, ~@53 f#5@2 ~@89]/6",
  DQ: "[~@16 c5@15 e5@7 g5@7 ~ g5@15 f#5@7 c5@7 b4@15 ~@6]/4",
  DR: "[~@9 g4@30 g4@29 ~@23 c4@7 [b3,d4]@7 ~@8 [c4,d4]@7, ~@34 d4@15 ~@11]/5", DS: "~ [c4,d4]@7 [b3,d4]@8 ~@8",
  DT: "[c5,d5]!2 [b4,d5]", DU: "~@8 [b4,d5]@9 ~@7", DV: "~@2 [b4,d5]@9 ~@13",
})).s("gm_piano").gain(0.25).pan(0.7)

// other · piano
const piano_2 = note(`<
  A B@2 C D E@4 F G H@2 I J K L@3 M ~ N O@2 P ~ Q@4 R@3 S T U V@2 W@3 X Y@3 Z@2 AA@3 AB AC@6 AD AE@2 AF AG@2 AH AI AJ@5
  AK AL@2 ~ AM AN@5 AO@4 AP AQ AR AS AT AU AV AW AP AQ AR AS AT AU AV AX AY AZ BA BB BC BD BE BF AP BG AY AZ BA BB BC BD
  BE BF AP BH BI BJ BK@2 BL@2 BM BN BI BJ BK@2 BL@2 BM BN BO BP BQ BR BS BT BU BV BW BX BO BP BQ BR BS BT BU BV BW BY
  ~@3 BZ CA@3 CB@3 CC@3 ~@2 CD CE@3 CF@2 CG CH@2 CI CJ@2 CK@3 CL@2 CM@2 ~ CN@3 CO ~@2 CP@2 CQ CR@2 CS CT@2 ~ CU@2 CV CW
  ~ CX@6 CY@7 CZ@2 DA DB DC@4 DD@2 DE DF DG DH@3 DI DJ@2 DK DL DM DN DO DP@5 H@2 DQ J K DR@3 DS DT DU DV@2 DW DX DY@5
  DZ@2 EA@2 EB EC ED EE
>`.pickRestart({
  A: "~@17 d4@7", B: "[~@7 d4@7 ~@8 d4@7 ~@19]/2", C: "~@4 d4@7 ~@8 a3@5", D: "~@10 d3@7 ~@7",
  E: "[~@15 d4@4 ~@4 d4@4 ~@3 d4@4 ~@4 d4@4 ~@3 c4@15 g3@22 g4@7 g4 f#4 g4 f#4 g4 f#4 g4]/4",
  F: "f#4 g4 f#4 g4 f#4 ~ f#4@2 g4@15 ~, ~@5 e4@2 ~@17", G: "~@14 d4@7 ~@3", H: "[~@5 d4@7 ~@8 d4@7 ~@21]/2",
  I: "~ d4@7 ~@8 a3@7 ~", J: "~@7 d3@7 ~@10", K: "~@13 d4@4 ~@3 d4@4",
  L: "[~@4 d4@4 ~@3 d4@4 ~@3 c4@15 g3@22 g4@7 ~ g4 f#4 g4 f#4 g4 [f#4,g4] f#4 g4 f#4]/3", // Gmaj7
  M: "g4 f#4 e4@2 f#4@2 g4@15 ~@3", N: "~@10 b2@7 e3@7", O: "[g3@7 ~ f3@7 d3@7 ~ c3@15 ~@10]/2", P: "~@12 c#4@7 d4@5",
  Q: "[~@8 e4@15 d4@6 c4@2 b3@7 a3@7 g3@15 ~@8 d3@7 g3@7 ~ b3@7 a3@6]/4",
  R: "[~ f#3@7 ~ d4@22 g4 f#4 g4 f#4 e4@2 ~ g4@15 ~@19, ~@37 f#4@2 ~@33]/3", S: "~@3 b2", T: "~@2 e3@7 g3@7 ~ f3@7",
  U: "d3@7 c3@15 ~@2", V: "[~@21 c#4@7 d4@7 ~@13]/2", W: "[~@17 e4@15 d4@5 c4@2 b3@7 ~ a3@7 g3@15 ~@3]/3",
  X: "~@4 d3@7 ~ g3@7 b3@5", Y: "[~@3 a3@7 f#3@7 d4@22 ~ g4 f#4 g4 e4@2 f#4@2 g4@15 ~@10, ~@43 f#4 ~@28]/3",
  Z: "[~@4 d4@19 d4@6 ~ d4@13 ~@5]/2", AA: "[~@8 d4@13 c#4@13 c#4@9 e4@3 ~ d4@6 ~@7 [d4,f4]@6 [d4,f4]@6]/3",
  AB: "[d4,f4]@6 ~ [d4,f4]@6 [c4,e4]@11", // Dm C
  AC: "[~@2 [g3,d4]@6 ~@7 e4@13 ~@7 d4@6 d4@13 d4@6 ~@7 d4@19 ~ d4@6 d4@13 ~@13 d4@13 c#4@12]/6", // G5
  AD: "~ c#4@10 e4@3 d4@6 ~@4", AE: "[~@3 [d4,f4]@6 [d4,f4]@6 ~ [d4,f4]@6 [d4,f4]@6 ~ [c4,e4]@13 [g3,d4]@6]/2",
  AF: "~@7 e4@13 ~@4", AG: "[~@2 d4@6 d4@13 d4@6 ~@21]/2", AH: "~@6 b2@3 f#3@3 e3@3 ~ b3@3 g3@3 e4@2",
  AI: "~ d4@3 b3@3 ~ g3@3 f3@3 e3@3 f#3 e3 d#3@2 e3@3",
  AJ: "[g#3@3 a3@6 ~ e4@6 d4@19 ~@7 [g3,b3,e4]@26 [a3,c4,d4,f#4]@26 [b3,d4,g4]@6 ~@13 d3@6 ~]/5", // Em D7 G
  AK: "d4@13 c4@6 ~@5, g3@19 ~@5", AL: "[~@2 [d4,g4]@13 ~@6 [d4,f#4]@6 ~ f#4@9 a4@3 g4@6 ~@2, ~@28 d4@19 ~]/2",
  AM: "~ b2@3 f#3@3 e3@3 ~ b3@3 g3@3 e4@3 d4@3 ~",
  AN: "[b3@3 g3@3 f3@3 e3@3 f#3 e3 d#3@2 e3@3 g#3@3 a3@6 ~ e4@6 d4@19 ~@7 [g3,b3,e4]@26 [a3,c4,d4,f#4]@26 [b3,d4,g4]@6 ~]/5", // Em D7 G
  AO: "[~@12 d3@6 ~ d4@13 c4@6 ~@7 [d4,g4]@13 ~@6 [d4,f#4]@6 ~ f#4@9 a4@3 ~ g4@6 d4@2 c#4@2 c4@2, ~@19 g3@19 ~@33 d4@19 ~@6]/4", // G5 D
  AP: "b3 d4 c4 b3 a3 g3 f#3 c4 b3 a3 g3 f#3", AQ: "g3 d3 g3 b3 g3 b3 d4 c4 b3 a3 b3 g3",
  AR: "f#3 a3 g3 f#3 e3 d3 c#3 g3 f#3 e3 d3 c#3", AS: "d3 a2 b2 c#3 d3 e3 f#3 g3 a3 b3 c4 c#4",
  AT: "d4 c#4 d4 b3 a#3 b3 g3 f#3 g3 d3 c#3 d3", AU: "c3 e3 g3 c4 e4 g4!2 d4 b3 d4 b3 g3",
  AV: "f#3 a3 c4 b3 a3 g3 f#3 e3 d3 c3 b2 a2", AW: "g2 b2 c3 d3 e3 f#3 g3 b3 c4 d4 c#4 c4",
  AX: "g2 b2 c3 d3 e3 f#3 g3 a3 a#3 b3 a#3 a3", AY: "g3 b3 a3 g3 f#3 e3 d#3 a3 g3 f#3 e3 d#3",
  AZ: "e3 b3 a3 g3 f#3 e3 d3 d4 c4 b3 a3 g3", BA: "g3 c4 e3 c4 d4 d3 b3 d4 d3 a3 e4 e3",
  BB: "g3 a3 a#3 b3 c4 c#4 d4 c#4 c4 b3 a#3 a3", BC: "g#3 f3 e3 d3 c3 b2 a2 c3 e3 g#3 a3 c4",
  BD: "d#4 d4 c4 a#3 a3 g3 f#3 e3 d3 c3 b2 a2", BE: "g2 b2 d3 g3 b3 g3 f#3 a3 f#3 d3 e3 f#3",
  BF: "g3 f4 d4 b3 g3 f3 e3 g#3 a3 c4 e4 c4", BG: "g3 g2 b2 d3 b2 d3 g3 d3 g3 b3 a#3 a3",
  BH: "g3@2 d4@2 b3@2 g3@2 d3@2 b2@2 g2 ~@11", BI: "~@7 d3", BJ: "b3@3 a#3@3 b3@3 g3@3 b3 a3@2 g#3@3 a3@3 f#3@3",
  BK: "[g3 e3 a3@3 ~@3]/2", BL: "[~ g3 g4@3 g3 g4@2]/2",
  BM: "f#4 ~@2 g4 ~@2 f#4 ~@2 g4 ~@2 f#4 ~@2 g4 ~@2 f#4 ~@2 c4 ~@2",
  BN: "b3 ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [b3,d4] ~@11", BO: "~@7 b2",
  BP: "g3@3 f#3@3 g3@3 e3@3 g3 f3@2 e3@3 f3@3 d3@3", BQ: "c3 ~@2 d3 ~@2 c3 ~@2 d3 ~@2 c3@6 ~@3 a3@3",
  BR: "d4@3 c#4@3 d4@3 c#4@3 e4 d4@2 c#4@3 d4@3 d4@3", BS: "d3", BT: "d3 d4@17 ~@3 f#3@3", BU: "g3@2 ~@5 d3",
  BV: "d4@3 c#4@3 d4@3 b3@3 d4 c4@2 b3@3 c4@3 a3@3", BW: "b1 ~@2 a2 ~@2 b2 ~@2 a2 ~@2 b2 ~@2 a2 ~@2 b2 ~@2 a2 ~@2",
  BX: "g4 ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [b3,d4] ~@11", // Bm
  BY: "g4 ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [b3,d4]@3 ~@9", BZ: "~@7 a3@9 f4@8",
  CA: "[~ e4@9 d#4@9 [a#3,c#4]@9 d4@7 e4 d4 c#4 d4@3 e4@4 ~ f4@9 d4@9 g3@8, ~@28 a3@27 ~@17]/3", // A#m
  CB: "[~ g#3@9 f4@9 d4@9 g4@14 b3@4 ~ c4@9 ~@16]/3", CC: "[~@20 f#3@9 g3@7 a3 g3 f#3 g3@3 ~ a3@4 a#3@9 ~@16]/3",
  CD: "~@3 a3@3 f4@2", CE: "[~@3 e4@9 d#4@9 [a#3,c#4]@9 d4@7 e4 d4 c#4 d4@3 ~ e4@4 f4@9 d4@9 g3@6, ~@10 a3@9 ~@5]/3",
  CF: "[~@3 g#3@9 f4@9 d4@9 ~ g4@13 b3@4]/2", CG: "~ c4@9 ~@14", CH: "[~@22 f#3@9 g3@7 a3 g3 f#3 g3@3 ~ a3@3]/2",
  CI: "~ a#3@9 ~@14", CJ: "[~@23 a#3@9 g4@9 f#4@7]/2", CK: "[~@2 f4@9 d4@9 c4@9 b3@9 c4@9 d#4@9 d4@9 a#4@7]/3",
  CL: "[~@2 a4@9 f#4@9 g4@18 ~ f#4@9]/2", CM: "[f#4@9 g4@19 f#4@9 ~@11]/2",
  CN: "[~ a4@9 g4@27 ~ a#4@6 g4@2 ~ d4@18 ~@7]/3", CO: "~@2 c4@9 a#3@9 ~@4", CP: "[~@2 a#3@9 ~ g4@9 f#4@9 f4@9 d4@9]/2",
  CQ: "c4@3 b3@3 c4@2", CR: "[~ d#4@3 d4@3 a#4@3 a4@3 f#4@3]/2", CS: "g4@3 f#4", CT: "[~@4 f#4@9 g4@19 f#4@9 ~@7]/2",
  CU: "[~@5 a4@9 g4@27 ~ a#4@6]/2", CV: "g4@2 ~ d4@18 ~@3", CW: "~@2 c4@3 a#3@3",
  CX: "[[d3,g3,b3]@6 ~@6 [d3,f#3,a3,c4]@6 ~@5 [d3,g3,b3]@12 ~@6 [d3,g3,b3]@6 [d3,f#3,a3,d4]@6 ~@5 [e3,g3,a3,c#4]@6 ~@6 [d3,f#3,a3,d4]@12 ~@11 [g3,b3,d4]@6 [g3,b3,d4]@4 [g3,b3,d4] ~ [g3,b3,d4]@6 [f3,g3,b3,d4]@6 [e3,g3,d4]@5 [f#3,a3,c4]@6 [g3,b3]@6 [e3,g3,b3]@6 [e3,a3,c4]@4]/6", // G D7 G D A7 D G G7 …
  CY: "[~@8 [d3,f#3,a3,c4]@6 ~@5 [b2,d3,g3]@12 ~@11 d4@12 d4@12 d4@12 ~@11 d4@12 c#4@6 e4@5 d4@12 ~@12 g3@23 g3@9]/7", // D7 G
  CZ: "[~@7 b3@6 a3@3 c4@3 [b3,d4]@5, ~@14 d4@23 ~@11]/2", DA: "~@13 [e3,g3,b3]@6 ~@5",
  DB: "~ [f#3,a3,b3]@6 ~@5 [e3,g3,b3]@6 [e3,g3,c4]@6", // B7 Em C
  DC: "[[d3,f3,b3]@6 [b2,d3,g3]@6 [c3,e3,g3]@5 [d3,e3,b3]@6 [c3,e3,c4]@6 [c3,e3,a3]@6 [g3,b3]@12 [f#3,a3]@5 [f#3,a3,d4]@6 [g3,b3,d4]@6 ~@6 [g3,b3,d4]@6 ~@6 [d3,f#3,a3,c4]@12 ~@2]/4", // Bdim G C E7 C Am G F#m …
  DD: "[~@3 [f#3,a3,c4]@6 [d3,g3,b3]@6 ~@6 [d3,f#3,a3,c4]@6 ~@5 [d3,g3,b3]@6 ~@6 [e3,g3,c4]@4]/2", // F#dim G D7 G C
  DE: "~@7 [d3,f#3,a3,c4]@6 [e3,g3,b3]@6 [e3,a3,c4]@5", DF: "~ [c3,d3,f#3,a3]@6 [b2,d3,g3]@6 ~@11", DG: "~ e4@2 d#4",
  DH: "[f#4@5 e4@6 c4@6 b3@6 d4@6 c4@12 ~@5 e4@6 d4@17 ~@3]/3", DI: "~ g3 a3 b3 c4 d4 e4 f#4",
  DJ: "[g4@3 a4@3 g4@3 f#4@2 e4@3 d4@3 c4@3 b3@3 a3@3 g3@6 g4@6 a4@5 f#4@5]/2", DK: "~ f4@12 e4@6 ~@5",
  DL: "~ d4@11 d4@12", DM: "d4@4 ~ g3!3", DN: "g3@4 ~ g3!3", DO: "g3 ~",
  DP: "[~ [g3,a#3]@52 d#4@27 d4@7 d4@15 ~ d4@7 d4@7 ~@3]/5", DQ: "~@2 d4@7 ~@8 a3@7",
  DR: "[~@4 d4@4 ~@3 d4@4 ~@4 c4@15 g3@22 g4@7 g4 f#4 g4 f#4 g4 f#4 g4 f#4 g4]/3",
  DS: "[f#4,g4] f#4 e4@2 f#4@2 g4@15 ~@3", DT: "~@4 e4 d4 c#4 d4@3 e4@2 f4@4 ~@3 f4@4 ~",
  DU: "~@3 f4@4 ~@3 f4@4 ~@3 e4@6 f#4", DV: "[e4 d#4 e4@3 f#4@3 g4@7 ~ g4@7 a4@22 b4 a4 g4]/2",
  DW: "a4@3 b4@2 g4@15 ~@4", DX: "~@3 g3@7 c4@7 ~ e4@6",
  DY: "[~ d4@7 ~ b3@7 g4@22 e4@6 c4@2 d4@7 b3@6 g3@2 a3@7 b3 a3 g3 a3@3 ~ g3@4 b3@4 d4@4 c4@3 b3@4 a3@4 g3@3 f3@4 e3@4 g3@4 c4@3 e4@4, ~@37 b3 ~@22]/5",
  DZ: "[f4@4 d4@3 b3@4 f3@4 e3@3 c3@4 e3@4 g3@4 c4@3 g3@4 c4@4 e4@3 b3@4]/2",
  EA: "[g3@4 d3@4 b2@3 c3@4 d3@4 f#3@3 d3@4 g3@7 ~@8 f#3@7]/2", EB: "~ f#3@7 g3@8 ~@8", EC: "f#4!2 g4",
  ED: "~@8 g4@9 ~@7", EE: "~@2 g4@9 ~@13",
})).s("gm_piano").gain(0.25).pan(0.4)

// other · piano
const piano_3 = note(`<
  A B@2 C D E@3 F@3 G@2 H I J K@2 L@2 ~ M@8 N O P@2 ~ Q@2 R@3 S T@2 U V@2 W@2 X Y@2 Z AA@2 AB@4 AC AD@2 AE AF@2 AG AH
  AI@5 AJ AK@2 ~ AL@2 AM@8 AN AO AP AQ AR AS AT AU AN AO AP AQ AR AS AT AU AV AW AX AY AT AZ BA BB AT BC AV AW AX AY AT
  AZ BA BB AT BC ~ BD BE BF BG@2 BH BI ~ BD BE BF BG@2 BH BI ~ AR BJ ~ BK BL BM BN BO BI ~ AR BJ ~ BK BL BM BN BO BP ~@4
  BQ@3 BR@3 BS@2 ~@4 BT@2 BU BV@2 BW BX@2 ~ BY@2 BZ@5 CA@2 ~ CB@3 CC@2 CD CE@2 CF@3 CG CH@2 ~ CI@2 CJ CK CL CM@3 CN@2 CO
  CP@7 CQ CR CS@2 CT@3 CU@2 CV CW@2 CX@4 CY@2 CZ DA DB AO@2 DC DD@3 DE@2 DF@2 DG I J DH@2 DI@2 DJ DK@8 DL@6 DM DN DO DP
>`.pickRestart({
  A: "~@17 g3@7", B: "[~@7 d3@7 ~@8 g2@7 ~@19]/2", C: "~@4 a2@7 ~@8 a2@5", D: "~@10 d2@7 ~@7",
  E: "[~@15 g2@4 ~@4 g2@4 ~@3 g2@4 ~@4 g2@4 ~@3 c3@15 b2@12]/3",
  F: "[~@3 c3@14 d3@15 g2@7 ~ b2@5 d3 ~ g3@4 ~@11 g3@7 ~@3]/3", G: "[~@5 d3@7 ~@8 g2@7 ~@21]/2", H: "~ a2@7 ~@8 a2@7 ~",
  I: "~@7 d2@7 ~@10", J: "~@13 g2@4 ~@3 g2@4", K: "[~@4 g2@4 ~@3 g2@4 ~@3 c3@15 b2@15]/2",
  L: "[c3@15 d3@15 g2@7 b2@6 d3 ~ g3@3]/2",
  M: "[~@17 e2@15 g2@15 c2@15 ~@7 c#3@7 ~@23 f#3@7 g3@7 a3@6 b3@2 c4@7 b3@7 ~ [d3,a3]@15 ~@14 g2@7 ~@8 d2@7 ~@5, ~@38 d3@15 d3@15 ~@28]/8", // D5
  N: "~@3 g2@7 ~@8 d3@6", O: "~@9 b2@7 g2@6 b2@2", P: "[d3@7 d2@7 g2@7 ~ b2@5 d3 ~ g3@4 ~@15]/2",
  Q: "[~@2 e2@15 g2@14 c2@15 ~@2]/2", R: "[~@6 c#3@7 ~@22 f#3@7 ~ g3@7 a3@6 b3@2 c4@7 b3@7, ~@13 d3@30 d3@29]/3",
  S: "[d3,a3]@5 ~@3", T: "[~@6 g2@7 ~@8 d2@7 ~@8 g2@7 ~@5]/2", U: "~@3 d3@7 ~@7 b2@7",
  V: "[~ g2@5 b2@2 d3@7 ~ d2@7 g2@7 ~ b2@5 d3 ~ g3@4 ~@6]/2", W: "[~@4 g3@13 d3@13 g2@13 ~@5]/2", X: "~ a2@2",
  Y: "[~@3 a2@6 ~ d3@6 a2@6 ~ d2@6 ~@7 [g2,g3]@6 [g2,g3]@6]/2", Z: "[g2,g3]@6 ~ [g2,g3]@6 [g2,g3]@11",
  AA: "[~@2 g2@6 ~@7 c3@13 ~@7 d3@6 g3@6 ~]/2", AB: "[d3@6 g2@6 ~@7 g3@13 d3@13 g2@13 ~@13 a2@19 a2@6]/4",
  AC: "~ d3@6 a2@6 ~ d2@6 ~@4", AD: "[~@3 [g2,g3]@6 [g2,g3]@6 ~ [g2,g3]@6 [g2,g3]@6 ~ [g2,g3]@13 g2@6]/2",
  AE: "~@7 c3@13 ~@4", AF: "[~@2 d3@6 g3@6 ~ d3@6 g2@6 ~@21]/2", AG: "~ e2", AH: "~ g2@13 c2@6 ~@4",
  AI: "[~@10 c#3@6 d3@26 [d2,d3]@26 [d2,d3]@26 [g2,g3]@13 [d2,d3]@6 [c2,c3]@6 ~]/5", AJ: "[b1,b2]@13 [c2,c3]@6 ~@5",
  AK: "[~@2 [d2,d3]@13 ~@6 d3@6 ~ g3@6 d3@6 g2@6 ~@2]/2", AL: "[~@7 e2@13 g2@13 c2@6 ~@9]/2",
  AM: "[~@5 c#3@6 d3@26 [d2,d3]@26 [d2,d3]@26 [g2,g3]@13 [d2,d3]@6 [c2,c3]@6 ~ [b1,b2]@13 [c2,c3]@6 ~@7 [d2,d3]@13 ~@6 d3@6 ~ g3@6 d3@6 ~ g2@6 ~@6]/8", // D G D C B C D
// … 36 more lines

More by W. A. Mozart