Strudelify

Sleeping Beauty

Pyotr Ilyich Tchaikovsky

KeyB♭ majorTempo220 bpm
0:00/0:00
// Sleeping Beauty — Pyotr Ilyich Tchaikovsky
// 220 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4014186; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 298 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(220/3)

// 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@3 B C@3 D E F G H I@3 J K L M N@2 L M N L N L N O P Q R S T U V ~ W@4 X Y Z AA AB AC AD@2 AE AF AG AH AI AJ AK AL X
  Y Z AM AN AO AP@2 AQ@2 AR@2 AS@2 AT AU AV AW AX AY AZ BA BB BC BD AW AX AY AZ BE BF BG BH AW AX AY AZ BI BB BJ BD AW
  AX AY AZ BE BK BG BL BM BN BO BP@4 BQ@4 BR BS BT BU BV BW BQ@2 BP@4 BX BY BZ CA CB@2 CC@2 CD@2 CE ~@4 CF CG CH CI CJ
  CK CL CM CN CG CH CO CP CQ CR CS CT CG CH CI CJ CK CL CU CN CG CH CO CV CW CX CW CY X Y Z AA AB AC AD@2 AE AF AG AH AI
  AJ AK AL X Y Z AM AN AO AP@2 AQ@2 AR@2 AS@2 AT AU AV AW AX AY AZ BA BB BC BD AW AX AY AZ BE BF BG BH AW AX AY AZ BI BB
  BJ BD AW AX AY AZ BE BK BG BL BM BN BO BP@4 BQ@4 BR BS BT BU BV BW BQ@2 BP@4 BX BY BZ CA CB@2 CC@2 CZ@2 DA@2 DB@2 DC@2
  DD@2 DE@2 DF@2 DG DH DG DH DI DJ DI DJ DK DL ~
>`.pickRestart({
  A: "[bb4,bb5]@8 [f4,f5]@3 [g4,g5]@2 [a4,a5]@3", B: "[bb4,bb5]@5 [ab4,ab5]@5 ~ [g4,g5]@5",
  C: "[c5,c6]@8 [g4,g5]@3 [a4,a5]@2 [b4,b5]@3", D: "[c5,c6]@5 [bb4,bb5]@5 ~ [a4,a5]@5",
  E: "[d5,d6]@8 [a4,a5]@3 [b4,b5]@2 [db5,db6]@3", F: "d6@3 a5@2 a5@3 f5@3 f5@2 d5@3, d5@5 ~@3",
  G: "[eb5,eb6]@8 [bb4,bb5]@3 [c5,c6]@2 [d5,d6]@3", H: "eb6@3 bb5@2 bb5@3 g5@3 g5@2 eb5@3, eb5@5 ~@3",
  I: "[e5,e6]@8 [b4,b5]@3 [c5,c6]@2 [d5,d6]@3", J: "[e5,e6]@8 [c5,c6]@3 [d5,d6]@2 [e5,e6]@3",
  K: "f6@3 c6@2 [a4,c5,c6]@3 a5@3 [a4,c5,a5]@2 f5@3, f5@5 ~@11", // Am
  L: "f6@3 b5@2 [ab4,b4,b5]@3 ab5@3 [ab4,b4,ab5]@2 f5@3, f4@5 ~@11", // Abm
  M: "f6@3 bb5@2 [g4,bb4,bb5]@3 g5@3 [g4,bb4,g5]@2 f5@3, f4@5 ~@11", // Gm
  N: "f6@3 c6@2 [a4,c5,c6]@3 a5@3 [a4,c5,a5]@2 f5@3, f4@5 ~@11", O: "c6@3 a5@2 a5@3 f5@3 f5@2 c5@3",
  P: "a5@3 f5@2 f5@3 c5@3 c5@2 a4@3, a4@5 ~@3", Q: "f5@3 c5@2 c5@3 a4@3 a4@2 f4@3, f4@5 ~@3",
  R: "c5@3 a4@2 a4@3 f4@3 f4@2 c4@3, c4@5 ~@3", S: "~@3 a4@2 a4@3 c5@3 c5@2 f5@3, f4@5 f4@5 ~ f4@5",
  T: "f5@3 a5@2 a5@3 c6@3 c6@2 f6@3, [f4,a4,c5]@5 [f4,a4,c5]@5 ~ [f4,a4,c5]@5", // F
  U: "[f4,f6]@5 [bb4,db5,f5,bb5,db6,f6]@5 ~ [g4,bb4,f5,g5,bb5,f6]@5", V: "[a4,c5,f5,a5,c6,f6]@5 ~@11",
  W: "~@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2", X: "~@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2, bb4@15 ~",
  Y: "~@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2, a4@15 ~", Z: "~@5 [d4,f4]@3 ~@3 [d4,f4,g4]@3 ~@2, bb4@5 ~@3",
  AA: "a4@5 [d4,f4]@3 ~@3 [d4,f4,g4]@3 ~@2, ~@5 bb4@5 ~@6", AB: "~@5 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, a4@10 ~ c5@5",
  AC: "~@5 [eb4,f4]@3 ~@3 [eb4,f4,b4]@3 ~@2, d5@5 ~@3", // Ebsus2 Fm7b5
  AD: "[~@5 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@7 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, c5@15 ~]/2", // Ebsus2
  AE: "~@5 [a4,c5]@3 ~@3 [a4,c5]@3 ~@2, f5@15 ~", AF: "~@5 [g4,c5]@3 ~@3 [g4,c5]@3 ~@2, e5@15 ~",
  AG: "~@5 [gb4,c5]@3 ~@3 [gb4,c5]@3 ~@2, eb5@5 ~@3", AH: "eb5@5 [eb4,f4]@3 ~@3 [eb4,f4,c5]@3 ~@2, ~@5 d5@5 ~@6",
  AI: "~@5 [bb4,d5]@3 ~@3 [bb4,d5,f5]@3 ~@2, g5@5 ~@3", AJ: "~@5 [f4,bb4]@3 ~@3 [f4,bb4,d5]@3 ~@2, eb5@5 ~@3",
  AK: "d5@5 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, ~@5 c5@5 ~ b4@5", // Ebsus2
  AL: "c5@3 ~@2 [eb4,f4]@3 ~@3 [eb4,f4]@3 ~@2, ~@5 g4@5 ~ a4@5", // Ebsus2
  AM: "a4@5 [d4,f4]@3 ~@3 [d4,f4]@3 ~@2, ~@5 bb4@5 ~ g4@5", AN: "~@5 f4@3 ~@3 [f4,a4,c5]@3 ~@2, a4@5 ~@3",
  AO: "~@5 [f4,ab4]@3 ~@3 [f4,ab4,b4]@3 ~@2, c5@5 ~@3", // Fm Fdim
  AP: "[~@5 [f4,a4]@3 ~@3 [f4,a4]@3 ~@7 [f4,a4]@3 ~@3 [f4,a4]@3 ~@2, c5@15 ~]/2", // F
  AQ: "[[d4,d5]@10 ~ [eb4,eb5]@10 [e4,e5]@10 ~]/2", AR: "[[g4,g5]@10 ~ [f4,f5]@10 [a4,a5]@10 ~]/2",
  AS: "[[bb4,bb5]@10 ~ [a4,a5]@10 [g4,g5]@10 ~]/2", AT: "[f4,f5]@5 e5@3 f5@3 a5@2 g5@3",
  AU: "f5@3 ~@2 c5@3 d5@3 c5@2 a4@3, ~@3 d5@5 ~@8", AV: "f4@3 ~@2 [f4,f5]@10 ~", AW: "[g4,g5]@10 ~ [a4,a5]@5",
  AX: "[bb4,bb5]@5 db5@3 d5@3 eb5@2 d5@3", AY: "c5@5 b4@3 c5@3 d5@2 c5@3, f5@3 ~@13",
  AZ: "[f4,bb4]@5 a4@3 bb4@3 c5@2 bb4@3, d5@3 ~@13", BA: "[f4,d5]@3 c5@2 [f4,bb4]@3 a4@3 [f4,bb4]@2 g4@3",
  BB: "[c4,f4]@3 ~@2 [e4,e5]@3 [f4,f5]@3 [g4,g5]@2 [f4,f5]@3", // F5 E F G F
  BC: "[a4,a5]@3 [g4,g5]@2 [f4,f5]@3 [e4,e5]@3 [f4,f5]@2 db5@3", BD: "[f4,bb4,d5]@3 ~@2 [f4,f5]@10 ~",
  BE: "d5@3 c5@2 [d4,bb4]@3 a4@3 [d4,g4]@2 f4@3", BF: "[c4,e4]@5 [eb4,eb5]@3 [e4,e5]@3 [f4,f5]@2 [e4,e5]@3",
  BG: "[a4,a5]@3 [g4,g5]@2 [f4,f5]@3 [e4,e5]@3 d5@2 c5@3", BH: "[f4,f5]@3 ~@2 [f4,f5]@10 ~",
  BI: "[f4,d5]@3 c5@2 [f4,bb4]@3 a4@3 [db4,bb4]@2 g4@3", BJ: "[a4,a5]@3 [g4,g5]@2 [f4,f5]@3 [e4,e5]@3 [f4,f5]@2 d5@3",
  BK: "[c4,e4]@3 ~@2 [eb4,eb5]@3 [e4,e5]@3 [f4,f5]@2 [e4,e5]@3", BL: "[f4,f5]@3 eb5@2 d5@3 c5@3 d5@2 c5@3",
  BM: "bb4@3 a4@2 bb4@3 a4@3 g4@2 f4@3", BN: "a4@3 g4@2 f4@3 eb4@3 g4@2 f4@3", BO: "eb4@3 d4@2 f4@3 eb4@3 ~@5",
  BP: "~@3 f5@2 [d4,f4,d5,d6]@3 f6@3 [d4,f4,d5,d6,f6]@2 f5@3", // Dm
  BQ: "~@3 f5@2 [eb4,f4,eb5,eb6]@3 f6@3 [eb4,f4,eb5,eb6,f6]@2 f5@3", // Ebsus2
  BR: "~@3 a5@2 [a4,c5,c6]@3 a6@3 [a4,c5,c6,a6]@2 a5@3", BS: "~@3 g5@2 [g4,c5,c6]@3 g6@3 [g4,c5,c6,g6]@2 g5@3",
  BT: "~@3 gb5@2 [gb4,c5,c6]@3 gb6@3 [gb4,c5,eb6,gb6]@2 gb5@3", // Gbdim Cdim
  BU: "~@3 f5@2 [f4,eb5,eb6]@3 f6@3 [f4,eb5,eb6,f6]@2 f5@3", BV: "~@3 f5@2 [bb4,d5,d6]@3 f6@3 [bb4,d5,d6,f6]@2 f5@3",
  BW: "~@3 f5@2 [f4,bb4,bb5]@3 f6@3 [f4,bb4,bb5,f6]@2 f5@3", // Bb5
  BX: "~@3 g5@2 [eb4,g4,eb5,c6]@3 g6@3 [eb4,g4,eb5,c6,g6]@2 g5@3", // Cm
  BY: "~@3 g5@2 [f4,d5,d6]@3 g6@3 [f4,d5,d6,g6]@2 g5@3", BZ: "[g4,eb5,g5,c6,g6]@3 ~@13",
  CA: "g4@3 gb4@2 g4@3 b4@3 c5@2 eb5@3", CB: "[[gb4,gb5]@10 ~ [g4,g5]@10 [a4,a5]@10 ~]/2",
  CC: "[[c5,c6]@10 ~ [bb4,bb5]@10 [d5,d6]@10 ~]/2", CD: "[[eb5,eb6]@10 ~ [d5,d6]@10 [c5,c6]@10 ~]/2",
  CE: "[bb4,bb5]@5 a5@3 bb5@3 f5@2 d5@3", CF: "~@11 bb5@5", CG: "f6@10 ~ [bb4,bb5]@5", CH: "f5@10 ~ [bb4,bb5]@5",
  CI: "eb6@10 ~ [bb4,bb5]@5", CJ: "eb5@10 ~ [bb4,g5]@5", CK: "bb5@5 f5@5 ~ [c5,c6]@5",
  CL: "bb5@5 f5@5 ~ [c5,c6]@5, bb4@5 ~@3", CM: "bb5@5 gb5@5 ~ g5@5, bb4@5 ~@3", CN: "d5@5 eb5@5 ~ bb5@5",
  CO: "eb6@10 ~ [bb4,bb5]@3 ~@2", CP: "eb5@10 ~ [bb4,bb5]@5", CQ: "[d5,d6]@5 [c5,c6]@5 ~ [bb4,bb5]@5",
  CR: "[a4,a5]@5 [eb5,eb6]@5 ~ [d5,d6]@5", CS: "[g4,g5]@5 ~@11", CT: "~@3 d5@2 gb5@3 ~@3 a5@2 bb5@3, ~ g5",
  CU: "bb5@5 gb5@5 ~ g5@3 ~@2, bb4@5 ~@3", CV: "~@11 bb4@5, eb5@15 ~",
  CW: "c5@5 [eb4,g4]@3 ~@3 [eb4,g4]@3 ~@2, ~@5 bb4@5 ~ a4@5", // Eb
  CX: "g4@5 [eb4,g4]@3 ~@3 [eb4,g4]@3 ~@2, ~@5 a4@5 ~ bb4@5", CY: "[gb4,a4,d5]@5 [f4,a4,eb5]@5 ~ f4 g4@3 a4",
  CZ: "[[eb5,eb6]@10 ~ [d5,d6]@10 [g4,g5]@10 ~]/2", DA: "[[gb4,gb5]@10 ~ [g4,g5]@10 [c5,c6]@10 ~]/2",
  DB: "[[d5,d6]@10 ~ [c5,c6]@10 [f4,f5]@10 ~]/2", DC: "[[e4,e5]@10 ~ [f4,f5]@10 [gb4,gb5]@10 ~]/2",
  DD: "[[g4,g5]@10 ~ [a4,a5]@10 [bb4,bb5]@10 ~]/2", DE: "[[db4,db5,db6]@10 ~ [d4,d5,d6]@10 [g4,g5,g6]@10 ~]/2",
  DF: "[[f4,f5,f6]@10 ~ [eb4,eb5,eb6]@10 [d4,d5,d6]@10 ~]/2", DG: "[bb4,bb5]@5 db5@3 d5@3 e5@2 f5@3",
  DH: "[a4,a5]@3 [bb4,bb5]@2 [d5,d6]@10 ~", DI: "[bb4,bb5]@5 [a4,d5,a5,d6]@5 ~ [bb4,bb5]@5",
  DJ: "[a4,d5,a5,d6]@5 [bb4,bb5]@5 ~ [a4,d5,a5,d6]@5", DK: "[bb4,bb5]@5 ~@3", DL: "[bb4,d5,f5,bb5,bb6]@5 ~@3",
})).s("gm_piano").gain(0.3)

// chords · piano
const piano_2 = note(`<
  A@4 B@4 C@2 D@2 E@4 F G H I F G H I J I J I K L M@2 N O P Q ~ R S R S T U V W X Y Z@2 AA AB AC AD AE AF AG AH AI U V
  AJ AK AL AM@2 AN AO AP@2 AQ AR AS ~ AT@2 AU AV AW AX AY AZ BA@2 AU AV AW BB BC BD BE@2 AU AV AW AX AY AZ BA@2 AU AV AW
  BB BF BD BG BH BI BJ T U V W X Y Z@2 AA AB AC AD AE AF BK BL T U V BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC
  CD CE CF CG CH CE CI CJ CD CE CI CK CL CM CN CO CD CP CI CJ CH CE CQ CJ CD CE CI CR CS CT CS CU T U V W X Y Z@2 AA AB
  AC AD AE AF AG AH AI U V AJ AK AL AM@2 AN AO AP@2 AQ AR AS ~ AT@2 AU AV AW AX AY AZ BA@2 AU AV AW BB BC BD BE@2 AU AV
  AW AX AY AZ BA@2 AU AV AW BB BF BD BG BH BI BJ T U V W X Y Z@2 AA AB AC AD AE AF BK BL T U V BM BN BO BP BQ BR BS BT
  CV CW CX CY CZ DA DB DC DD DE DF DG DH DI DJ DK DL DK DL DM DN DM DN DO DP DQ
>`.pickRestart({
  A: "[[f1,f2]@5 ~@11 [f1,f2]@5 ~@11 [f1,f2]@5 [f3,d4]@10 ~ [f1,f2]@5 [f3,bb3,d4]@3 ~@3 [f3,b3,d4]@3 ~@2, ~@5 [f3,bb3,d4]@15 ~ [f3,bb3,d4]@15 ~ bb3@15 ~@12]/4", // F Dm F Bb Bdim Bb
  B: "[[f1,f2]@5 ~@11 [f1,f2]@5 ~@11 [f1,f2]@5 ~@11 [f1,f2]@5 [g3,c4,eb4]@3 ~@3 [g3,db4,e4]@3 ~@2, ~@5 [g3,c4,eb4]@15 ~ [g3,c4,eb4]@15 ~ [g3,c4,eb4]@15 ~@12]/4", // F Cm Dbdim Cm
  C: "[[f1,f2]@5 [f3,a3,d4,f4]@15 ~ [f3,a3,d4,f4]@10 ~]/2", // F Dm
  D: "[[f1,f2]@5 [g3,bb3,eb4,g4]@15 ~ [g3,bb3,eb4,g4]@10 ~]/2", // F Eb
  E: "[[f1,f2]@5 ~@11 [f1,f2]@5 ~@11 [f1,f2]@5 ~@11 [f1,f2]@5 [bb3,c4,e4,bb4]@10 ~, ~@5 [bb3,c4,e4,bb4]@15 ~ [bb3,c4,e4,bb4]@15 ~ [bb3,c4,e4,bb4]@15 ~@12]/4", // F C7
  F: "[f1,f2,f3]@5 [eb3,eb4]@10 ~", G: "[f1,f2,f3]@5 [d3,d4]@10 ~", H: "[f1,f2,f3]@5 [db3,db4]@10 ~",
  I: "[c3,c4]@5 [a2,a3]@5 ~ [f2,f3]@5", J: "[db3,db4]@5 [ab2,ab3]@5 ~ [f2,f3]@5", K: "~@11 [f1,f2,a3,c4,f4]@5",
  L: "~@11 [f1,f2,f3,a3,c4]@5", M: "~@11 [f1,f2,c3,f3,a3]@5", N: "~@5 [f1,f2,f3,a3,c4]@5 ~ [f1,f2,f3,a3,c4]@5",
  O: "[f1,f2,f3,a3,c4]@5 [f1,f2,f3,a3,c4]@5 ~ [f1,f2,f3,a3,c4]@5", // F
  P: "[f1,f2,f3,a3,c4]@5 [f1,f2,f3,bb3,db4]@5 ~ [f1,f2,f3,g3,bb3]@5", Q: "[f1,f2,f3,a3,c4]@5 ~@11",
  R: "[bb1,bb2]@3 ~@2 f3@3 ~@3 f3@3 ~@2", S: "[f1,f2]@3 ~@2 f3@3 ~@3 f3@3 ~@2", T: "[bb1,bb2]@3 ~@13, bb3@15 ~",
  U: "[f1,f2]@3 ~@13, a3@15 ~", V: "[bb1,bb2]@3 ~@8 g3@3 ~@2, bb3@5 ~@3",
  W: "[f1,f2]@3 ~@2 bb3@5 ~ g3@3 ~@2, a3@5 ~@11", X: "[c2,c3]@3 ~@8 c4@5, a3@5 ~@3",
  Y: "[a1,a2]@3 ~@8 b3@3 ~@2, d4@5 ~@3", Z: "[[ab1,ab2]@3 ~@13 [a1,a2]@3 ~@13, c4@15 ~]/2",
  AA: "[f1,f2]@3 ~@13, f4@15 ~", AB: "[g1,g2]@3 ~@13, e4@15 ~", AC: "[ab1,ab2]@3 ~@8 c4@3 ~@2, eb4@5 ~@3",
  AD: "[a1,a2]@3 ~@2 d4@5 ~ c4@5, eb4@5 ~@11", AE: "[bb1,bb2]@3 ~@8 f4@3 ~@2, g4@5 ~@3",
  AF: "[f1,f2]@3 ~@8 d4@3 ~@2, eb4@5 ~@3", AG: "[a1,a2]@3 ~@2 c4@5 ~ b3@4 f1, d4@5 ~@11",
  AH: "[f2,c4]@3 ~@2 g3@5 ~ a3@4 bb1", AI: "bb3@15 ~, bb2@3 ~@13", AJ: "[d2,d3]@3 ~@2 bb3@5 ~ g3@5, a3@5 ~@11",
  AK: "[c2,c3]@3 ~@8 c4@3 ~@2, a3@5 ~@3", AL: "[d2,d3]@3 ~@8 [db2,db3,b3]@3 ~@2, c4@5 ~@3",
  AM: "[[c2,c3]@3 ~@13 [c2,c3]@3 ~@13, c4@15 ~]/2", AN: "[c2,c3]@3 ~@2 [gb3,a3,c4]@3 ~@3 [gb3,a3,c4]@3 ~@2",
  AO: "[c2,c3]@3 ~@2 [g3,bb3,c4]@3 ~@3 [g3,bb3,c4]@3 ~@2", AP: "[c2,c3]@3 ~@2 [f3,a3,c4]@3 ~@3 [f3,a3,c4]@3 ~@2",
  AQ: "[c2,c3]@3 ~@2 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@3 ~@2", AR: "[c2,c3]@3 ~@2 [e3,bb3,c4]@3 ~@3 [e3,bb3,c4]@3 ~@2",
  AS: "[f2,f3,a3,c4]@3 ~@13", // F
  AT: "[~@21 [db2,db3]@5 ~ [c2,c3,f3,eb4]@5, ~@5 f3@10 ~ [f3,f4]@10 ~@6, ~@11 [d2,d3]@10 ~@11]/2", // Db F7 F D
  AU: "[bb1,bb2,f3,d4]@5 db4@3 d4@3 eb4@2 d4@3", AV: "[a2,f3]@5 b3@3 c4@3 d4@2 c4@3, f4@3 ~@13",
  AW: "[bb2,f3]@5 a3@3 bb3@3 c4@2 bb3@3, d4@3 ~@13", AX: "[bb1,bb2,d4]@3 c4@2 [d2,d3,bb3]@3 a3@3 [e2,e3,bb3]@2 g3@3",
  AY: "[f2,f3,a3]@3 ~@13", AZ: "[f2,f3,eb4]@3 ~@2 [g2,g3,eb4]@3 ~@3 [a2,a3,eb4]@2 db4@3",
  BA: "[[bb2,bb3,d4]@3 ~@18 [db2,db3]@5 ~ [c2,c3,f3,eb4]@5, ~@5 f3@10 ~ [f3,f4]@10 ~@6, ~@11 [d2,d3]@10 ~@11]/2", // Bb Db F7 F D
  BB: "[bb1,bb2,d4]@3 c4@2 [g1,g2,bb3]@3 a3@3 [bb1,bb2,g3]@2 f3@3", BC: "[c3,e3]@3 ~@13",
  BD: "[c2,c3,bb3,c4]@3 ~@2 [d2,d3,bb3,c4]@3 ~@3 [e2,e3,bb3,d4]@2 c4@3", // C7 Gm Em7b5
  BE: "[[a3,c4]@5 ~@16 [db2,db3]@5 ~ [c2,c3,f3,eb4]@5, [f2,f3]@3 ~@2 f3@10 ~ [f3,f4]@10 ~@6, ~@11 [d2,d3]@10 ~@11]/2", // Am Db F7 F D
  BF: "[c2,c3,e3]@3 ~@13", BG: "[f2,f3,a3,c4]@3 ~@8 [f2,a2]@5", BH: "[g2,bb2]@5 [a2,c3]@5 ~ [bb2,d3]@5",
  BI: "[c3,eb3]@5 [d3,f3]@5 ~ [eb3,g3]@5", BJ: "[f3,a3]@5 [g3,bb3]@5 ~ d4@2 c4@3, ~@11 a3@5",
  BK: "[a1,a2]@3 ~@2 c4@5 ~ b3@5, d4@5 ~@11", BL: "[f1,f2]@3 ~@2 g3@5 ~ a3@5, c4@5 ~@11",
  BM: "[f1,f2]@3 ~@2 bb3@5 ~ b3@3 ~@2, a3@5 ~@11", BN: "[eb2,eb3]@3 ~@8 a3@5, c4@5 ~@3",
  BO: "[d2,f3]@3 ~@8 b3@5, d4@5 ~@3", BP: "[c2,c3,g3,eb4]@3 ~@2 g3@3 b3@3 c4@2 eb4@3",
  BQ: "g3@3 gb3@2 g3@3 b3@3 c4@2 eb4@3", BR: "~@5 [eb1,eb2,g3,c4,eb4]@3 ~@8",
  BS: "[e1,e2,g3,bb3,db4]@3 ~@8 [e1,e2,g3,bb3,db4]@3 ~@2", BT: "~@5 [f1,f2,f3,bb3,d4]@3 ~@8",
  BU: "[f1,f2,f3,bb3,d4]@3 ~@8 [f1,f2,g3,b3,d4]@3 ~@2", BV: "~@5 [f1,f2,g3,c4,eb4]@3 ~@8",
  BW: "[f1,f2,f3,a3,d4]@3 ~@8 [f3,a3,eb4]@3 ~@2", BX: "[bb1,bb2,f3,bb3,d4]@3 ~@13",
  BY: "[bb2,d3,f3,bb3,bb4]@5 a4@3 bb4@3 f4@2 d4@3", BZ: "[bb2,d3,f3,bb3]@5 a4@3 bb4@3 f4@2 d4@3",
  CA: "[c3,eb3,g3,bb3]@5 a4@3 bb4@3 g4@2 eb4@3", CB: "[db3,e3,g3,bb3]@5 a4@3 bb4@3 g4@2 e4@3",
  CC: "[d3,f3,bb3]@5 a4@3 bb4@3 ab4@2 f4@3", CD: "[d3,bb3]@5 [ab3,bb3,bb4]@3 a4@3 [ab3,bb3,ab4]@2 f4@3",
  CE: "[bb2,bb3]@5 [ab3,bb3,bb4]@3 a4@3 [ab3,bb3,ab4]@2 f4@3", // Bb Absus2
  CF: "[eb3,bb3]@5 [g3,bb3,bb4]@3 a4@3 [g3,bb3,ab4]@2 eb4@3", // Eb5 Gm
  CG: "[bb2,bb3]@5 [g3,bb3,bb4]@3 a4@3 [g3,bb3,ab4]@2 eb4@3", // Bb Gm
  CH: "bb4@3 a4@2 [ab3,bb3,ab4]@3 f4@3 [ab3,bb3]@3 ~@2, [d3,bb3]@5 ~@11", // Absus2 Gm
  CI: "[eb3,bb3]@5 [g3,bb3,bb4]@3 ab4@3 [g3,bb3,g4]@2 eb4@3", // Eb5 Gm
  CJ: "[bb2,bb3]@5 [g3,bb3,bb4]@3 ab4@3 [g3,bb3,g4]@2 eb4@3", CK: "[eb3,bb3]@5 [g3,db4,bb4]@3 ab4@3 [g3,g4]@2 eb4@3",
  CL: "[d2,d3,bb3]@5 [bb3,d4,a4]@3 bb4@3 [bb3,d4,g4]@2 d4@3", CM: "[d2,d3,c4]@5 [gb3,c4,b4]@3 c5@3 [d3,c4,gb4]@2 d4@3",
  CN: "[g2,bb3]@5 [g3,d4,a4]@3 bb4@3 [g3,bb3,g4]@2 d4@3", CO: "[g3,bb3]@5 [bb3,d4,a4]@3 bb4@3 [g3,bb3,g4]@2 d4@3",
  CP: "[bb2,bb3]@5 [ab3,bb3,bb4]@3 g4@3 [ab3,bb3,gb4]@2 f4@3", CQ: "[eb3,bb3]@5 [g3,bb3,bb4]@3 ab4@3 [g3,bb3,g4]@3 ~@2",
  CR: "[bb2,bb3]@5 [eb3,g3]@3 ~@3 [eb3,g3]@3 ~@2, ~@11 bb3@5", CS: "[eb3,c4]@5 bb3@5 ~ a3@5, ~@5 g3@3 ~@3 g3@3 ~@2",
  CT: "[eb3,g3]@5 a3@5 ~ bb3@5, ~@5 g3@3 ~@3 g3@3 ~@2", CU: "[d3,d4]@5 [c3,f3,c4,eb4]@5 ~ f3 g3@3 a3",
  CV: "[f1,f2,f3,bb3,d4]@3 ~@8 [f1,f2,f3,bb3,d4]@3 ~@2", CW: "~@5 [f1,f2,g3,b3,d4]@3 ~@8",
  CX: "[f1,f2,g3,b3,d4]@3 ~@8 [g3,b3,d4]@5, ~@11 [f2,f3]@3 ~@2", CY: "~@5 [eb2,eb3,g3,c4]@3 ~@8",
  CZ: "[d2,d3,g3,b3,f4]@3 ~@8 [c2,c3,g3,c4,eb4]@3 ~@2", DA: "~@5 [f1,f2,f3,a3,eb4]@3 ~@8",
  DB: "[f1,f2,f3,a3,eb4]@3 ~@8 [eb2,eb3,f3,a3,c4]@3 ~@2", DC: "~@5 [d2,d3,ab3,bb3]@3 ~@8",
  DD: "[bb1,bb2,ab3,bb3,d4]@3 ~@8 [d2,d3,ab3,bb3]@3 ~@2", DE: "~@5 [eb2,eb3,g3,bb3,eb4]@3 ~@8",
  DF: "[e2,e3,g3,bb3,db4]@3 ~@8 [e2,e3,g3,bb3,db4]@3 ~@2", DG: "~@5 [f1,f2,f3,bb3]@3 ~@8",
  DH: "[f1,f2,f3,bb3]@3 ~@8 [f1,f2,g3,b3,d4]@3 ~@2", DI: "~@5 [f1,f2,g3,c4]@3 ~@8",
  DJ: "[f1,f2,g3,c4]@3 ~@8 [f1,f2,eb3,a3]@3 ~@2", DK: "[bb1,bb2,d3,f3,bb3]@3 ~@2 db4@3 d4@3 e4@2 f4@3",
  DL: "~@11 [f1,f2,f3,a3,eb4]@5", DM: "[bb1,bb2,f3,d4]@5 [f1,f2,f3,eb4]@5 ~ [bb1,bb2,f3,d4]@5",
  DN: "[f1,f2,f3,eb4]@5 [bb1,bb2,f3,d4]@5 ~ [f1,f2,f3,eb4]@5", DO: "[bb1,bb2,f3,d4]@5 ~@3", DP: "[bb2,bb3,d4,f4]@5 ~@3",
  DQ: "[bb1,bb2,bb3]@5 ~@3", // Bb
})).s("gm_piano").gain(0.3)

stack(piano, piano_2)

More by Pyotr Ilyich Tchaikovsky