Strudelify

Piano Concerto No.21 in C major K.467

Wolfgang Amadeus Mozart

KeyF majorTempo80 bpm
0:00/0:00
// Piano Concerto No.21 in C major K.467 — Wolfgang Amadeus Mozart
// 80 bpm, 4/4, key F major. 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/3667186; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 104 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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(`<
  ~@23 A@2 B C@2 D E F G H I@2 ~ J K L M N O P Q R S T U V W X Y W X Z ~@2 AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO
  AP@2 AQ AR@2 AS AT AU@2 AV AW AX AY AZ BA BB BC BD BB BE BF E BG G BH BI@2 BJ BK BL BM ~
>`.pickRestart({
  A: "[~@42 bb5@2 a5 g5 ~ f5, f5@23 f5@22 ~@3, ~@11 c5@34 ~@3, ~@3 a5@8 ~, ~@6 c6@5 ~]/2", B: "~@3 g5@7 ~@2, gb5@5 ~",
  C: "[~@14 c6 bb5, c5@39 d6@5 ~@4, ~@3 e5@8 ~, ~@9 g5@13 ~@2, ~@6 bb5@5 ~]/2", D: "ab5 a5 ~@6",
  E: "~ [c4,eb4,f4]!4 ~@2 [c4,eb4,f4]!3 ~ [c4,eb4,f4], c6, a3!2, ~@5 [c4,eb4,f4]@2 ~@3 [c4,eb4,f4] ~, ~@4 a2@3 a2", // F7
  F: "c3 ~ [d4,f4]!4 ~ [d4,f4]!5, bb3@11 ~ bb3@12, ~ [d4,f4] ~@10, ~ bb2 bb2@2 ~@4", // Dm
  G: "~ [d4,f4,ab4]!4 ~@2 [d4,f4,ab4]!3 ~ [d4,f4,ab4], d6, b3!2, ~@5 [d4,f4,ab4]@2 ~@3 [d4,f4,ab4] ~, ~@4 b2@3 b2", // Ddim
  H: "~@2 [f4,a4]@2 [f4,a4]@2 [f4,a4]@2 [f4,a4]@2 ~@4 [f4,a4]@2 [f4,a4]@2 [f4,a4,bb5]@2 a5 g5 ~ f5, c3@5 ~, c4@12 c4@11 ~, ~@3 c6@7 ~@2, ~@5 [f4,a4]@2 ~@3 [f4,a4]!2", // F Bbmaj7 F
  I: "[~ f5 e5 ~ f5 e5 ~ f5 e5 ~ f5 e5 ~ f5 e5 ~ f5 e5 ~ f5 ~@4 [f4,a4,f5]@6 ~@18, c4@12 c4@11 e5@2 ~@23, e5 [g4,bb4,f5] [g4,bb4] [g4,bb4,e5] [g4,bb4,f5] [g4,bb4]@2 [g4,bb4,f5] [g4,bb4] [g4,bb4,e5] [g4,bb4]!2 ~@12, ~@3 e5@2 f5@2 ~@2 e5@2 f5@2 ~@4 f5@2 ~@2 d5@3 ~@24, ~@12 e5@2 ~ e5@2 ~@3 [e5,f5]@4 ~@24]/2", // F Gm7 Gm Edim Gm7 Gm Gm7 Gm …
  J: "a4 a5@2 ~@11 f5@2 d5@2 g5@2 e5@2 db5@2, d3@3 a5@4 ~@5, ~@2 d4 a3",
  K: "d5 ~ [d5,e5] db5 d5 e5 f5@6 ~@3 f5@3 g5@3 a5@3, d3 ~ d3 ~", // Dsus2
  L: "e5 bb5@2 ~@3 bb5@6 ~@2 g5!2 ~ e5!2 ~ c5 g5 ~ bb4, [c2,c3] ~ c3 ~, ~ g5 ~@22", // C
  M: "c5@3 bb4 c5 [bb4,c5] ~@9 c5@3 f5@3 a5@3, f3@2 a4@3 ~@3, ~@2 f3 ~", N: "c6 g5 ~@2 e3@2 f5 e5, e3@6 g5@11 ~@7",
  O: "[f3,db5]@2 d5@2 ~ d5!3, ~@2 f3 ~", // Db
  P: "d5 ~ [d5,e5] db5 d5 e5 gb5 ~ [gb5,g5] e5 gb5 g5 a5 ~ [a5,bb5] g5 a5 b5 c6@4 ~ c5, gb3 ~ gb3 ~", // Dsus2 Gmaj7 Bbmaj7
  Q: "c5 b4@2 a4 ~ g4 g4@6 ~@6 g5@6, g3 ~@3", R: "[g2,g3,ab5]@13 ~ d5@2 db5@2 d5@2 eb5@2 f5@2",
  S: "[g2,g3,g5]@13 ~ c5@2 b4@2 c5@2 d5@2 eb5@2", T: "[g2,g3,f5]@13 ~ b4@2 a4@2 b4@2 c5@2 d5@2",
  U: "[g2,g3,eb5]@13 ~ a4@2 ab4@2 a4@2 b4@2 c5@2", V: "[g2,g3]@3 ~@4 g4 gb4 g4 a4 b4, d5@13 ~@5 f3@6",
  W: "~@5 c4 ~@2 c4 ~@2 c4, c5@4 e3@2 [f3,b5]@3 ~@3, e3@2 c4 c3@3 ~@3 [d3,g5]@3, ~ c6@12 ~@2 a5@3 ~@3 f5@3, ~ g3@5 ~ a3@2 ~ a3@2", // Fdim G5
  X: "~@2 d4 ~@2 d4 ~@2 d4 ~@2 d4, d5@3 ~, g3 f3 g3 [g3,g5], ~ c4@2 ~ c4@2 ~ c4@2 ~ b3@2", // G
  Y: "~@2 d4 ~@2 e4 ~@2 e4 ~@2 d4, [ab3,f5] [a3,e5] g3 f3, ~ b3@2 ~ c4@2 ~ c4@2 ~ b3@2", Z: "[c4,e4,c5]",
  AA: "~@11 d4, g4, g3!4, ~ bb3@3 bb3@3 bb3@3 bb3@2, ~@2 d4@3 d4@3 d4@3 ~",
  AB: "~@8 db4 g3 bb3 db4, bb5@23 ~, g3!3 ~, ~ bb3@3 bb3@3 bb3@2 ~@3, ~@2 db4@3 db4@3 ~@4",
  AC: "g3@2 a3@2 e4@2 g3@2 a3@2 e4@2 ~ a5 g5 ~ a5 g5 ~ a5!2 f5 ~ g5, a5@11 ~ a3@6 [a3,g5]@3 ~@3, ~@6 g5 e4@3 [e4,g5] ~, ~@14 a5@2 a4@5 ~ a4@2, ~@15 g5@2 a5@2 ~@5", // A7 Em
  AD: "[d4,a4,f5] ~@3", AE: "[bb3,bb5]@12 [bb3,f5]@6 g5 f5 [eb5,f5] g5@3", AF: "[c4,bb4]@6 a4@6 c4@5 eb5 c6@4 ~ a5",
  AG: "eb6 c6@2 ~@2 f5@2 eb5, f3@2 ~ a5@2 ~@3, ~@2 f3 ~", AH: "f5@3 eb5 f5 [eb5,f5] d5@6 bb3@6 ~@6, bb3 ~@3",
  AI: "[a2,a3]@3 ~@4 eb5 gb5 a5 c6 eb6", AJ: "[bb2,bb3]@3 ~@4 bb4 d5 g5 bb5 d6", AK: "[g2,g3]@3 ~@4 db5 e5 g5 bb5 db6",
  AL: "[ab2,ab3]@3 ~@4 ab4 c5 f5 ab5 c6", AM: "c6 b5 ~@4 g5 f5, db3@23 ~, ~@6 ab5@11 ~@7, ~@12 b3@11 ~",
  AN: "f5 e5 d5 c5 b4 c5 db5 c5, [c3,c4] ~@3", AO: "c5@3 d5 c5 [bb4,c5] eb5@4 ~ db5 db5@3 eb5 db5 [c5,db5] f5@4 ~ eb5",
  AP: "[~@2 [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@2 ~@4 [c4,eb4]@2 ~@2 [c4,eb4]@2 [c4,eb4]@2 ~@4 [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@2 ~@4 [c4,eb4]@2 [c4,eb4]@2 [c4,eb4,db6]@2 c6 bb5 ~ ab5, eb5@17 eb5@27 [c4,eb4]@2 [c4,eb4]@2, ab3@11 c5@34 ~@3, ~@10 [c4,eb4]@4 ~@2 [c4,eb4]@2 c6@6 [ab3,eb6]@10 [c4,eb4]@2 ab3@11 ~, ~@12 [ab3,ab5]@10 [c4,eb4] ab5@22 ~@3]/2", // Cm Ab5 Cm Ab Cm
  AQ: "~@2 [bb3,db4,eb4]!4 ~ [bb3,db4,eb4]!5, [g3,a5] g3, ~ [bb3,db4,eb4] ~@10, ~ bb5 bb5@2 ~@2 eb5@2", // Eb7 Gsus2 Eb7
  AR: "[~@2 [g3,bb3,db4]@2 [g3,bb3,db4]@2 [g3,bb3,db4]@2 ~@2 eb5!2 ~@2 [g3,bb3,db4]@2 [g3,bb3,db4]@2 [g3,bb3,db4]@2 [g3,bb3,db4]@2 ~@4 [g3,bb3,db4]@2 [g3,bb3,db4]@2 [g3,bb3,db4]@2 ~@4 ab5@2 g5 f5 ~ eb5 [g3,bb3,db4]@2 eb5 f5 ~ db5, eb3@11 d5@2 ~@5 bb5@14 [g3,bb3,db4] c6@2 bb5@4 ~@3 d5 ~@5, eb5@9 f5@3 g5@24 eb3@11 ~, ~@4 [g3,bb3,db4]!2 eb3@6 db6@7 ~@5, ~@11 [g3,bb3,db4] eb3@5 [g3,bb3,db4]@2 [g3,bb3,db4]!2 ~ [g3,bb3,db4]!2]/2", // Gdim
  AS: "eb5@2 ~ db5 eb5 [db5,eb5] [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@2 ~@3 eb5 ~ d5 f5 ~ eb5 db5 ~ c5, ab3@11 ~ ab3@6 gb3@6, ~ [c4,eb4]!2 c5@3 ~ [c4,eb4]!2 ~ [c4,eb4]!2", // Dbsus2 Cm
  AT: "~@2 [a3,c4,eb4]!2 ~ [a3,c4,eb4] ~@2 [a3,c4,eb4]!2 ~ [a3,c4,eb4], f3!2, bb4@2 ~ c6 ~ eb6 ~ a5, ~ [a3,c4,eb4] ~@2 [a3,c4,eb4] ~@2 [a3,c4,eb4] ~@2 [a3,c4,eb4] ~, ~ a4 ~@6", // Adim
  AU: "[~ [db4,f4]!5 ~@8 [b3,d4,f4]!2 ~ [b3,d4,f4] ~@2 [b3,d4,f4]!2 ~ [b3,d4,f4], [bb3,c6]@12 bb3@5 f5@2 ~ f5@5 ~@8 d6@3 ~@3 f6@9, ~@6 bb5@6 ~@2 [db4,f4,f5]@2 [db4,f4]@2 [ab3,gb5]@5 d5@2 ~ [b3,d4,f4]@2 ~@4 [b3,d4,f4]@2 ~@4 [b3,d4,f4]@2 ~@4 [b3,d4,f4]@2 ~@2, ~@15 e5@3 ~@2 [c4,f4]@2 [c4,f4]@2 [g3,c5]@12 g3@12, ~@7 eb5 ~ b4@3 ~@3 b5]/2", // Db Bdim Bbsus2 Db Ab7 Bdim F5 C5
  AV: "[c4,e4,d6] c6 ~ c6", AW: "[c3,c4]@3 ~@4 g5 gb5 g5 ab5 bb5, db6@13 ~@11",
  AX: "[c3,c4]@3 ~@4 f5 e5 f5 g5 ab5, c6@13 ~@11", AY: "[c3,c4]@3 ~@4 e5 d5 e5 f5 g5, bb5@13 ~@11",
  AZ: "[c3,c4]@3 ~@4 d5 db5 d5 e5 f5, ab5@13 ~@11", BA: "[c3,c4]@3 ~@3 g5 c5 db5 d5 eb5 e5, g5@11 ~@7 a2@6",
  BB: "~@5 f3 ~@2 f3 ~@2 f3, f5@4 ~ d5 ~ bb4, a2 f2 ~ [g2,c5], ~ c3@5 ~ d3@2 ~ d3@2, ~@2 f3@2 a2@2 [bb2,e5]@3 ~@3", // C5 Bbdim
  BC: "~@5 g3 ~@5 g3, g4, c3@2 c3 [c3,c5], ~ f3@2 bb2@3 ~@2 g3@2 e3@2, ~@2 g3@2 f3@2 ~ f3@5", // C
  BD: "~@2 g3 ~@2 a3 ~@2 a3 ~@2 g3, [db3,bb4] [d3,a4] c3 bb2, ~ e3@2 ~ f3@2 ~ f3@2 ~ e3@2", // Gb D5
  BE: "~@5 g3 ~@5 g3, g4, c3@2 c3 [c3,c5], ~ f3@2 b2@3 ~@2 g3@2 e3@2, ~@2 g3@2 f3@2 ~ f3@5", BF: "[f3,a3,f4] ~@3",
  BG: "c3 bb2 bb2@2 ~@4, [bb3,d4,f4] ~@3", // Bb
  BH: "~ [f4,a4]!4 ~@3 [f4,a4] [f4,a4,a5] ~ [f4,a4], c3@10 [f4,a4] ~, c4@12 c4@11 ~, ~@3 f6@7 ~@2, ~@10 [f4,a4]@4 [f4,a4] c6@5 ~ f5@3", // F
  BI: "[~ f5 e5 ~ f5 e5 ~ f5 e5 ~ f5!2 ~ a5 g5 ~ a5 g5 ~ a5 ~@4 [f4,a4,f5]@6 ~@12 [a4,a5]@4 ~ [f4,f5], c4@12 c4@11 g5@2 ~@23, e5@2 [g4,bb4,f5]@2 [g4,bb4]@2 [g4,bb4,e5]@2 [g4,bb4,f5]@2 [g4,bb4]@2 g5@2 ~ g5@2 a5@2 ~ [g5,a5]@4 ~@24, ~@3 e5@2 f5@2 ~@2 e5@2 e5@2 ~ [g4,bb4,a5]@2 [g4,bb4]@2 [g4,bb4,g5]@2 [g4,bb4]@2 [g4,bb4]@2 ~@24, ~@7 f5 ~@8]/2", // F A F Gm7 Gm Edim Gm7 Gm …
  BJ: "[c5,c6]!4", BK: "[c5,c6]@6 [f5,f6]@6 ~@6 [a4,a5]@4 ~ [f4,f5]",
  BL: "[c5,c6]@6 [c5,c6]@6 [c5,c6]@9 [bb4,bb5] [a4,a5] [g4,g5]", BM: "[f4,f5] ~ [f4,a4,c5,c6] ~",
})).s("gm_piano").gain(0.15)

// chords · piano · soft notes
const piano_soft = note("<~@22 A@3 B C@2 D ~@74 E>".pickRestart({
  A: "[~ [a3,c4]!4 ~@2 [a3,c4]!4 ~@2 [a3,c4]!4 ~@2 [a3,c4]!4 ~@2 [a3,c4]!4 ~@2 [a3,c4]!5, f3@12 f3@12 f3@12 f3@12 f3@12 f3@11 ~, ~@5 [a3,c4]@2 ~@4 [a3,c4]@2 ~@4 [a3,c4]@2 ~@4 [a3,c4]@2 ~@4 [a3,c4]@2 ~@5]/3", // Am
  B: "~ [e3,g3,bb3]!4 ~@2 [e3,g3,bb3]!5, c3@12 c3@11 ~, ~@5 [e3,g3,bb3]@2 ~@5", // Edim
  C: "[~ [e3,g3,bb3]!4 ~@2 [e3,g3,bb3]!4 ~@2 [e3,g3,bb3]!4 ~@2 [e3,g3,bb3]!5, c3@12 c3@12 c3@12 c3@11 ~, ~@5 [e3,g3,bb3]@2 ~@4 [e3,g3,bb3]@2 ~@4 [e3,g3,bb3]@2 ~@5]/2", // Edim
  D: "~ [a3,c4]!5 ~ [a3,c4]!5, f3@11 ~ f3@11 ~, ~ a5 ~@2", E: "[f4,a4,f5,f6] ~@3",
})).s("gm_piano").gain(0.1)

// chords · piano
const piano_2 = note(`<
  A B@3 C D E F@2 G@2 H I J K L M N O P Q R ~ S T ~@4 U@2 V W X Y Z AA ~@2 AB ~@3 AC@4 AD AE AF AG AH AI AJ AK AL AM@2
  AN AO AP AQ AR AS AT AU AV AW AX AY AZ ~@7 BA BB BC BD H I J K BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BR BT ~
>`.pickRestart({
  A: "[f3,a3,c4]!12, f2 a2 c3@2", // F
  B: "[~ [f3,a3,c4]!2 ~ [f3,a3,c4] ~@2 [f3,a3,c4]!4 ~@2 [f3,a3,c4]!2 ~ [f3,a3,c4]!2 ~ [f3,a3,c4]!2 ~@4 [e3,bb3,c4]!2 ~ [e3,bb3,c4]!2 ~ [e3,bb3,c4]!5, f5@11 c5@2 ~@10 f5@2 ~@19 [f3,a3,c4]@2 [f3,a3,c4]@2 [c2,gb5]@6 [e2,g5]@6 g2@12, f2@6 a2@6 [c3,a5]@12 f2@6 a2@6 c3@6 [f2,bb5]@5 f5@2 ~@23, ~@10 [f3,a3,c4]@2 ~@10 [f3,a3,c4]@2 c6@18 ~@2 a5@5 ~@23, ~@15 g5 ~@8]/3", // F C7 F Cdim Em F Bb5 F
  C: "~ [e3,bb3,c4]!2 ~ [e3,bb3,c4]!2 ~ [e3,bb3,c4]!5, c5@2 ~ g5, c2 e2 [g2,e5]@2", // C7 C
  D: "~ [e3,bb3,c4]!2 ~ [e3,bb3,c4]!2 ~@5 [e3,g3,c4], bb5@16 [e3,c4]@2 [c2,c6]@2 [e3,g3,c4] bb5@3, c2 e2 g2@2, ~@7 [e3,bb3,c4] bb3@4, ~@5 d6@3", // C7 C C7
  E: "~@2 [f3,a3,c4] ~ [f3,a3,c4]!2 ~ [f3,a3,c4]!5, [f2,ab5] [a2,a5] c3@2, ~ [f3,a3,c4] ~@10, ~ a5 ~@6", // F Fm A F
  F: "[~ [c4,eb4,f4]!2 ~ [c4,eb4,f4]!2 ~ [c4,eb4,f4]!3 ~ [c4,eb4,f4] ~@2 [d4,f4] ~ [d4,f4]!2 ~ [bb3,d4,f4]!5, f5, [eb5,c6] [d5,bb5], a2 c3 f3@2 [bb2,c4] [d3,bb3] f3@2, ~@12 a3@8 [c4,eb4,f4] a3@3 ~@2 [d4,f4] bb3@3 ~@18]/2", // F7 Dm Bb Cm Gm Bbsus2 Gm F7 …
  G: "[~ [ab3,d4,f4]!2 ~ [ab3,d4,f4]!2 ~ [ab3,d4,f4]!3 ~ [ab3,d4,f4] c4 [ab3,c4,f4] [ab3,f4] ~ [ab3,c4,f4] [ab3,f4] ab3 [ab3,c4,f4]!5, ab5, [f5,d6] f5, b2@3 d3@3 f3@6 c3@2 c4 f3@2 c4@2 ~@5, ~@12 b3@8 [ab3,d4,f4] b3@3 c6@18 c6@6]/2", // Ddim Fm Db Fm Db Fm Dm Ddim
  H: "~ [g3,bb3,f4]!2 g3 [g3,bb3,e4]!2 bb3 [bb3,e4,g4]!5, db6@2 ~ g5, [c2,c3] [g2,bb4,db5,g5] [bb2,e5,db6]@2", // Gm7 Edim C Gdim Bbdim
  I: "~ [ab3,c4,g4]!2 ab3 [ab3,c4,f4]!2 c4 [c4,f4,ab4]!5, c6@2 f5!2, [c2,c3] [ab2,c5,ab5] [c3,c6]@2", // Abmaj7 Fm C Ab C
  J: "~ [db4,e4,ab4]!2 ~ [db4,e4,g4]!2 ~ [c4,e4,bb4] [c4,bb4] [c4,g4,bb4]!3, bb5@3 ~ e4@2, [c2,c3] [e2,e3,bb4,db5,e5] [g2,g3,c5,bb5]@2, ~@3 e5", // Dbm Dbdim C7 C Bbdim C7
  K: "~ [b3,f4,bb4]!2 ab4 [b3,f4,ab4]!2 ~ [d4,f4,b4] [f4,b4] [f4,ab4,b4]!3, ab5@2 d5!2, [c2,c3] [f2,f3,b4,f5] [ab2,ab3,ab5]@2, ~@2 d4", // Bb Fdim Bdim Fdim C Fdim Ab
  L: "~ [f4,g4,c5]!2 ~ [g4,bb4,db5]!2 ~ [g4,c5]!2 ~ [g3,c4,e4]!2, g5@3 ~, [c2,c3] [g2,g3,f5] [bb2,bb3,e5] [bb1,bb2,c5]", // Fsus2 Gdim C5 C G7 Bbdim Bbsus2
  M: "~ [a3,c4,f4]!2 ~ [a3,c4,f4]!2 ~@2 [g3,d4,f4] g3 ~ [g3,d4,f4], f5@6 ~ [g3,d4,f4] ~@2 [g3,d4,f4] ~, [a1,a2] [f2,f3] [bb1,bb2,e5] [g2,c5], ~@5 d5 ~ bb4", // F G7 A F Bbdim C5
  N: "~ [g3,c4,f4]!2 ~ [g3,d4,f4]!2 ~ [g3,c4,f4]!2 ~ [g3,c4,e4]!2, g4@3 ~, [c2,c3] [bb1,bb2] [c2,c3] [c2,c3,c5]", // Csus4 G7 Csus4 C Bb C
  O: "~ [g3,e4]!2 ~ [f3,f4]!2 ~ [a3,f4] [a3,f4,db5,db6] ~ [c4,g4] [c4,g4,e5,e6], [db2,db3,bb4] [d2,d3,a4] [c2,c3] [bb1,bb2,d5,d6], ~@7 [c5,c6]@2 ~ [eb5,eb6]@2", // C F Dm Aaug C5 C Gb D5 …
  P: "~ [a3,c4,f4]!2 ~ [a3,c4,f4]!2 ~@2 [g3,d4,f4] g3 ~ [g3,d4,f4], [f5,f6]@6 ~ [g3,d4,f4] ~@2 [g3,d4,f4] ~, [a1,a2] [f2,f3] [bb1,bb2,e5,e6] [g2,c5,c6], ~@5 [d5,d6] ~ [bb4,bb5]", // F G7 F G7 A F Bbdim C5 …
  Q: "~@2 [g3,c4,f4]@2 [g3,c4,f4]@2 ~@2 [g3,d4,f4]@2 [g3,d4,f4]@2 ~@4 g5!2 ~@2 [bb3,c4,e4]@2 [bb3,c4,e4]@2, g4@17 gb5@2 ~@5, g5@5 a5 ~@2, [c2,c3] [bb1,bb2] [c2,c3] [c2,c3,c5,c6], ~@7 [g3,c4,f4]!2 ~@3", // Csus4 G7 C7 C Bb C Csus4
  R: "[f3,f4] [f3,a3,c4,f4,a4,c5]!2 [f3,a3,c4,f4,a4]!3 [f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4]!5, f5, f2@7 ~@5, ~ c5@3, ~ a4", // F
  S: "[f2,f3] ~@7", T: "[f2,f3] ~@5 [f2,f3] ~",
  U: "[[a1,a2] ~ [c2,c3] ~ [f2,f3] ~@3 [bb1,bb2] ~ [d2,d3] ~ [f2,f3] ~@3, f5@23 ~, [eb5,c6]@23 ~ [d5,bb5]@23 ~]/2", // A C F Bb D F Cm Gm
  V: "[b1,b2] ~ [d2,d3] ~ [f2,f3] ~@3, [f5,ab5,d6]@23 ~", W: "[c2,c3] ~ [f2,f3] ~ [a2,a3] ~ [c3,c4] ~, [f5,a5,c6]@23 ~",
  X: "[bb2,bb3] ~ [g2,g3] ~ [c3,c4] ~ [c2,c3] ~, [g5,bb5,e6]@23 ~", Y: "[f2,f3] a5", Z: "bb5 db5", AA: "[f2,f3] ~",
  AB: "[f2,f3] ~@3", // F
  AC: "[~@9 [eb3,g3,c4]!3 ~ [d3,f3,c4]!2 ~ [f3,ab3,b3]!2 f3 [f3,ab3,b3]!5 ~ [eb3,g3,d4]!2 ~ [g3,c4]!2 ~ [c4,eb4]!5 ~ [ab3,b3,eb4]!2 ~ [f3,ab3,b3,d4]!2 ~ [g3,b3,f4] [g3,f4] [g3,d4,f4]!3, ~@3 c5@2 ~ d5 d5@2 ~ eb5@3 ~@2 b4, ~@2 ab5@2 g5@2 f5 ~, ~@4 g2 [d3,b4] ~@2 g2 [eb3,c5] g3@2 g2 [b2,b4,d5,ab5] [d3,f5,g5]@2, ~@33 c5@3 ~@8 b3@4]/4", // Cm Dm7 Fdim Ebmaj7 C5 Cm Abm Fdim …
  AD: "~ [gb3,c4,gb4]!2 ~ [gb3,c4,eb4]!2 ~ [a3,c4,gb4] [c4,gb4] [c4,eb4,gb4]!3, [g2,eb5] eb5@3, ~ [c3,c5,gb5] [eb3,gb5,a5]@2, ~@2 a3, ~@3 a4", // Gbdim Cdim Gbdim Cdim Cm Cdim Ebdim
  AE: "~ [c4,d4,g4]!2 ~ [c4,d4,ab4]!2 ~ [b3,d4,g4]!2 ~ [g3,b3,d4]!2, d5@18 ~ b5@5, g2 [d3,ab5,f6] [f3,g5,d6] [f2,g4]", // Csus2 Dm7b5 G Ddim G7 Fsus2
  AF: "[e2,e3] ~ [c3,c4] ~ [f2,f3,b4] a4 [d2,d3,g4] f4, c5@11 ~@13, c6 ~@3", // E C Fdim G5
  AG: "[g2,g3] ~ [f2,f3] ~ [g2,g3] ~ [g2,g3] ~, d4@17 ~ g4@6", // G F G
  AH: "[ab2,ab3] ~ [a2,a3] ~ [g2,g3] ~ [f2,f3] ~, f4 e4 ~@2", // Ab A G F
  AI: "[e2,e3] ~ [c2,c3] ~ [f2,f3,b4,b5] [a4,a5] [d2,d3,g4,g5] [f4,f5], [c5,c6]@11 ~@13", // E C Fdim A G5 F C
  AJ: "[g2,g3] ~ [f2,f3] ~ [g2,g3] ~ [g4,g5]@2, [d4,d5]@17 ~ [g1,g2]@3 ~@3", // G F G D G
  AK: "[c2,c3]@3 g2@3 ~ [e3,g3,c4]!2 ~ [e3,g3,c4]!2, ~@2 c3 bb2", // C
  AL: "~ [a3,c4,gb4]!2 ~ [a3,c4,gb4]!2 ~ [a3,c4,gb4]!2 ~ [c4,eb4,g4]!2, eb6, [a2,c5] gb5@2 ~, ~ c3 a2 [g2,g5]", // Gbdim Cm Am G
  AM: "[~@2 [c4,d4,a4]@2 [c4,d4,a4]@2 ~@2 [c4,d4,a4]@2 [c4,d4,a4]@2 c6 d6!2 ~ d6 [c6,d6] c6 d6 ~@4 [g3,bb3,d4,g4]@3 ~@21, d6@12 ~ c6@2 c6@2 ~@2 c6@2 bb5@2 c6@2 ~@23, [gb2,a5]@3 gb5@6 ~ d6@2 [g5,bb5]@3 ~@9, ~ a2 d3 [gb3,a5] ~@4, ~@7 [c4,d4,a4]!2 ~ [c4,d4,a4]!2 ~@12]/2", // D7 Csus2 Gm Gbm Gm Gbm D7
  AN: "eb2 ~ g2 ~ eb2 ~ d3@2, eb3@17 ~ d2@3 ~@3", AO: "db3 e3 a2 db3, db2 ~ e2 ~ a1 ~ db2 ~",
  AP: "~ [a4,d5]!5 eb5 [a4,eb5,f5]!2 [f2,f3,a4,eb5,f5] ~ [c5,eb5,f5], [d2,f4,f5]@6 ~@4 [a4,eb5,f5] ~, d3@2 [d3,d4]@2 [c3,c4,eb6]@3 a5", // D5 F7 Dm F7 D Cm
  AQ: "[bb2,bb3,bb4,d5,f5,bb5] [bb4,d5] [c5,eb5] [d5,f5]!3 ~@3 [f4,d5]!3, ~ [bb2,bb3], ~@7 [d4,bb4]@5, ~@2 [eb4,c5]", // Bb Cm Dm Bb Gm Cm
  AR: "c4 a3 [bb3,d4] [c4,eb4]!3 ~@3 [c5,eb5]!3, c3 ~ [c3,c4]@2, ~ c4@2 ~@4 a4@5, ~@7 c5@2 ~@3, ~@2 [bb4,d5]", // Bb Cm C Bb
  AS: "~ [f4,a4] [g4,bb4] [a4,c5]!3 ~@3 [a5,c6]!3, [f2,f3] ~ [f2,f3]@2, ~@7 f5@5, ~@7 a5@2 ~@3, ~@2 [g5,bb5]", // F Gm Am F Gm
  AT: "bb3 ~@2 [d4,f4]!3 ~@3 [d5,f5]!3, bb2 [bb2,bb3], ~ bb3@5 ~@2 [c5,eb5]@4, ~ d4@2 ~@4 bb4@5, ~@2 [c4,eb4]@4 ~ d5@2 ~@3", // Dm Bb Cm
  AU: "~ [c4,eb4,gb4]!2 ~ [c4,eb4,gb4]!2 ~ [c4,eb4,gb4]!5, [eb5,gb5,eb6], a2 c3 f3@2", // Cdim Ebm
  AV: "~ [bb3,d4,g4]!2 ~ [bb3,d4,g4]!2 ~ [bb3,d4,g4]!5, [d5,g5,d6], bb2 d3 g3@2", // Gm G5
  AW: "~ [bb3,db4,e4]!2 ~ [bb3,db4,e4]!2 ~ [bb3,db4,e4]!5, [db5,e5,d6], g2 bb2 e3@2", // Bbdim Dbm
  AX: "~ [ab3,c4,f4]!2 ~ [ab3,c4,f4]!2 ~ [ab3,c4,f4]!5, [c5,f5,c6], ab2 c3 f3@2", // Fm F5
  AY: "ab4@11 ~ b4@11 ~, [db3,f3,f4]@23 ~", AZ: "[c3,g3,e4,c5] ~@3",
  BA: "[f2,f3] ~ [a2,a3] ~ [f4,f5]@2 [eb4,eb5]@2, [gb4,gb5]@11 ~ [c3,c4]@3 ~@9", BB: "~@4 [f3,f4,f5] ~ [ab2,ab3,ab4] ~",
  BC: "[g2,g3] ~ [b2,b3] ~ [g4,g5]@2 [f4,f5]@2, [ab4,ab5]@11 ~ [d3,d4]@3 ~@9", // G B G F Ab D
  BD: "[e4,g4] [c4,e4,g4] e4 [g3,e4,c5]!3 [f3,f4,ab4]!2 f4 [ab3,c4,f4]!3, [c2,c3,e5]@2 ~ f5, ~ [c4,g4]@2 ~ [f3,ab4]@2, ~ c6 ab5@2", // Em C Fm C C5 Fm
  BE: "~ [f4,g4,c5]!2 ~ [g4,bb4,db5]!2 ~ [g4,c5]!2 ~ [e4,g4]!2, g5@3 ~, [c2,c3] [g2,g3,f5] [bb2,bb3,e5] [bb1,bb2,c5]", // Fsus2 Gdim C5 Em C G7 Bbdim Bbsus2
  BF: "[a1,a2] ~ [f2,f3] ~ [bb1,bb2,e5] d5 [g2,g3,c5] bb4, f5@11 ~@13", // A F Bbdim C5
  BG: "[c2,c3] ~ [bb1,bb2] ~ [c2,c3] ~ [c2,c3] ~, g4@17 ~ c5@6", // C Bb C
  BH: "[db2,db3] ~ [d2,d3] ~ [c2,c3] ~ [c4,g4]@2, bb4@6 [f4,a4]@11 ~ [bb1,bb2]@3 ~@3", // Db D C C5 F Bb
  BI: "[a1,a2] ~ [f2,f3] ~ [bb1,bb2,e5,e6] [d5,d6] [g2,g3,c5,c6] [bb4,bb5], [f5,f6]@11 ~@13", // A F Bbdim D C5 Bb F
  BJ: "[c2,c3] ~ [b1,b2] ~ [c2,c3] ~ [c5,c6]@2, [g4,g5]@17 ~ [c2,c3]@3 ~@3", // C B C G C
  BK: "[f3,a3,c4,f4]!3 [f3,ab3,b3,f4]!3 [f3,a3,c4,f4]!3 [f3,b3,d4,f4]!3, [f5,f6]", // F Fdim F Bdim F
  BL: "[f3,c4,eb4,f4]@2 [c2,c3] ~ [f2,f3] ~ [a1,a2] ~, [a1,a2] ~@7", // F7 C F A
  BM: "[bb2,d4,f4]!3 [bb2,db4,e4]!3 [bb2,d4,f4]!3 [bb2,e4,g4,db5]!3, [bb1,d5] db5 d5 e5", // Bb Bbdim Bb Bbdim Bb
  BN: "[f4,ab4,d5,f5]@2 [d2,d3] ~ [f2,f3] ~ [b1,b2] ~, [b1,b2] ~@7", // Ddim D F B
  BO: "[c2,c3] ~ [f2,f3] ~ [a2,a3] ~ [c3,c4] ~, [c5,f5,a5,c6]@23 ~", // C F A C F
  BP: "~@2 [g2,g3] ~ [c3,c4] ~ [c2,c3] ~, c5, g5@11 ~ e5@11 ~, [bb2,bb3] ~@7, ~ [bb5,e6]@23", // G C Bb Bbdim
  BQ: "~ c4!11, [f2,f3,a4,f5,a5] [a2,a3] c3@2, ~ f6@5 ~@18", // F A
  BR: "[c4,e4,g4,bb4,c5]!12, [c2,c3] [e2,e3] [g2,g3] [c2,c3]", BS: "[c4,f4,a4,c5]!12, [f2,f3] [a2,a3] c3@2",
  BT: "[f2,f3]", // F
})).s("gm_piano").gain(0.15)

// chords · piano · soft notes
const piano_soft_2 = note(`<
  ~@22 A B C D@2 E F ~@5 G H I@2 J K L M N O ~@10 P ~@16 Q R S T@4 ~ U ~@22 V@2
>`.pickRestart({
  A: "[f2,f3,a3,c4,f4] ~ [a2,a3,a4] ~ [c3,c4,c5] ~@3", B: "f4 ~ [a2,a3,a4] ~ [c3,c4,c5] ~@3",
  C: "f4 ~ [a2,a3,a4] ~ [c3,c4,c5] ~ f4 ~", D: "[c2,c3,c4] ~ [e2,e3,e4] ~ [g2,g3,g4] ~@3",
  E: "[c2,c3,c4] ~ [e2,e3,e4] ~ [g2,g3,g4] ~ [c2,c3,c4] ~", F: "[f2,f3,f4] ~ [a2,a3,a4] ~ [c3,c4,c5] ~@3",
  G: "f5 [a4,c5,f5]!5 ~ [f4,a4,c5]!5, [a5,f6] ~, ~ [a2,a3] [c3,c4]@2", // F Dm A C
  H: "~ [g4,a4,db5] [g4,a4]!2 [g4,a4,db5]!2 ~ [e5,g5,db6]!5, [e2,e3]@2 a2 [a1,a2], ~ db5 ~@4, ~ [g2,g3] a3@2", // A7 Gsus2 A7 Dbdim E A G
  I: "[~@3 [f4,a4]!3 ~ f4 ~@2 e4 [e4,g4] ~@3 [f4,a4]!3 ~@3 [f4,a4]!3, [f5,a5,f6]@6 ~@2 [f4,a4] a2 db4@2 ~ f4 [e4,g4]@4 ~ f4@2 ~@3, ~ d4@5 a3@12 ~@2 [e4,g4]@4, ~ f4@2 ~@4 d4@5 ~ d4@5 ~ d4@5, ~ [e4,g4]@2 d3@3 [d2,d3]@3 [d2,d3,a3]@3]/2", // F Em F Em D D5
  J: "~@3 [bb3,g4]!3 ~@3 [e4,g4]!3, [c2,c3,c4] [c2,c3], ~ [g3,e4]@5 ~@2 [d4,f4]@4, ~ g4@2 ~@4 e4@2 ~@3, ~@2 [a3,f4]@4 ~ c4@5", // Eb Em C Dm
  K: "~ [c4,e4] [c4,e4,g4] [c4,a4]!9", L: "g4 [e4,g4,c5]!11, [e2,e3], c4 [c3,c4], ~ [g2,g3]@3",
  M: "[d4,a4,c5]!12, [f2,f3], ~ [a2,a3]@3, ~ d3", N: "[d4,a4,c5]!12, [gb2,gb3], ~ [a2,a3]@3, ~ d3",
  O: "[d4,g4]!2 g4 [d3,b3,g4]!3 [c3,c4,eb4]!3 ~@3, [g2,g3,b4] ~, ~ d4@2 ~@3, ~ g5 eb5 ~", // G5 G Cm G
  P: "~ [e3,g3,c4]!2 ~ [e3,g3,c4]!2 ~@6, c5", Q: "~ [bb3,bb4,g5], [c4,eb4,g4,eb5]",
  R: "[c5,ab5]@2 [c2,c3,c4] ~ [eb2,eb3,eb4] ~@3, [ab1,ab2] ~@7", // Fm C Eb Ab
  S: "[ab1,ab2,ab3] ~ [c2,c3,c4] ~ [eb2,eb3,eb4] ~ [ab1,ab2,ab3] ~", // Ab C Eb Ab
  T: "[[g1,g2] ~ [bb1,bb2] ~ [eb2,eb3] ~@3 [eb2,eb3] ~ [g2,g3] ~ [bb2,bb3] ~@3 [eb2,eb3] ~ [g2,g3] ~ [bb2,bb3] ~ [eb2,eb3] ~ [ab2,ab3] ~ [c3,c4,c5] ~ [eb3,eb4,eb5] ~ [gb2,gb3,gb4] ~, [eb4,eb5]@37 ~@11]/4", // G Bb Eb G Bb Eb G Bb …
  U: "[db4,db5]@2 [db3,db4,db5] ~@5, [bb2,bb3] ~@7", // Db Bb
  V: "[[c4,f4,a4,c5]!3 [c4,f4,a4]!3 [c4,f4] [a3,c4,f4]!5 [f2,c3,f3,a3,c4,f4]@3 ~@9, ~ c5@4 ~@3, ~ a2@2 a2@2 ~@3, ~ a3 c3@2 ~@4, ~@2 a4@3 ~@3]/2", // F F5 F
})).s("gm_piano").gain(0.1)

stack(piano, piano_soft, piano_2, piano_soft_2)

More by Wolfgang Amadeus Mozart