Strudelify

Carolina Shout

Johnson James P

KeyG majorTempo240 bpm
0:00/0:00
// Carolina Shout — Johnson James P
// 240 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(240/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 B C D E F G H I J K L M N@3 O P Q R S T@3 U V W X@5 Y Z AA AB AC AD@2 AE AF@2 AG AH AC AI@2 AJ AK AL AM@3 AN@2 AO@2
  AP@2 AQ@2 AR@2 AS AK AT AU AV@2 AW@2 AX@2 AY AZ BA@2 BB@2 BC@2 BD BE BF BG BH BG BH BG BI BJ BH BG BH BG BK BL BD BM@2
  BN BO BP BO BP BQ BR@2 BS BO BT BU BV BD BE BW BX@4 BY@2 BZ@2 CA@2 CB@2 CC CD BE CE CF CG CH CG CI CJ BR@2 CI CG CK CL
  CM BD CN CO CP CQ CR CS@3
>`.pickRestart({
  A: "[c#5,d5,f#5,g5,a#5,b5] [c#5,d5,f#5,g5,a#5,b5]@2 [a#4,b4,c#5,d5,f#5,g5]@2 [a#4,b4,c#5,d5,f#5,g5]@2 [d#5,g#5]", // Gmaj7 G#5
  B: "[c5,e5,a5]@2 [d#5,g#5]@2 ~ b4 [g4,c5,e5]@4 [g4,c5,e5]@4 c5 c#5, ~@4 [e5,a5]@2 ~@4 b4 ~@5", // Am G#5 C A5
  C: "~@2 [e4,g4] [f4,g#4,d5], d5@3 d5@3 ~@2, ~ [d4,f4]@3 ~@4", D: "[f#4,a4,d5]@4 [e4,f#4,d5] ~@2 a#5",
  E: "[d5,g5,b5] a#5 [d5,g5,b5] a#5 [c5,d#5,a5] g5 [c5,d#5,a5] f#5", // G Adim
  F: "[b4,e5,g5] f#5 [b4,e5,g5] [b4,d5]@2 [g4,b4,f5]@2 d5", G: "[c5,e5] a4 [a#4,c#5] e5 [b4,d5] [a4,e5] [a#4,c#5] d5",
  H: "[a4,c5] d4 ~ [g4,b4]@2 d4 ~ a#5", I: "[d5,g5,b5] a#5 [d5,g5,b5] g#5 [c5,d#5,a5] g5 [c5,d#5,a5] f#5",
  J: "[b4,e5,g5] f#5 [b4,e5,g5] [a#4,d5]@2 [a#4,d5,e5]@2 f5", K: "[a4,d5,f#5] [b4,d5,b5]@2 a5 [d5,f#5] [b4,d5,b5]@2 a5",
  L: "[c#5,f#5] g4 [c#5,e5] [c5,d5] ~ [c5,f#5,d6]@2 a#5", M: "b5 a5 ~ g5 d5@2 c#5@2 c5@2 d#5@2 f#5@2 a5@2",
  N: "[g5 a5 ~ g5 e5@2 a4@2 a#4@2 b4@2 f5@2 [g4,e5]@4 [a4,c5,g5]@4 e5@2 [c5,g5]@2 a4@2 [a#4,c#5]@2 [b4,d5]@4 [a4,c5]@4 [g4,b4]@4 [d4,g4]@4 b4@2]/3", // C Am7 C5 A#m Bm Am G G5
  O: "a4 b4 ~ a4 g#4@2 [e4,e5]@4 [d4,g#4,d5]@4 d4@2", P: "[b4,d5] a4 g#4 [b4,d5]@2 [e4,c5]@2 a#4",
  Q: "[d4,b4] a#4 [d#4,b4] [c#4,g4]@2 [c4,f#4,a4]@2 b4", R: "[b3,d4,g4] ~@2 [c4,f#4,a#4,d5]@3 ~ [a#5,c#6]",
  S: "[b5,d6] [a#5,c#6] [b5,d6] [c6,e6] [b5,d6] g5 [a5,c6] f#5", // Bm A#m Bm C Bm Am
  T: "[[g5,b5] e5 [f5,a5] [d#5,f#5] [e5,g5] g4 [d5,f5] [c5,e5]@2 [g4,c5,g5]@2 e5 [c5,g5] a4 [a#4,c#5] [b4,d5]@2 [a4,c5]@2 [g4,b4]@2 [d4,d5]@2 [a#5,c#6]]/3", // G F D#m Em Dm C C5 A#m …
  U: "[b5,d6] [a#5,c#6] b5 [c6,e6] [b5,d6] f5 [b5,c6] a5", V: "b5 a5 ~ g5 d5@2 d5@2 d#5@2 e5@2 [f5,d6]@2 b5@2",
  W: "a5 [f5,f#5,d6]@2 [f5,f#5,d6]@2 [f5,f#5,d6] f#5 b5", // D
  X: "[f#5 a4 [e5,g5] [d5,f#5]@2 [a4,d5]@2 [d5,g5,b5,d6]@2 [c5,f#5,a5,c6]@6 [b4,e5,g5,b5]@6 [a4,d5,f5,a5]@6 [a#4,c#5,e5,g5]@6 [f#4,a4,c5,e5]@3 ~ [g4,b4,d5] ~ d#5, ~@27 a4 ~@12]/5", // Em D D5 G F#dim Em Dm A#dim …
  Y: "e5 g4 g#4 b4 ~ [d4,g4,b4]@2 b4, ~@2 e5 ~", Z: "d5 g4 g#4 a4@2 [a4,c5]@2 a#4",
  AA: "[d4,g4,b4] a#4 b4 [c#4,g4]@2 [c4,a4]@2 b4", AB: "[b3,g4]@2 ~ [c4,f#4,a#4,d5]@4 ~",
  AC: "~ g4 [b4,d5,g5] g4 ~ g4 [c5,e5,g5] g4", // G C
  AD: "[~ g4 [b4,d5,g5] g4 ~ g4 [c5,e5,g5] [g4,b4]@2 [g4,b4]@2 a4 [a#4,c#5] [b4,d5,g5]@2 e5]/2", // G C G A#m G
  AE: "[c#5,g5] [g4,e5]@2 ~@2 [d5,f#5] c5 a4, ~@3 [a4,a5]@3 ~@2", // C#dim C D A
  AF: "[~ g4 [b4,d5,g5] g4 ~ g4 [c5,e5,g5] [g4,b4]@2 [g4,b4,g5] e5 a4 [a#4,c#5] [b4,d5,g5]@2 c#5]/2", // G C G A#m G
  AG: "a#4 f#5 c#5 a#4 g#4@2 a4@2 a#4@2 [a4,c5,f#5]@4 e5@2", AH: "[b4,d5] [c5,e5] c#5 [c5,f#5]@2 [f#4,c5,d5] ~ [c5,d5]",
  AI: "[~ g4 [b4,d5,g5] g4 ~ g4 [c5,e5,g5] [g4,b4]@2 [g4,b4,g5] e5 a4 [a#4,c#5] [b4,d5,g5]@2 e5]/2", // G C G A#m G
  AJ: "[c#5,g5] [g4,e5] c#5 [a4,a5]@2 [a4,c5,f#5] d5 d6", AK: "g6@2 d6@2 g6@2 d6@2 g6 d6 ~ b5 g5@2 g6@2",
  AL: "d#6 g6 d#6 c6 a5@2 f5@2 d#5@2 a4@2 a#4@2 b4@2",
  AM: "[d5 d4 ~ [a4,c5,d5]@2 d4@2 [g4,b4]@5 ~@3 [a5,a#5,g6]@2 [a5,a#5,g6]@2 e6 [g5,b5,d6] ~ [c#4,f#4,a#4]@2]/3", // D7 G D# G F#
  AN: "[[d4,g4,b4]@2 [c#4,f#4,a#4] [d4,g4,b4]@2 a4@2 [a5,a#5,g6]@2 [a5,a#5,g6]@2 e6 [g5,b5,d6] ~ [c#4,f#4,a#4]@2]/2", // G F# G D# G F#
  AO: "[[d4,g4,b4]@2 [c#4,f#4,a#4] [c4,f#4,a4]@2 [d4,f#4,d5]@2 [a5,a#5,g6]@2 [a5,a#5,g6]@2 e6 [g5,b5,d6] ~ [b3,d4,g4]@2]/2", // G F# F#dim D D# G
  AP: "[[a#3,c#4,e4,f#4]@4 [a#3,c#4,e4,f#4]@4 [b3,c#4,e4]@2 [f#3,b3,d4]@3 a5 [a#5,g#6]@4 [g#5,e6]@4 [f#5,d6]@4 [e5,c#6]@4 a#5@2]/2", // F#7 C#m7 Bm A#7 C#m D C#m
  AQ: "[[d5,b5] a#5 [d5,b5] [c5,a5]@2 [c5,f#5,d6]@2 [a5,a#5,g6]@2 [a5,a#5,g6]@2 e6 [g5,b5,d6] ~ [c#4,f#4,a#4]@2]/2", // G F D7 D# G F#
  AR: "[[d4,g4,b4]@2 [c#4,f#4,a#4] [d4,g4,b4]@2 [f#4,a4]@2 [a5,a#5,g6]@2 [a5,a#5,g6]@2 e6 [g5,b5,d6] ~ [c#4,f#4,a#4]@2]/2", // G F# G F#m D# G F#
  AS: "[d4,g4,b4]@2 [c#4,f#4,a#4] [c4,f#4,a4]@2 [d4,f#4,d5]@2 d6", // G F# F#dim D
  AT: "d#6 g6 d#6 c6 a5@2 [g5,a5]@2 d#5@2 a4@2 a#4@2 b4@2", AU: "d5 d4 ~ [a4,c5,d5]@2 d4 ~ [g4,b4]",
  AV: "[~ a4 [a4,b4,c#5,e5]@12 ~@4 g5@4 d5@2 f5@2 d5@2 b4@2 d5@2, ~@7 g4@9]/2", // A
  AW: "[c5@2 g4@2 ~ a4 [a4,a#4,c#5,e5]@8 ~@4 g5@4 d5@2 f5@2 d5@2 b4@2 d5@2, ~@7 g4@9]/2", // A
  AX: "[c5@2 g4@2 ~ a4 [a4,a#4,c#5,e5]@8 ~@4 g5@2 d5@2 d5@2 f5@2 d5@2 b4@2 d5@2, ~@7 g4@9]/2", // A
  AY: "c5 g4 ~ [c5,e5,g5]@2 [a#4,d#5]@2 [b4,d5]", AZ: "[a#4,c#5] [b4,d5] [a#4,c#5] [b4,d5] [a#4,c#5] [a4,c5] ~ [g4,b4]",
  BA: "[~ a4 [a4,a#4,c#5,e5]@10 ~@6 g5@2 d5@2 d5@2 f5@2 d5@2 b4@2 d5@2, ~@7 g4@9]/2", // A
  BB: "[c5@2 g4@2 ~ a4 [a4,a#4,c#5,e5]@8 ~@4 [b4,g5]@4 d5@2 f5@2 [g4,b4]@2 ~@2 d5@2, ~@7 g4@4 ~@5]/2", // A Em G
  BC: "[[g4,c5,e5] ~ [g3,c4,e4]@2 [f#3,b3,d#4]@2 [f3,a#3,d4] [e3,a3,c#4]@2 a#5@2 e5 a5 [g4,c#5]@2 e5, ~@9 a#4@3 ~@4]/2", // C B A# A Gdim
  BD: "[d5,g5] c5 c#5 d5 e5 [g#4,f5]@2 d#5", BE: "[g4,e5] d#5 [g#4,e5] [f#4,c5]@2 [f4,b4,d5]@2 e5",
  BF: "[e4,c5]@3 ~@2 [e5,g5,e6]@2 c6", BG: "[a5,d6]@2 g5@2 g#5 a5 ~ d6 [a5,c6]@2 d5@2 [d#5,f#5]@2 a5@2",
  BH: "[e5,g5] ~@4 [e5,g5,e6]@2 c6", BI: "[e5,g5] ~@4 [b4,e5,f#5,b5]@2 g5",
  BJ: "[e5,b5] d5 [d#5,f#5] a5 [e5,g5] [d5,a5] [d#5,f#5] a5", BK: "[e5,g5] ~@4 [a#4,d5,a#5]@2 e5",
  BL: "[d5,a5] c5 c#5 d5 e5 [g4,c5,g5]@2 e5", // D5 C5
  BM: "[[g4,e5] d#5 [g#4,e5] [f#4,c5]@2 [f4,b4,d5]@2 g4 e4 ~ [g3,a#3,e4]@2 [g3,a#3,e4]@2 [g3,a#3,e4]@2, ~@7 c5@2 ~@7]/2", // C C#m F#dim Bdim Edim
  BN: "~ [g4,b4,g5]@2 d5 f5 [b4,d5] g4 d5", BO: "[c5,e5] ~ [g3,a#3,e4]@2 [g3,a#3,e4]@2 [g3,a#3,e4]@2",
  BP: "~ g5@2 d5 f5 [b4,d5] g4 d5, ~ [g4,b4]@3 ~@4", BQ: "c5@2 g4@2 ~@2 [a#4,c#5,g5]@3 a4 [a#4,c#5,e5]@4 [b4,d5]@2",
  BR: "[[a#4,c#5] [b4,d5] [a#4,c#5] [b4,d5] [a#4,c#5] [a4,c5]@2 [g4,b4]@2 ~ [g3,a#3,e4]@2 [g3,a#3,e4]@2 [g3,a#3,e4]@2]/2", // A#m Bm A#m Bm A#m Am G Edim
  BS: "~ [g4,b4,g5]@2 d5 f5 [b4,d5] c5 d5", BT: "~ g5@2 d5 f5 [b4,d5] c5 d5, ~ [g4,b4]@3 ~@4", BU: "[c5,e5] ~@7",
  BV: "~ a#5@2 e5 a5 [g4,c#5]@2 e5, ~ [a#4,c#5]@3 ~@4", BW: "[e4,c5]@2 ~@3 a4 [a4,a#4,c5,e5]@4 g4@4 ~@2",
  BX: "[[a4,b4,d5,f5]@4 g4@4 [a4,b4,d5,f5]@2 g4@4 [c5,e5]@4 g4@16 [d4,f4,g4]@2 ~ g#4 [a4,b4,d5,f5]@4 g4@3 b4 [c5,e5]@4 g4@3 a4 [a4,a#4,c#5,e5,g5]@8 ~@2]/4", // Bm7b5 C G7 Bm7b5 C A7
  BY: "[~ [g4,b4,d5] ~ d5 [b4,f5] [g4,d5]@2 [c5,e5]@2 g4 ~ [a4,a#4,c#5,g5]@4 [b4,d5]]/2", // G Bdim G5 C Gdim Bm
  BZ: "[[a#4,c#5]@2 [b4,d5]@2 [a#4,c#5]@2 ~@2 [a4,c5]@6 [g4,b4,d5]@4 ~@3 a4 [a#4,c#5,g5]@4 g4@4 ~@2]/2", // A#m Bm A#m Am G Gdim
  CA: "[[b4,g5]@8 [a4,d5,f5]@6 [c5,e5]@4 g4@2 ~@5 a4 [a#4,c#5,g5]@6]/2", // Em Dm C Gdim
  CB: "[[b4,d5,g5]@4 [a4,d5,f5]@3 [g4,c5,e5]@4 ~@2 [a#4,e5,a#5]@2 e5]/2", CC: "a5 c5 c#5 d5 [c5,e5] [g4,c5,g5]@2 e5",
  CD: "[d5,g5] c#5 d5 d#5 e5 [g#4,f5]@2 d5", CE: "[e4,c5] ~ [g3,a#3,e4]@2 [g3,a#3,e4]@2 [g3,a#3,e4]@2",
  CF: "~ [g4,b4,g5]@2 d5 f5 d5 b4 [d5,e5]", CG: "[g4,c5,e5] ~ [g3,a#3,e4]@2 [g3,a#3,e4]@2 [g3,a#3,e4]@2",
  CH: "~ g5@2 d5 [b4,f5] [g4,d5] b4 d5, ~ [g4,b4]@3 ~@4", CI: "~ g5@2 d5 f5 [g4,b4,d5] c5 d5, ~ [g4,b4]@3 ~@4",
  CJ: "[c5,e5]@2 g4@3 b4 [c5,e5]@4 [c5,e5]@2 ~@2 [b4,d5]@2", CK: "~ g5@2 d5 f5 [g4,b4] c5 d5, ~ [g4,b4]@3 ~@4",
  CL: "[g4,c5,e5] ~@7", CM: "~ [a#4,c#5,a#5]@2 e5 a5 [g4,c#5]@2 e5",
  CN: "[g4,e5] d#5 [g#4,e5] [f#4,c5] ~ d5@2 e5, ~@5 [f4,b4]@3", // C C#m F#dim Fdim
  CO: "[e4,c5] d#5@2 e5 [f4,c5] ~ [g5,c#6,f6] d#6, ~ [f4,b4]@3 ~@4", // C F5 Gm7b5 Fdim
  CP: "[g5,c#6,f6] d#6 c#6 [c#5,c6]@2 g5 a#5 g#5, ~@3 c5", // Gm7b5 C#maj7
  CQ: "a#5@2 g#5@2 f#5@2 ~@3 d#5 ~ c5 f#4@2 d5@2, c5@2 ~ f5@4 ~, ~@3 f#4@3 ~@2",
  CR: "[g4,e5] d5 e5 g5@2 e5@2 [e4,c5], ~@3 [f4,d5]@4 ~", // C Dm
  CS: "[~ f#4 g4 g#4 a4 a#4@2 ~@3 [d#4,g4]@2 [c4,e4,a4]@5 [c6,d6,e6,g6,a6,c7]@7, ~@7 b4@5 ~@12]/3", // D# Am Am7
})).s("gm_piano").gain(0.25)

// other · piano
const piano_2 = note(`<
  ~@2 A B C D E F G H I J K D L F M N O P Q R L F K S T U V W X F Y Z AA AB AC@2 AD AE AC AD AF AG AC@2 AH AI AJ AK AL
  AM AN@2 AO@2 AP@2 AQ AR AS@2 AO@2 AT AU AV AW AX AY AX AY AX L AZ BA AX AY BB BC@2 BD BE BF BG BH BG BH BG BI BJ BK BG
  BH BG BL BM BD BE BN@2 BO@4 BP AV BQ@2 BR@2 BS@2 BD BE BT AX BU AX BU AX AY AZ BV AX BU BW BX BY BD BE BN@2 BZ@2 BO@2
  CA CB BQ@2 BR@2 CC@2 BD BE CD CE CF CG CH@3
>`.pickRestart({
  A: "~ [d3,a3]@3 [d3,a#3]@2 [d3,b3]@2", B: "[d3,c4]@4 [d3,f#3] ~@3", C: "g2 [g3,b3,d4] f#2 [f#3,a3,d#4]",
  D: "e2 [g3,b3,e4] d2 [g3,b3,f4]", E: "c2 c#2 [g3,b3,d4] c#2", F: "d2 [f#3,c4,d4] g2 [g3,b3,d4]",
  G: "g2 f#2 [f#3,a3,d#4] f#2", H: "e2 [g3,b3,e4] a#2 [g3,a#3,d4]", I: "a2 g#2 [g#3,d4,e4] g#2",
  J: "a2 [g3,c#4,e4] d2 [f#3,c4,d4]", K: "g2 f#2 [f#3,a3,d#4] d#2", L: "c2 c#2 [g3,a#3,c#4] c#2",
  M: "f2 [e3,g#3,d4] e2 [e3,g#3,d4]", N: "[a1,a2] [b1,b2] [c2,c3] [c#2,c#3]", O: "[d2,d3] [d#2,d#3] [e2,e3] [f#2,f#3]",
  P: "[g2,g3] [d2,d3] [e2,e3] [f#2,f#3]", Q: "[g2,g3] b3 f#2 [f#3,a3,d#4]", R: "e2 d2 [g3,b3,f4] g1",
  S: "e2 [g3,b3,d4] f2 [g#3,b3,d4]", T: "f#2!2 [f#3,a3,d4] g#2", U: "a2 [g3,a3,c#4] d2 [f#3,c4,d4]",
  V: "g2 f#2 [f#3,c4,d4] f#2", W: "e2 d#2 d2 [g3,b3,f4]", X: "c2 c#2 [g3,c#4,e4] c2",
  Y: "[g#2,g#3] [e2,e3] [f#2,f#3] [g#2,g#3]", Z: "[a2,a3] [b2,b3] [c3,c4] ~", AA: "~@5 [f#2,f#3]@3",
  AB: "[g2,g3] d3 ~ [c2,c3]", AC: "[b1,b2] [g3,b3,d4] [c2,c3] [g3,c4,e4]", AD: "[b1,b2] [c2,c3] [g3,a#3,c#4] [c2,c3]",
  AE: "[c#2,c#3]@2 ~ [g3,a3,c#4] [c2,c3]@2 [f#3,c4]@2, ~ f3 ~@2", AF: "[c#2,c#3] [f#1,f#2] [g#1,g#2] [a#1,a#2]",
  AG: "[b1,b2] [a#1,a#2] [a1,a2] [d2,d3]", AH: "[b1,b2,g3,c4] [c2,c3] [g3,a#3,c#4] [c2,c3]",
  AI: "[c#2,c#3] [g3,a3,c#4] [d2,d3] [f#3,c4,d4]", AJ: "g2 [g3,b3,d4] f2 [f3,b3,d4]", AK: "e2 d#2 [g3,a3,c4,d#4] d#2",
  AL: "d2 [f#3,c4,d4] c2 [f#3,c4]", AM: "b1 [g3,b3,d4] d2 [f#3,d4]",
  AN: "[g2@2 [g3,b3,d4]@2 [d2,d3] [d#2,d#3]@2 [e2,e3]@2 [f2,f3]@2 [f#2,f#3]@3 [f#3,c4,d4]@2]/2", // G D D# E F F# D7
  AO: "[g2@2 [g3,b3,d4]@2 [d2,d3] [d#2,d#3]@2 [e2,e3]@2 [f2,f3]@2 [f#2,f#3]@3 [f#3,c4]@2]/2", // G D D# E F F# F#dim
  AP: "[g2@2 [g3,b3,d4]@2 ~ [d2,d3]@2 [c#2,c#3]@2 [f#1,f#2]@2 [b1,b2]@2 [d2,d3]@2 ~]/2", AQ: "~@3 [f#3,a#3,c#4]",
  AR: "b2 a#2 a2 [f#3,c4,d4]", // D7
  AS: "[a2@2 [g3,b3,d4]@2 [d2,d3] [d#2,d#3]@2 [e2,e3]@2 [f2,f3]@2 [f#2,f#3]@3 [f#3,c4,d4]@2]/2", // G D D# E F F# D7
  AT: "[g2,g3] [f#2,f#3] [f2,f3] [f3,g3,b3]", AU: "[e2,e3] [d#2,d#3] [g3,a3] [d#2,d#3]",
  AV: "[d2,d3] [f#3,c4,d4] [c2,c3] [f#3,c4,d4]", AW: "[b1,b2] [c#2,c#3] [g3,c#4,e4] c#2",
  AX: "d2 [g3,b3,d4] g1 [g3,b3,d4]", AY: "c2 c#2 [g3,c#4,e4] c#2", AZ: "d2 [f#3,c4,d4] c2 [f#3,c4,d4]",
  BA: "b1 c#2 [g3,a#3,c#4] c#2", BB: "d2 [g3,b3,d4] g1 [f3,b3,d4]",
  BC: "[[g3,c4,e4] [c2,c3]@2 [b1,b2]@2 [a#1,a#2]@2 [a1,a2]@5 c#2@2 [g3,a3,c#4]@2]/2", // C B A# A A7
  BD: "[d2,d3] [e2,e3] [f2,f3] [f#2,f#3]", BE: "[g2,g3] [g#2,g#3] [a2,a3] [b2,b3]",
  BF: "[c3,c4] [c2,c3]@2 [g3,a#3,c4,e4]@3 [e2,e3]@2", BG: "[f2,f3] [d2,d3] [f2,f3] [f#2,f#3]",
  BH: "[g2,g3] [c2,c3]@2 [g3,a#3,c4,e4]@3 [e2,e3]@2", BI: "[g2,g3] [c2,c3]@2 [f#3,a3,c4,e4]@3 [c2,c3]@2",
  BJ: "[b1,b2] [c#2,c#3] [d#2,d#3] [b1,b2]", BK: "[e2,e3] [c2,c3]@2 [g3,a#3,c4,e4]@3 [e2,e3]@2",
  BL: "[g2,g3] [a#1,a#2]@2 [g3,a#3,d4]@3 [a#1,a#2]@2", BM: "[a1,a2] [a#1,a#2] [c#2,c#3] [a1,a2]",
  BN: "[[c3,c4] [c#2,c#3]@2 [c#2,c#3]@2 [c#2,c#3]@2 [d2,d3]@3 [g3,b3,d4]@2 g1@2 [g3,b3,d4]@2]/2", // C C# D G
  BO: "[[c2,c3] [c#2,c#3]@2 [c#2,c#3]@2 [c#2,c#3]@2 [d2,d3]@3 [g3,b3,d4]@2 g1@2 [g3,b3,d4]@2]/2", // C C# D G
  BP: "[c2,c3] [c#2,c#3] [g3,a#3] [c2,c3]", // C C# Gm C
  BQ: "[[b1,b2] [c#2,c#3]@2 [c#2,c#3]@2 [c#2,c#3]@2 [d2,d3]@3 [g3,b3,d4]@2 g1@2 [g3,b3,d4]@2]/2", // B C# D G
  BR: "[[c2,c3] [c#2,c#3]@2 [c#2,c#3]@2 [c#2,c#3]@2 [d2,d3]@3 [g3,b3,d4]@2 g1@2 [g3,b3,f4]@2]/2", // C C# D G G7
  BS: "[[g3,c4,e4] [c2,c3]@2 [b1,b2]@2 [a#1,a#2]@2 [a1,a2]@3 [g3,c#4,e4]@2 [c#2,c#3]@2 [g3,a3,c#4]@2]/2", // C B A# A C#dim C# A7
  BT: "[c3,c4] [c#2,c#3] [g3,c#4,e4] [c#2,c#3]", BU: "c2 [g3,c4,e4] c#2 [g3,c#4,e4]", BV: "b1 c#2 [g3,c#4,e4] c#2",
  BW: "d2 [g3,b3,f4] g1 [g3,b3,f4]", BX: "[c3,c4] [a#2,a#3] [a#3,c4,e4] [a#2,a#3]",
  BY: "[a2,a3] [g#2,g#3] [g2,g3] [g3,a3,c#4]", // A G# G A7
  BZ: "[[c2,c3] [c#2,c#3]@2 [c#2,c#3]@2 [c#2,c#3]@2 [d2,d3]@3 [g3,b3]@3 ~ [g3,b3,d4]@2, ~@10 d4@2 ~ g1@2 ~]/2", // C C# D G
  CA: "[c2,c3] [a1,a2] [c2,c3] [c#2,c#3]", CB: "[d2,d3] [f#3,c4] [c2,c3] [f#3,c4]",
  CC: "[[g3,c4,e4]@2 [e3,a#3,d4]@5 [g3,a3,c#4]@3 [g3,c#4,e4]@2 c#2@2 [g3,a3,c#4]@2]/2", // C Em7b5 A7 C#dim A7
  CD: "[c3,c4] [g2,g3]@3 [c3,c4] ~@3", CE: "[d#2,d#3]@3 [g1,g2]@3 [a#1,a#2]@2", CF: "[g#1,g#2]@3 [c2,c3]@3 [d#2,d#3]@2",
  CG: "[g2,g3]@3 [g1,g2]@4 ~", CH: "[~ f#3 g3 g#3 a3 a#3@2 b3@3 g3@2 [c3,a3]@5 c1@7]/3",
})).s("gm_piano").gain(0.25)

stack(piano, piano_2)