Strudelify

Mr. Blue Sky

MUSIC AND LYRICS

KeyB♭ majorTempo175 bpm
0:00/0:00
// Mr. Blue Sky — MUSIC AND LYRICS
// 175 bpm, 4/4, key A# 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 (4/4 at bar 1, 2/4 at bar 182, 4/4 at bar 182) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5872316; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 217 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(175/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.

// other · french horn · "Horn in F"
const french_horn = note(`<
  ~@23 A B C D@2 E@2 F@2 G H ~@6 I ~@7 I ~@16 J K L M@6 N H ~ O ~@4 I ~@2 P Q R S ~@4 P Q T U ~@6 V W@2 X Y Z@2 AA AB AC
  AD@2 AE AF AG AH AI@6 AJ@2 AK ~@4 I ~@3 AL AM AN AO ~@3 AP@2 AQ@2 AR@2 AB AS AP@2 AQ@2 AR@2 AT@2 AU@2 AV@4 ~@7 AW@4
  AX@5 AY@4 AZ@2 BA@6 BB@2 BC@7 BD@6 ~@2 BE@7
>`.pickRestart({
  A: "c5 db5 c5 db5", B: "c5@2 a4 d5@3 ~@2", C: "~ c5!2 a4", D: "[d5@4 db5@3 a4@2 f4@2 ~@2 d4 f4@2]/2",
  E: "[g4 a4 ~@2 d4@2 f4 g4@3 f4@2 g4@2 f4@2]/2", F: "[g4 a4 ~@2 a4@2 a4 bb4@3 ~@2 f5@2 f5@2]/2",
  G: "f5 e5@2 d5@3 e5 f5", H: "~@5 f5 d5 c5", I: "c5@3 b4@2 bb4@3 a4@8", J: "~@2 c4@2 c4@2 c4 a3", K: "c4!2 d4@2 ~@4",
  L: "c5!3 a4",
  M: "[d5@4 e5@3 f5@2 ~@3 d4 f4 d4 g4@2 a4 ~@2 d4@2 f4 g4@2 g4@3 g4@2 f4 g4@2 a4 ~@2 g4@2 a4 f4@3 ~@2 f5@2 f5@2]/6",
  N: "f5@2 e5 d5@2 e5@2 f5", O: "a4 ~@3", P: "f4 a4", Q: "bb4@2 c5 a4@2 ~@3", R: "f4@2 g4 a4@3 f4@2",
  S: "e4@2 f4 f4@3 ~@2", T: "f4@2 g4 a4@3 g4@2", U: "f4@2 g4 f4@3 ~@2", V: "f4!2 c5@2", W: "a4/2", X: "g4 f4", Y: "e4",
  Z: "d4/2", AA: "a4!2", AB: "g4", AC: "f4", AD: "f4/2", AE: "f4@2 f4!2 ~@2 f4@2", AF: "f4 f4@2 f4 ~@4", AG: "~ f4!3",
  AH: "g4@4 a4@3 g4",
  AI: "[f4 ~@3 a4@2 a4 g4@2 f4 ~@2 f4 f4@2 g4@3 g4 g4@2 g4@2 f4@2 e4@2 ~ e4@2 e4 f4@3 ~@2 a4@2 a4 a4@3 g4 f4@2 g4@2 ~]/6",
  AJ: "[~@4 ab4@2 ab4 ab4@3 g4@2 f4@2 g4@2]/2", AK: "f4 ~@3", AL: "~@12 c4 b3 ~ bb3", AM: "a3 ~@3", AN: "~@6 a3 ab3",
  AO: "g3 ~@3", AP: "[~@2 a4@2 f5@6 e5 d5 e5@2 a4@2]/2", AQ: "[~@2 a4@2 d5@6 c5 bb4 c5@2 f4@2]/2",
  AR: "[~@2 d4@2 bb4@6 a4 g4 a4@2 c4@2]/2", AS: "f4@3 ~", AT: "[g4@3 g4]/2", AU: "[f4@3 f4]/2", AV: "[f4@27 ~@5]/4",
  AW: "[~@2 g4@11 f4@33 g4@11 ~ f4@5 g4]/4", AX: "[~@5 ab4@22 g4@11 f4@34 g4@8]/5",
  AY: "[~@3 f4@6 g4@5 ab4@22 ~ ab4@25 ~@2]/4", AZ: "[~@6 g4@9 bb4@9 g4@8]/2",
  BA: "[~@9 bb4@9 d5@9 bb4@9 ~@8 f4@9 ab4@9 bb4@8 b4@9 bb4@4 ~ b4@4 bb4@8]/6", BB: "[~ ab4@8 g4@23]/2",
  BC: "[~@12 g4@35 eb4@65]/7", BD: "[~@5 g4@90 ~]/6", BE: "[~@14 eb4@12 c4@12 eb4@11 bb4@12 g4@47 ~@4]/7",
})).s("gm_french_horn").gain(0.4)

// other · french horn · "Horn in F"
const french_horn_2 = note(`<
  ~@10 A B C D@2 E F@2 G@2 H@3 ~ I J K@2 L@2 M@2 N O ~@2 P ~@3 Q R ~@2 P ~@3 Q S ~@14 T U V W X@6 Y Z ~@2 P ~@3 Q R ~@5
  AA AB AC AD ~@4 AA AB AC AD ~@2 AE AF@2 AG AE AH@2 AI AJ@2 AE AK AL@3 AG AE AH@2 AI AJ@2 AM AK ~ P ~@3 Q R ~ AN AO AC
  AP AQ AR AC AP AM@2 AS AT AU AV AU AS AW AX AY AZ AY BA BB@4 BC@4 ~@7 BD@4 BE@5 BF@4 BG@2 BH@6 BI@2 BJ@7 BK@6 ~@2 BL@7
>`.pickRestart({
  A: "~@7 a3", B: "c4 db4 c4 db4", C: "c4@2 a3 d4@3 ~@2", D: "[~@4 c4@2 c4@4 a3@4 d4@10 a3@7 g3]/2",
  E: "f3 ~@4 d3 f3@2", F: "[g3@2 a3@2 ~ g3 a3 b3@3 a3@2 b3@2 a3@2]/2",
  G: "[db4@2 db4@2 db4@2 db4 d4@3 ~@2 a3@2 bb3@2]/2", H: "[c4@2 d4 c4@2 bb3@2 c4@3 ~@3 d4 c4 bb3@3 ~@6]/3", I: "~ a3!3",
  J: "~ a3!2 f3", K: "[g3@4 e3@3 a3@2 a3@2 ~@2 d3 f3@2]/2", L: "[g3 a3 ~@2 d3@2 f3 g3@3 f3@2 g3@2 f3@2]/2",
  M: "[g3 a3 ~@2 g3@2 a3 f3@3 ~@2 bb3@2 bb3@2]/2", N: "a3 g3@2 f3@3 g3 a3", O: "~@5 d4 c4 a3", P: "~@2 d3@2 f3 g3@2 a3",
  Q: "~@2 a3 f3", R: "g3@2 a3 bb3@3 ~@2", S: "g3@2 a3 [g3,bb3]@3 ~@2", T: "c4 bb3@2 a3 g3@3 ~",
  U: "~@2 c4@2 c4@2 c4 a3", V: "c4!2 d4@2 ~@4", W: "f3!4",
  X: "[g3@4 a3@3 a3@2 ~@3 d3 f3 d3 g3@2 a3 ~@2 d3@2 f3 g3@2 g3@3 g3@2 f3 g3@2 a3 ~@2 g3@2 a3 f3@3 ~@2 a3@2 a3@2]/6",
  Y: "a3@2 g3 f3@2 g3@2 a3", Z: "~@5 f3 e3 f3", AA: "d4@2 e4 f4@3 d4@2", AB: "c4@2 d4 c4@3 ~@2",
  AC: "bb3@2 c4 d4@3 bb3@2", AD: "a3@2 bb3 a3@5", AE: "a4", AF: "c5/2", AG: "b4 a4", AH: "g4/2", AI: "db5", AJ: "bb4",
  AK: "g4", AL: "c4/3", AM: "f4", AN: "a3 c4", AO: "d4@2 e4 c4@3 ~@2", AP: "a3@2 bb3 a3@3 ~@2",
  AQ: "g3@2 a3 bb3@3 g3@2", AR: "f3@2 g3 f3@3 ~@2", AS: "d4", AT: "c4", AU: "bb3", AV: "a3", AW: "~@3 d4",
  AX: "a4@5 g4 f4 e4", AY: "d4@3 d4", AZ: "f4@5 e4 d4 c4", BA: "c4@3 c4", BB: "[bb3@3 bb3]/2", BC: "[a3@27 ~@5]/4",
  BD: "[~@2 bb3@11 ab3@33 bb3@11 ~ ab3@5 bb3]/4", BE: "[~@5 c4@22 bb3@11 ab3@34 bb3@8]/5",
  BF: "[~@3 ab3@6 bb3@5 c4@22 ~ b3@25 ~@2]/4", BG: "[~@6 bb3@9 eb4@9 bb3@8]/2",
  BH: "[~@9 d4@9 g4@9 d4@9 ~@8 b3@9 eb4@9 eb4@8 d4@9 d4@4 ~@5 d4@8]/6", BI: "[~ d4@8 bb3@23]/2",
  BJ: "[~@12 bb3@35 ab3@65]/7", BK: "[~@5 bb3@90 ~]/6", BL: "[~@14 g3@12 eb3@12 g3@11 eb4@12 bb3@47 ~@4]/7",
})).s("gm_french_horn").gain(0.4)

// other · french horn · "Horn in F"
const french_horn_3 = note(`<
  ~@10 A B C D@2 E F@2 G@2 H@3 ~ I J K@2 L@2 M@2 N O ~ P ~@4 Q R ~ P ~@4 Q S ~@15 T U V W@6 X Y ~ P ~@4 Q Z ~@5 AA AB AC
  AD ~@4 AA AB AC AD ~@2 AE@3 AF AG AH@2 AI AJ AK AJ AL AE@3 AF AG@2 AI@2 AJ@2 AM AN P ~@4 Q Z ~ AO AP AC AQ AR AS AC AQ
  ~@7 AT AU AV AW AX AY AZ BA@2 BB@2 BC@4 ~@12 BD@8 ~@4 BE@3 ~@18 BF@7
>`.pickRestart({
  A: "~@7 a2", B: "c3 db3 c3 db3", C: "c3@2 a2 d3@3 ~@2", D: "[~@4 c3@2 c3@4 a2@4 d3@10 a2@7 g2]/2",
  E: "f2 ~@4 d2 f2@2", F: "[g2@2 a2@2 ~ d3 f3 g3@3 f3@2 g3@2 f3@2]/2", G: "[g3@2 a3@2 g3@2 a3 f3@3 ~@2 f3@2 g3@2]/2",
  H: "[a3@2 bb3 a3@2 g3@2 a3@3 ~@3 bb2 a2 g2@3 ~@6]/3", I: "~ f2!3", J: "~ a2!2 f2",
  K: "[g3@4 e3@3 f3@2 d3@2 ~@2 d2 f2@2]/2", L: "[g2 a2 ~@2 d3@2 f3 e3@3 e3@2 e3@2 e3@2]/2",
  M: "[e3!2 ~@2 g3@2 a3 f3@3 ~@2 f3@2 f3@2]/2", N: "f3 e3@2 d3@3 e3 f3", O: "~@5 g3 f3 e3", P: "~@2 d2@2 f2 g2@2 a2",
  Q: "~@2 a2 f2", R: "g2@2 a2 bb2@3 ~@2", S: "g3@2 f3 eb3@3 ~@2", T: "~@2 f3@2 f3@2 f3 d3", U: "f3!2 a3@2 ~@4",
  V: "f3!4",
  W: "[e3@4 a2@3 d3@2 ~@3 d2 f2 d2 g2@2 a2 ~@2 d3@2 f3 e3@2 e3@3 e3@2 e3 g3@2 g3 ~@2 g3@2 a3 f3@3 ~@2 f3@2 f3@2]/6",
  X: "f3@2 e3 d3@2 e3@2 f3", Y: "~@5 f3 e3 d3", Z: "[eb3,g3]@2 [eb3,a3] [eb3,g3]@3 ~@2", AA: "bb3@2 c4 d4@3 bb3@2",
  AB: "a3@2 bb3 a3@3 ~@2", AC: "g3@2 a3 bb3@3 g3@2", AD: "f3@2 g3 f3@5", AE: "f3/3", AF: "e3 a2", AG: "d3", AH: "d3/2",
  AI: "e3", AJ: "f3", AK: "bb2", AL: "c3", AM: "db3", AN: "eb3", AO: "f3 a3", AP: "bb3@2 c4 a3@3 ~@2",
  AQ: "f3@2 g3 f3@3 ~@2", AR: "d3@2 f3 g3@3 e3@2", AS: "c3@2 d3 c3@3 ~@2", AT: "~@3 c4", AU: "d4@3 d4",
  AV: "c4@6 d4 c4", AW: "bb3@6 c4 bb3", AX: "a3@6 bb3 a3", AY: "g3@5 a3 bb3 a3", AZ: "c4@3 bb3", BA: "[eb3@3 eb3]/2",
  BB: "[bb2@3 bb2]/2", BC: "[f3@27 ~@5]/4", BD: "[~@11 g3@11 f3@34 g3@11 f3@6 g3@5 ab3@22 ~ ab3@25 ~@2]/8",
  BE: "[~@4 ab3@3 b3@3 b3@3 ~@3]/3", BF: "[~@14 eb3@12 c3@12 eb3@11 bb3@12 eb3@47 ~@4]/7",
})).s("gm_french_horn").gain(0.4)

// chords · piano
const piano = note(`<
  A@11 B C@2 D E F G H I J K L B C@2 D E M N H O J P Q R S R T U V W X Y S Z AA U V W X AB AC A@3 AD AE AF AG AH AI@2 A
  AJ A@3 AD AE AK AL AH AI@2 A AJ R S R T U V W X AM AN AO AP AQ AR AS AT@2 AU AV AW AQ AR AX AY AZ BA BB BC BD BE BF BG
  BH BI BJ BK BD BL BD BM BC BN BO BP BQ BR BS BT BU BV R S R T U V W X BW AU AV BX BY BZ CA CB CC CD CE CF CG CH CI CJ
  CK CL CM CN CO CP CQ CR CS CT CU@5 CV@4 CW@2 CX@4 CY@6 CZ@5 DA@2 DB@4 DC@7 DD@8 DE@8 ~
>`.pickRestart({
  A: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~", // F
  B: "[f2,f3,a3,c4] ~ [db3,f3,a3,c4] ~ [f2,f3,a3,c4] ~ [db3,f3,a3,c4] ~", // F
  C: "[f2,f3,a3,c4] ~ [f3,a3,c4] ~ [f2,f3,a3,c4] ~ [f3,a3,c4] ~", // F
  D: "[e2,e3,g3,b3] ~ [a2,e3,g3,b3] ~ [a2,e3,a3,db4] ~ [e3,a3,db4] ~", // Em A
  E: "[d2,a3,c4,f4] ~ [a2,d3,a3,c4,f4] ~ [d2,a3,c4,f4] ~ [a2,d3,a3,c4,f4] ~", // Dm7
  F: "[g2,g3,b3,d4] ~ [d3,g3,b3,d4] ~ [g2,g3,b3,d4] ~ [d3,g3,b3,d4] ~", // G
  G: "[e2,e3,g3,b3] ~ [a2,e3,g3,b3] ~ [e2,e3,g3,b3] ~ [a2,e3,g3,b3] ~", // Em
  H: "[a2,e3,a3,db4] ~ [e3,a3,db4] ~ [a2,e3,a3,db4] ~ [e3,a3,db4] ~", // A
  I: "[g2,f3,bb3,d4] ~ [f3,bb3,d4] ~ [g2,f3,bb3,d4] ~ [f3,bb3,d4] ~", // Gm7 Bb Gm7 Bb
  J: "[c3,f3,bb3,d4] ~ [f3,bb3,c4,d4] ~ [c3,f3,bb3,d4] ~ [f3,bb3,c4,d4] ~", // Bb
  K: "[f2,f3,a3,c4] ~ [c3,f3,a3,c4] ~ [f2,f3,a3,c4] ~ [c3,f3,a3,c4] ~", // F
  L: "[c2,e3,g3,c4] ~ [c2,e3,g3,c4] ~ [c2,g2,e3,g3,c4] ~ [c2,g2,c3,e3,g3,c4] ~", // C
  M: "[g2,g3,bb3,d4] ~ [d3,g3,bb3,d4] ~ [g2,g3,bb3,d4] ~ [d3,g3,bb3,d4] ~", // Gm
  N: "[e2,g3,b3,d4] ~ [b2,e3,g3,b3,d4] ~ [e2,g3,b3,d4] ~ [b2,e3,g3,b3,d4] ~", // Em7
  O: "[bb2,f3,bb3,d4] ~ [f3,bb3,d4] ~ [bb2,f3,bb3,d4] ~ [f3,bb3,d4] ~", // Bb
  P: "[f2,f3,a3,c4] ~ [a2,f3,a3,c4] ~ [f2,f3,a3,c4] ~ [a2,f3,a3,c4] ~", // F
  Q: "[c2,g2,e3,g3,c4] ~ [c2,g2,e3,g3,c4] ~ [c2,g2,c3,e3,g3,c4] ~ [c2,g2,c3,e3,g3,c4] ~", // C
  R: "[d3,a3,d4,f5,d6]@2 [f5,d6]@2 [d3,f3,f5,d6]@2 [e3,g3] [f3,a3], ~@3 [f5,d6]", // Dm Em F Dm
  S: "[c3,f3,c4,f5,d6]@2 [c3,f5,d6]@2 [d3,f3,f5,d6]@2 [e3,g3] [f3,a3], ~@3 [f5,d6]", // Dm7 Dm Em F Dm
  T: "[a2,f3,a3,f5,d6]@2 [a2,e3,g3,f5,d6]@2 [e2,g2] ~ [f5,d6]@2, ~@2 [f5,d6] ~, ~@5 [d2,f2]@3", // Dm Em Dm
  U: "[f2,d3,a3,g5,d6] [f2,d3,g5,d6] [g2,d3,g3,g5,d6] [d3,g3,g5,d6]", V: "[g2,d3,f5,c6] [g2,f5,c6] [f5,c6]!2",
  W: "[g5,eb6]!2 [g2,g5,eb6] [bb2,g5,eb6], [eb2,g2,eb3] ~", // Cm Eb
  X: "[f5,d6]!2 [d2,g2,d3,f5,d6] [f2,bb2,f3,f5,d6], [bb1,bb2] ~", // Dm G7 Bb
  Y: "[d3,f5,d6]@2 [f5,d6]@2 [d3,f3,f5,d6]@2 [e3,g3] [f3,a3], ~@3 [f5,d6]", // Dm Em F Dm
  Z: "[bb2,f3,bb3,f5,d6]@2 [f5,d6]@2 [d3,f3,f5,d6]@2 [e3,g3] [f3,a3], ~@3 [f5,d6]", // Bb Dm Em F Dm
  AA: "[a2,f3,a3,f5,c6]@2 [a2,e3,g3,f5,c6]@2 [e2,g2] ~ [f5,c6]@2, ~@2 [f5,c6] ~, ~@5 [d2,f2]@3", // F Am7 Em F5 Dm
  AB: "[c2,g2,c3,g5,e6]!4", AC: "[c2,g2,c3]!3 [d2,g2,d3], [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~",
  AD: "[e3,g3,b3] ~ [e3,g3,b3] ~ [e3,a3,db4] ~ [e3,a3,db4] ~", // Em A
  AE: "[d3,a3,c4,f4] ~ [d3,a3,c4,f4] ~ [d3,a3,c4,f4] ~ [d3,a3,c4,f4] ~", // Dm7
  AF: "[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~", AG: "[e3,g3,b3] ~ [e3,g3,b3] ~ [e3,g3,b3] ~ [e3,g3,b3] ~",
  AH: "[e3,a3,db4] ~ [e3,a3,db4] ~ [e3,a3,db4] ~ [e3,a3,db4] ~", // A
  AI: "[f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,bb3,d4] ~", // Bb
  AJ: "[c3,e3,g3,c4] ~ [c3,e3,g3,c4] ~ [c3,e3,g3,c4] ~ [c3,e3,g3,c4] ~", // C
  AK: "[g2,g3,bb3,d4] ~ [g2,g3,bb3,d4] ~ [g2,g3,bb3,d4] ~ [g2,g3,bb3,d4] ~", // Gm
  AL: "[e3,g3,b3,d4] ~ [e3,g3,b3,d4] ~ [e3,g3,b3,d4] ~ [e3,g3,b3,d4] ~", // Em7
  AM: "[d3,f5,d6] [c3,e3,f5,d6] [f3,f5,d6] [e3,g3,f5,d6]", // Dm Dm7 Dm Em7
  AN: "[c3,g3,c4,f5,d6] [f5,d6] ~ [f5,d6], ~@2 [c3,a3,c4]@3 [bb2,f3,bb3]@3, ~@2 [f5,d6] ~", // Csus4 Dm F Bb5 Dm
  AO: "[bb2,f3,bb3,f5,d6] [f5,d6]!2 [f2,a2,f3,f5,d6], ~ [c3,g3,c4]@2 ~", // Bb Dm C5
  AP: "[a2,c3,a3,f5,c6] [f5,c6]!2 [g2,d3,g3,f5,c6], ~ [bb2,f3,bb3]@2 ~", // F F5 Gsus4 Bb5
  AQ: "[g2,d3,g3,g5,d6] [g2,e3,g3,g5,d6] [g5,d6]!2, ~ [f2,bb2,f3]", // G5 Em7 G5 Bb5
  AR: "[f2,c3,f3,f5,c6] [f5,c6]!2 [g2,c3,g3,f5,c6], ~ [f2,d3,f3]@2 ~", // F5 Csus4 Dm
  AS: "[g5,eb6]!2 [g2,bb2,g5,eb6] [bb2,d3,g5,eb6], [eb2,bb2,eb3] ~", // Cm Eb Ebmaj7 Eb5
  AT: "[[f5,d6]@2 [f5,d6]@2 [d2,d3,f5,d6]@2 [f5,d6]@2 [f5,d6]@2 [f2,f3,f5,d6]@2 [a2,d3,f5,d6]@2 [e2,a2] bb1, [bb1,f2,bb2]@2 ~ [f2,bb2]@2 ~@2 [f5,d6]]/2", // Dm A5 Bb5 Dm
  AU: "[g2,d3,g3,f5,d6] [f5,d6]!2 [d3,g3,f5,d6], ~ [f2,c3,f3]@2 ~", // G7 Dm G7 F5
  AV: "[f5,d6] ~ [f5,d6] [d2,bb2,d3,f5,d6], [g2,bb2,g3]@3 [g2,d3]@3 ~@2, ~ [f5,d6] ~@2", // Dm Bb Gm G5 Dm
  AW: "[f2,c3,f3,f5,c6]@2 [g2,c3,g3] ~ [f5,c6]@2 [g2,bb2,f3,f5,c6]@2, ~ [f5,c6] ~@2, ~@3 [g2,c3,f3]@3 ~@2", // F5 C5 F5 Gm7 F5 Csus4
  AX: "[g5,eb6] ~ [g5,eb6] [g2,bb2,g5,eb6], [g2,bb2,eb3]@3 [bb2,d3]@3 ~@2, ~ [g5,eb6] ~@2", // Cm Eb Bb Cm
  AY: "[f5,d6] ~ [f5,d6] [f2,f5,d6], [f2,bb2,d3]@3 [g2,bb2]@3 ~@2, ~ [f5,d6] ~@2", AZ: "[c2,e5,c6]!2 [c2,g2,e5,c6]!2",
  BA: "[c2,g2,c3]!4, [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~", // C5 F
  BB: "[f2,c3,f3]@2 [f2,c3,f3]@2 [f2,c3,f3]@2 [f3,a3,c4] ~, [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [f2,c3]@2", // F5 F Am F5
  BC: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~, [f2,c3]!2 f2!2", // F F5
  BD: "[f2,c3,f3]!4, [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~", // F5 Am
  BE: "[e2,b2,e3]!2 [g2,db3,g3]!2, [g3,b3] ~ [g3,b3] ~ [e3,a3,db4] ~ [e3,a3,db4] ~", // E5 Gdim G A
  BF: "[d2,a2,d3]!4, [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~", // D5 F
  BG: "[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~, g2!2 [g2,bb2]!2", // G Gm
  BH: "[e2,b2,e3]!4, [g3,b3] ~ [g3,b3] ~ [g3,b3] ~ [g3,b3] ~", // E5 G
  BI: "[a2,e3,a3]@2 [a2,e3,a3]@2 [e3,a3,db4] ~ [e3,a3,db4] ~, db4 ~ db4 ~ [a2,f3]@2 [a2,f3]@2", // A5 A Dm
  BJ: "[bb1,f2,bb2]@2 [bb1,f2,bb2]@2 [f3,bb3,d4] ~ [f3,bb3,d4] ~, [f3,bb3,d4] ~ [f3,bb3,d4] ~ [bb1,f2]@2 [bb1,f2]@2", // Bb5 Bb Bb5
  BK: "[f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,bb3,d4] ~, bb1!3 [bb1,f2]", // Bb Bb5
  BL: "[e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4] ~ [c2,g2,c3]@2, c2@2 c2@2 [c2,g2]@2 [e3,g3,c4] ~", // C C5 C
  BM: "[f2,c3,f3]@2 [f2,c3,f3]@2 [f3,a3,c4] ~ [f3,a3,c4] ~, [a3,c4] ~ [a3,c4] ~ [f2,c3]@2 [f2,c3]@2", // F5 F Am F5
  BN: "[e3,g3,b3] ~ [e3,g3,b3] ~ [e3,a3,db4] ~ [e2,b2,e3]@2, e2@2 e2@2 [e2,b2]@2 [a3,db4] ~", // Em A E5 A
  BO: "[d2,a2,d3]@2 [d2,a2,d3]@2 [a3,c4,f4] ~ [a3,c4,f4] ~, [a3,c4,f4] ~ [a3,c4,f4] ~ [d2,a2]@2 d2@2", // D5 F D5
  BP: "[g2,d3,g3]!4, [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~", // G5 Bm
  BQ: "[e3,g3,b3] ~ [e3,g3,b3] ~ [e3,g3,b3] ~ [e2,b2,e3]@2, e2@2 [e2,b2]@2 [e2,b2]@2 [g3,b3] ~", // Em E5 G
  BR: "[a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3]@2 [e3,a3,db4] ~, db4 ~ db4 ~ [a3,db4] ~ a2@2", // A5 A
  BS: "[f3,bb3,d4] ~ [f3,bb3,d4] ~ [bb1,f2,bb2]@2 [bb1,f2,bb2]@2, bb1@2 [bb1,f2]@2 [f3,bb3,d4] ~ [f3,bb3,d4] ~", // Bb Bb5 Bb
  BT: "[c2,f2,c3]@2 [c2,f2,c3]@2 [f3,bb3,d4] ~ [f3,bb3,d4] ~, [f3,bb3,d4] ~ [f3,bb3,d4] ~ [c2,f2]@2 c2@2", // F5 Bb F5
  BU: "[f3,ab3,db4] ~ [f3,ab3,db4] ~ [db2,ab2,db3]@2 [db2,ab2,db3]@2, db2@2 [db2,ab2]@2 [f3,ab3,db4] ~ [f3,ab3,db4] ~", // Db Db5 Db
  BV: "[eb2,bb2,eb3]@2 [eb2,bb2,eb3]@2 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~, [g3,bb3] ~ [g3,bb3] ~ [eb2,bb2]@2 [eb2,bb2]@2", // Eb5 Eb Gm Eb5
  BW: "[f2,bb2,f5,d6]@2 [f2,f3,f5,d6]@2 [a2,d3,f5,d6]@2 [e2,a2] bb1, ~@3 [f5,d6]", // Bb Dm A5 Dm
  BX: "[c2,g2,c3,f5,c6] [f5,c6]!2 [g2,e3,g3,f5,c6], ~ [a2,e3,a3]@2 ~", // Csus4 F5 C A5
  BY: "[bb2,g5,d6] [g5,d6]!2 [f2,bb2,d3,g5,d6], ~ [f2,bb2,f3]@2 ~", // Gm G5 Gm7 Bb5
  BZ: "[f2,c3,f5,c6] [f5,c6]!2 [a2,c3,f3,f5,c6], ~ [a2,f3]@2 ~", // F5 F Dm
  CA: "[g5,eb6] ~ [g5,eb6] [g2,bb2,g5,eb6], [bb2,eb3]@3 [g2,d3]@3 ~@2, ~ [g5,eb6] ~@2", // Cm Eb Eb5 G5 Cm
  CB: "[f5,d6] ~ [f5,d6] [f2,bb2,d3,f5,d6], [f2,d3]@3 [f2,bb2]@3 ~@2, ~ [f5,d6] ~@2", // Dm Bb Dm Bb5 Dm
  CC: "[d3,d4,f4,a4] ~ [c3,d4,f4,a4] ~ [a2,d4,f4,a4] ~ [f2,d4,f4,a4] ~", // Dm Dm7 Dm
  CD: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [d3,f3,a3,c4] ~", // F Dm7
  CE: "[bb2,f3,a3,d4] ~ [d3,f3,a3,d4] ~ [f3,a3,d4] ~ [bb2,f3,a3,d4] ~", // Bbmaj7 Dm Bbmaj7
  CF: "[f3,a3,c4] ~ [f3,a3,c4] ~ [c3,f3,a3,c4] ~ [f3,a3,c4] ~", // F
  CG: "[g3,bb3,d4] ~ [bb2,g3,bb3,d4] ~ [d3,g3,bb3,d4] ~ [g3,bb3,d4] ~", // Gm
  CH: "[f3,a3,c4] ~ [a2,f3,a3,c4] ~ [c3,f3,a3,c4] ~ [f3,a3,c4] ~", // F
  CI: "[eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~, eb4 ~", // Eb
  CJ: "[d3,f3,bb3] ~ [d3,f3,bb3] ~ [d3,f3,bb3] ~ [d3,f3,bb3] ~, d4 ~", CK: "[f5,d6]!4, d3 ~ c3 ~ a2 ~ f2 ~",
  CL: "[f5,d6]!4, c4 ~ a3 ~ f3 ~ d3 ~", CM: "[f5,d6]!4, bb2 ~ d3 ~ f3 ~ bb2 ~", CN: "[f5,c6]!4, f3 ~ a3 ~ c3 ~ f3 ~",
  CO: "[g5,d6]!4, g3 ~ bb2 ~ d3 ~ g3 ~", CP: "[f5,c6]!4, f3 ~ a2 ~ c3 ~ f3 ~",
  CQ: "[bb3,eb4,g4] eb4 g4 bb4, eb2 [eb2,g2,bb2]", CR: "[eb2,eb5] [eb2,g2,bb4] g4 eb4, ~ [eb2,g2,bb2,eb3]",
  CS: "[f4,bb4,d5] f4 [bb1,bb2,bb4] [bb1,bb2,d5], [bb1,bb2] ~", CT: "f5 d5 f5 [d5,f5,bb5], [bb1,bb2]!2",
  CU: "[~@2 c6@51 ~ [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3, [f1,f2,c4,f4]@13 ~@7, ~ [a4,c5,f5,a5]@52 ~@27]/5", // Db F5 F
  CV: "[[db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3, ~@8 [bb3,eb4,g4]@11 [ab3,db4,f4]@32 ~@2 [bb3,eb4,g4]@11]/4", // Db Eb Db Eb
  CW: "[[db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3], [ab3,db4,f4]@5 ~ [bb3,eb4,g4]@5 [c4,f4,ab4]@21]/2", // Db Eb Fm
  CX: "[~@2 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3,bb3,eb4,g4], ~@2 [bb3,eb4,g4]@11 [ab3,db4,f4]@32 ~ [bb3,eb4,g4]@11 ~ [ab3,db4,f4]@5 ~]/4", // Db Eb7 Eb Db Eb Db
  CY: "[~@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@3 [db2,db3]@2 [c2,c3,ab5]@2, ~@5 [c4,eb4,ab4]@21 ~ [g4,bb4,eb5,g5]@11 [f4,ab4,db5,f5]@32 ~@2 [g4,bb4,eb5,g5]@11 [f4,ab4,db5,f5]@5 ~ [g4,bb4,eb5,g5]@5 ~@2]/6", // Db Fm Ab Eb Db Eb Db Eb
  CZ: "[~ [c2,c3]@2 ~@9 [c2,c3]@2 ~ [c2,c3]@2 ~@2 ab4 ~@6 [b1,b2]@2 ~ [b1,b2]@2 ~@7 [b1,b2]@2 ~@3 ab3@2 ~@9 [eb4,g4]@9 [eb4,g4]@9 [bb3,eb4,g4]@8, eb5@4 ab5@4 ab4@6 ab4@5 ~@5 b4@5 b4@4 eb5@5 eb4@8 ~@8 bb3@18 ~@8, ~ c5@4 eb5@5 [c2,c3]@2 c5@6 [c2,c3,c5]@3 [b1,b2]@3 [b1,b2]@2 ab5@6 ab5@8 b3 [b1,b2]@4 [bb1,bb2,eb3,g3]@33 ~@2, ~@3 ab4@4 [c2,c3]@3 ab5@5 ab5@6 ab5@4 ab4@6 ab4@4 [b1,b2] ab4@9 ~@35, ~@4 [c2,c3]@3 c5@4 eb5@6 eb5@4 ~ eb5@6 eb5@4 [b1,b2]@3 b4@11 ~@17 bb4@17]/5", // C B Eb C B Eb C B …
  DA: "[~@9 [g4,bb4]@9 [g4,bb4]@9 [d4,g4,bb4]@5, [bb1,bb2,d3,g3], ~@9 d4@18 ~@5, ~@9 d5@7]/2", // Gm
  DB: "[~@3 [ab3,b3]@9 [b3,eb4,f4]@9 [b3,eb4,f4]@9 [ab1,ab2,b3,eb4,f4,bb4]@8 [bb2,d4,gb4]@9 ~@9 [bb1,bb2,d4,gb4,bb4]@8, ~@3 [f1,f2,eb3]@32 ~@3 bb1@18 ~@8, ~@12 ab3@26 b4@13 ~ b4@12, ~@21 ab4@18 ~@8 [bb2,d4,gb4,bb4]@9 ~@8]/4", // Abm Fm7b5 Bbaug F7 Bbaug
  DC: "[~ [bb0,bb1,d4,gb4,ab4]@8 bb3@3 ~@3 eb4@2 ~@8 g4@2 ~@16 eb3 ~@12 bb3@2 ~@20 bb3 ~@32 eb4, ~@9 [eb1,eb2]@29 g3 bb3 eb4@2 g3@2 [d2,d3]@31 d4@4 f3@8 eb4 f3@19 ab4 f4 eb4 b3@2, ~@9 [eb4,g4]@7 ~ g4@7 eb4@3 bb4@18 ~@2 bb3 g3 bb3 g3@4 bb3 g3@9 d4 bb3 d4 g3@5 d4 bb3 g3@2 bb3 g3@2 [db2,db3]@33, ~@12 g3@8 bb3 g3@8 eb4 bb3 eb4 g3@3 g4@9 g4@7 bb3@2 d4@4 ~ d4 bb3@4 g4@5 bb3@2 d4 g4@9 ab3@3 eb4@3 b3@2 f4@5 b3@4 ab3 f4 eb4 b3 ab3@11, ~@14 bb3@4 eb4@5 bb3@5 g4@5 bb3@3 eb4 eb3@4 bb3@3 ~ d4@7 g4@8 d4 g4 bb4@18 ~@2 b3@2 b3 ab3@4 eb4 b3 ab3@3 eb4 f4 eb4 ab4@5 b3 eb4@2 f4 [bb3,bb4]@6]/7", // Bbaug Eb D Eb Db Bb
  DD: "[~ ab4 ~@12 eb4@2 ~@20 db5 ~@38 bb3@6 ~@41 f2@6, f4@2 [f3,ab3]@19 db5 b4 ab4 f4 ab4 b4@2 db5 f5@8 eb2@3 g4@6 [eb1,eb2]@64 bb2@18, ~@2 b4@15 eb4 f4 ab4 [db2,db3,eb4,eb5]@17 eb3@2 bb4@4 g3 eb3 bb2@24 g3@12 eb4@18 f3@29, ~@2 db3@9 db5 ab4 f4@3 b3@21 g4 eb5@4 bb3@22 f3@18 ~@5 bb3@17 eb3@23 ~, ~@2 b3 ab4@2 f4 eb4 b3 eb4 f4 ab4 db4@18 f4 db5 b4 ab4 f4 ab4 b4@2 g5@4 eb4@17 eb3@23 ~@12 g3@23 g2@12]/8", // Fm Eb Dbsus2
  DE: "[[eb3,eb4]@44 ~@2 g4@12 g4@12 eb5@11 [eb5,g5,bb5]@12 [bb4,eb5,g5]@35, [eb1,eb2], ~@46 [bb4,eb5]@23 ~ [g4,bb4]@23 ~@35, ~@29 [eb4,c5]@16 ~@19]/8", // Eb Eb5 Gm Cm
})).s("gm_piano").gain(0.3)

// chords · synth strings 1 · "String Synthesizer"
const synth_strings_1 = note(`<
  ~@23 A ~ A B A@3 B C@2 ~@18 D@2 E@3 F G@2 H@2 C@2 I J A ~ A K L M N O P@2 Q J R ~@23 D@2 ~@8 D@2 S@2 ~@12 T U V W X Y
  ~@2 Z AA AB AA AC AA AD AE ~@8 AF AG AH AI AJ AK AL AM AN AO AP@4 ~@12 AQ@5 AR AS AT@3 AU@6 AV@2 AW@7 AX@6 AY@8 ~
>`.pickRestart({
  A: "g4@2 a4 ~@5", B: "g4@2 a4 ~ g4@2 a4 ~", C: "[bb3@3 d4@3 f4@3 bb4@3 d5@2 f5@2, bb2]/2",
// … 74 more lines