Strudelify

Machine Messiah

Yes

KeyE minorTempo149 bpm
0:00/0:00
// Machine Messiah — Yes
// 149 bpm, 4/4, key E minor. 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 76, 4/4 at bar 77, 3/4 at bar 108, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 382 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(149/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 · lead 3 calliope
const lead_3_calliope = note(`<
  ~@59 A B C ~ A D E@2 F G@2 H@2 I J@2 ~@4 K L M K L M N O P@2 N O Q R@4 S@2 T U V ~@26 W X Y ~@2 Z AA AB AC AD AE@2 AC
  AD AF AG AH AI ~@78 AJ@3 AK@2 AL@3 AM@7 AN@2 AO AP@3 ~@24 AQ AR AS ~ AQ AT AS ~ AU AV AW AX AY@4 AZ@5 BA@2 BB@4 ~@51
  BC@2 BD@2 BE@2 BF@2 ~@5 BG@7 BH@3 ~@13
>`.pickRestart({
  A: "~@18 g#4@3 ~ g#4@2", B: "~@2 g#4@3 ~ g#4@3 ~ f#4@3 ~ f#4@2 f#4@5 ~ e4@2",
  C: "~@2 e4@3 ~ e4@3 ~ c#4@3 ~ b3@3 ~ b3@6", D: "~@2 g#4@3 ~ g#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~ e4@2",
  E: "[~@2 e4@2 e4@5 ~ c#4@3 ~ b3@2 b3@12 ~@20]/2", F: "~@18 e4@3 ~ g#4@2",
  G: "[~@2 g#4@3 ~ a4@3 ~ g#4@3 ~ g#4@3 ~ g#4@10 ~@14 e4@3 ~ g#4@2]/2",
  H: "[~@2 g#4@3 ~ a4@3 ~ g#4@3 ~ f#4@3 ~ g#4@10 ~@10 g#4@3 ~ g#4@3 ~ g#4@2]/2",
  I: "g#4@4 g#4@5 ~ f#4@3 ~@3 f#4@2 f#4@3 ~ f#4@2", J: "[~@2 e4@3 ~ e4@3 ~ c#4@3 ~ b3@3 ~ b3@10 ~@20]/2",
  K: "~@6 g#4@3 ~ g#4@3 ~ g#4@3 ~ g#4@3 ~ f#4@2", L: "~@2 f#4@3 ~ f#4@3 ~ e4@3 ~ e4@3 ~ e4@3 ~ c#4@2",
  M: "~@2 b3@3 ~ b3@10 ~@8", N: "~ g#4@3", O: "~@12 f#4@5 ~ e4@5 ~", P: "[f#4@5 ~ e4@5 ~ c#4@3 ~ c#4@24 ~@8]/2",
  Q: "f#4@5 ~ e4@5 ~ c#4@10 ~@2",
  R: "[~@6 c4@10 ~@2 d4@10 ~@2 e4@10 ~@2 f#4@10 ~@2 g#4@3 ~ g#4@3 ~ g#4@3 ~ g#4@10 ~@20]/4",
  S: "[~@6 f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@10 ~@20]/2", T: "~@3 f#4@2 ~ g#4@3 ~ g#4@3 ~ g#4@3 ~ g#4@3 ~ g#4@2",
  U: "~@2 g#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@2", V: "f#4@5 ~ e4@5 ~@13",
  W: "g#4@3 ~ g#4@2 ~@2 g#4@2 ~@2 g#4@4 ~ f#4@2 ~@2 f#4@2 ~", X: "f#4@3 ~ e4@3 ~ e4@2 ~@2 e4@3 ~ b3@3 ~ b3@2 ~@2",
  Y: "b3@5 ~@19", Z: "a4@2 ~ g#4@2 ~@4 f#4@2 ~ a4@2 ~ g#4@2 ~@4 f#4@2 ~",
  AA: "a4@2 ~ g#4@2 ~@4 f#4@2 ~ a4@2 ~ g#4@2 ~@7", AB: "c#4@5 ~ b3@2 ~ g#3@2 ~ b3@5 ~ b3@5 ~", AC: "g#4@19 ~@5",
  AD: "~@6 f#4@5 ~ e4@5 ~ f#4@5 ~", AE: "[e4@5 ~ c#4@3 ~ c#4@24 ~@14]/2", AF: "e4@5 ~ c#4@10 ~@8", AG: "c4@5 ~ d4@5 ~",
  AH: "e4@5 ~ f#4@5 ~", AI: "d4@5 ~@3", AJ: "[~@23 a4@8 ~@2 b4@24 ~@6 a4@8 ~]/3",
  AK: "[~ b4@8 ~@2 d5@8 ~@2 b4@8 ~@2 a4@8 ~@2 b4@7]/2", AL: "[~@3 a4@8 ~@2 b4@24 ~@5 a4@8 ~@2 b4@8 ~@2 d5@8 ~@2]/3",
  AM: "[b4@8 ~@2 a4@8 ~@2 b4@8 ~@2 d5@8 ~@2 e5@24 ~@6 d5@8 ~@2 e5@8 ~@2 e5@8 ~ e5@8 ~@2 d5@8 ~@2 e5@8 ~@2 d5@8 ~@2 e5@24 ~@5]/7",
  AN: "[~ d5@8 ~@2 e5@8 ~@2 e5@8 ~@2 e5@8 ~@2 d5@7]/2", AO: "~@3 b4@8 ~@2 a4@9 ~@2",
  AP: "[b4@9 ~@2 a4@10 ~@2 f#4@35 ~@14]/3", AQ: "~@5 d5@3 ~ d5@3 ~ d5@3 ~ d5@3 ~ c5@3",
  AR: "~ c5@3 ~ c5@3 ~ b4@3 ~@3 b4@2 b4@3 ~ a4@3", AS: "~ g4@3 ~ g4@10 ~@9",
  AT: "~ c5@3 ~ c5@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ a4@3", AU: "~@5 b3@3 ~ d4@3 ~ d4@3 ~ e4@3 ~ d4@3", AV: "~ d4@3 ~ d4@10 ~@9",
  AW: "~@5 d4@3 ~ g4@3 ~ g4@3 ~ a4@3 ~ g4@3", AX: "~ f#4@3 ~ g4@19",
  AY: "[~@11 g4@5 ~ g4@5 ~ g4@5 ~ g4@5 ~ e4@2 ~ e4@13 ~@20 g4@19 ~@6]/4",
  AZ: "[~@5 g4@5 ~ g4@5 ~ g4@5 ~ g4@5 ~ e4@10 ~@7 d#4@10 ~@3 f4@10 ~@2 g4@10 ~@2 a4@10 ~@2 b4@3 ~ b4@3 ~ b4@3 ~ b4@10 ~@3]/5",
  BA: "[~@23 b4@3 ~ b4@3 ~ b4@3 ~ b4@10 ~@3]/2",
  BB: "[~@20 b4@2 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~ b4@2 ~ b4@2 ~ b4@5 ~ a#4@5 ~@20]/4",
  BC: "[~@4 a4@8 ~ b4@25 ~@3 a4@7]/2", BD: "[~@3 b4@8 ~ d5@8 ~ b4@8 ~@2 a4@8 ~@9]/2",
  BE: "[~@2 a4@8 ~ b4@25 ~@3 a4@8 ~]/2", BF: "[~ b4@8 ~ d5@8 ~@2 b4@8 ~ a4@8 ~@11]/2",
  BG: "[~@20 d5@8 ~ e5@23 ~@5 d5@8 ~@2 e5@8 ~ e5@8 ~@2 e5@8 ~ d5@6 ~@3 e5@8 ~@2 d5@8 ~ e5@25 ~@3 d5@8 ~@2 e5@7]/7",
  BH: "[~@2 e5@7 ~@3 e5@9 ~ d5@9 ~ b4@11 ~ a4@12 ~@16]/3",
})).s("gm_lead_3_calliope").gain(0.3).pan(0.7)

// bass · electric bass finger
const bass = note(`<
  ~@6 A@2 B@2 C@5 D@6 E@7 F@3 G@4 H@7 I@5 J@3 K L ~@2 M N ~@3 O ~@6 P Q R S T U R V U W@2 X@4 ~@4 Y Z@4 AA AB AC AD AE
  AF AG AH AI AJ AK AL AM AN AL AM AO AP@2 AQ@2 AR@2 AS@2 AT AU@3 ~@16 AV AW AX AY AV AW AX AZ BA BB BC@4 BD BE BF BE BG
  BE BH BI BJ BK BE BL BM BN BE@2 BO BP BQ BR BS BP BT BU BV BW BX BY@4 BZ CA@2 CB CC CD CE CF CG CH CI@3 CJ@7 CK@3 CL@5
  CM@2 CN@3 ~@45 CO@6 CP@3 CQ@8 CR@3 CS@7 CT CU@8 CV@8 CT CW@8 CX@2 CY CZ DA DB@5 DC@3 DD@5 ~@43 DE@5 DF@4 DG
>`.pickRestart({
  A: "[~@20 [e1,e2]@14 [f#1,f#2]@7 [g1,g2]@7]/2", B: "[[e1,e2]@14 [f#1,f#2]@7 [g1,g2]@7 [a1,a2]@14 [b1,b2]@6]/2",
  C: "[~@2 [c2,c3]@7 [a1,a2]@27 ~ [e1,e2]@14 [f#1,f#2]@7 [g1,g2]@7 [e1,e2]@14 ~ [f#1,f#2]@7 [g1,g2]@7 [a1,a2]@14 [b1,b2]@7 [c2,c3]@5]/5", // C A E F# G E F# G …
  D: "[~@2 [a1,a2]@14 [b1,b2]@7 [c2,c3]@7 ~ [e1,e2]@51 ~@5 [f#1,f#2]@14 ~ [g#1,g#2]@7 [a1,a2]@7 [f#1,f#2]@14 [g#1,g#2]@7 [a1,a2]@7]/6", // A B C E F# G# A F# …
  E: "[[b1,b2]@14 [c#2,c#3]@7 [d2,d3]@7 [b1,b2]@17 ~ [a1,a2]@9 ~@2 [f#1,f#2]@14 [g#1,g#2]@7 [a1,a2]@7 [f#1,f#2]@14 [g#1,g#2]@7 ~ [a1,a2]@7 [b1,b2]@14 [c#2,c#3]@7 [d2,d3]@7 [b1,b2]@14 [c#2,c#3]@7 [d2,d3]@5]/7", // B C# D B A F# G# A …
  F: "[~@2 [f#1,f#2]@51 ~@6 [g1,g2]@13]/3", // F# G
  G: "[~ [a1,a2]@7 [a#1,a#2]@7 ~ [g1,g2]@14 [a1,a2]@7 [a#1,a#2]@7 [c2,c3]@14 [d2,d3]@7 [g2,g3]@30 ~]/4", // A A# G A A# C D G
  H: "[~@5 [g1,g2]@14 [a1,a2]@7 [a#1,a#2]@7 [g1,g2]@14 [a1,a2]@7 [a#1,a#2]@7 [c2,c3]@14 ~ [d2,d3]@7 g2@17 c2@3 ~ d2@3 ~ d#2@5 ~@5 [f1,f2]@14 [g1,g2]@7 [a1,a2]@14 ~ [f1,f2]@7 [g1,g2]@7, ~@83 g3@30 ~@55]/7", // G A A# G A A# C D …
  I: "[[a1,a2]@7 [g1,g2]@51 ~@6 [f#1,f#2]@51 ~@5]/5", J: "[[e1,e2]@51 ~@6 e2@2 ~ e2@2 e2@2 e2@2 ~@6]/3",
  K: "~@2 e2@2 e2@2 ~ e2@2 ~@7 e2@2 e2@2 ~ e2@2 ~", L: "~@6 e2@2 ~ e2@2 e2@2 e2@2 ~ e2@2 ~@6",
  M: "~@18 b1 ~ b1 ~ g#1 ~", N: "b1 ~ b1@2 c#2 ~ e2@2 f#2@2 e2@2 c#2 ~ b1@2 c#2@2 e2@4 ~@2",
  O: "~@6 c#3@2 c#3@3 ~ c#3@2 b2@2 b2@2 e2@4 ~@2", P: "~@3 g#3!6 a3 g#3 f#3",
  Q: "g#3@2 f#3@2 e3@2 f#3@2 e3@2 c#3@2 b2@2 g#2@2 f#2@2 e2@3 ~ e2@2",
  R: "~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@3 ~ e2@2", S: "~@2 e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2",
  T: "~@2 e2@2 ~@2 e2@3 ~ e2@3 ~ e2@2 ~@2 e2@2 ~@2 e2@2", U: "~@2 e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@2 ~@2 e2@3 ~ e2@2",
  V: "~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2", W: "[~ e2 ~ a1@21]/2", X: "[~ [e1,b1]@12 ~@3]/4",
  Y: "~@6 e2@3 ~ e2@2 e3@3 ~ e3@2 e2@3 ~ e2@2", Z: "e3@3 ~ e3@2 e2@3 ~ e2@2 e3@3 ~ e3@2 e2@3 ~ e2@2",
  AA: "e3@3 ~ e3@2 d2@3 ~ d2@2 d3@3 ~ d3@2 d2@3 ~ d2@2", AB: "d3@3 ~ d3@2 c#2@3 ~ c#2@2 c#3@3 ~ c#3@2 c#2@3 ~ c#2@2",
  AC: "c#3@3 ~ c#3@2 [c2,a2]@5 ~ b2@5 ~ c3@5 ~", AD: "d3@5 ~ e3@5 ~ f#3@5 ~ g3@5 ~",
  AE: "a3@5 ~ a1 ~ b1@3 ~ b1@3 ~ b1@2 b1@2 b1@3 ~", AF: "b1@3 ~ b1@2 a1@2 b1@3 ~ b1@3 ~ b1@3 ~@3 b1@2",
  AG: "~@4 b1@2 a1 ~ b1@3 ~ b1@3 ~ b1@2 b1@2 b1@3 ~", AH: "b1@3 ~ b1@2 a1 ~ b1@3 ~ b1@3 ~ b1@2 b1 ~ b1@3 ~",
  AI: "b1@2 b1@2 b1@2 a1 ~ b1@3 ~ b1@3 ~ b1@2 b1@2 b1@3 ~", AJ: "b1@3 ~ b1@2 b1 ~ b1@3 ~ b1 ~ b1@2 b1 ~ b1@2 b1@2 b1@2",
  AK: "b1@2 b1@2 b1 ~ c2@3 ~ c2@4 ~@4 c2@3 ~ c2@2", AL: "~@6 c2@3 ~ c2@3 ~@5 c2@3 ~ c2@2",
  AM: "~@2 c2@3 ~ f#2@2 ~@7 d#2@2 ~@7", AN: "c#2@2 ~@4 c2@3 ~ c2@4 ~@4 c2@3 ~ c2@2",
  AO: "c#2@2 ~@7 a#1@2 ~@7 g#1@2 ~@4", AP: "g1@5 ~ g1@5 ~ g1@5 ~ g1@5 ~", AQ: "a1@5 ~ a1@5 ~ a1@5 ~ a1@5 ~",
  AR: "c2@5 ~ c2@5 ~ c2@5 ~ c2@5 ~", AS: "d2@5 ~ d2@5 ~ d2@5 ~ d2@5 ~", AT: "f#2@2 ~@7 d#2@2 ~@7 c#2@2 ~@4",
  AU: "[c2 b1 a1 c2 b1 a1 c2 b1 a1 g1 f#1 e1@18 ~@7]/3", AV: "e2@3 ~ e2@2 e3@3 ~ e3@2 e2@3 ~ e2@2 e3@3 ~ e3@2",
  AW: "d2@3 ~ d2@2 d3@3 ~ d3@2 d2@3 ~ d2@2 d3@3 ~ d3@2", AX: "c#2@3 ~ c#2@2 c#3@3 ~ c#3@2 c#2@3 ~ c#2@2 c#3@3 ~ c#3@2",
  AY: "a1@3 ~ a1@2 a2@3 ~ a2@2 a1@3 ~ a1@2 a2@3 ~ a2@2", AZ: "[a1,a2]@5 ~ [b1,b2]@5 ~ [c2,c3]@5 ~ [d2,d3]@5 ~",
  BA: "[e2,e3]@5 ~ [f#2,f#3]@5 ~ [g2,g3]@5 ~ [a2,a3]@5 ~", BB: "[b2,b3]@5 ~ [c3,c4]@5 ~ [d3,d4]@5 ~ e3@2 e3@2 e3@2",
  BC: "e3!12", BD: "e3 d3 b2 e2 ~ e2!2 ~ e2!2 ~ e2", BE: "e2 ~ e2!2 ~ e2!2 ~ e2!2 ~ e2",
  BF: "e2 ~ e2 b2 d3 e3 e2 ~ e2!2 ~ e2", BG: "e2 ~ e2!2 ~ e2 b2 d3 e3 e2 ~ e2", BH: "e2 ~ e2!2 ~ e2!2 ~ e2 a2 b2 d3",
  BI: "e3 f#3 g3 b3 g3 f#3 e3 d3 c3 b2 d3!2", BJ: "f#3 d3 b2 c3 b2 a2 c3 b2 a2 c3 b2 f#2",
  BK: "g2 f#2 e2!2 ~ e2!2 ~ e2!2 ~ e2", BL: "e2 ~ e2 a2 b2 d3 e3 f#3 g3 b3 g3 f#3",
  BM: "e3 d3 c3 b2 d3!2 f#3 d3 b2 c3 b2 a2", BN: "c3 b2 a2 c3 b2 f#2 g2 f#2 e2!2 ~ e2",
  BO: "e2@5 ~ e2@5 ~ e2@5 ~ e2@5 ~", BP: "e2@5 ~ e2@5 ~ f#2@5 ~ g2@5 ~", BQ: "a2@5 ~ a2@5 ~ g2@5 ~ g2@5 ~",
  BR: "f#2@5 ~ f#2@5 ~ f2@5 ~ f2@5 ~", BS: "e2@5 ~ e2@5 ~ [e2,d3]@5 ~ [e2,e3]@5 ~",
  BT: "a2@3 ~ a2@3 ~ a2@3 ~ b2@3 ~ b2@3 ~ b2@3 ~", BU: "c3@3 ~ c3@3 ~ c3@3 ~ d3@3 ~ d3@3 ~ d3@3 ~",
  BV: "e3 f#3 g3 b3 g3 f#3 e3 d3 c#3 b2 c#3 d3", BW: "f#3 d3 c#3 b2 c3 b2 a2 c3 b2 a2 c3 b2",
  BX: "a2@2 g2@2 f#2@2 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~",
  BY: "[e2@2 e2@3 e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e3@2 d3@2 c3@2 e3@2 f#3@2 g3@2 b3@2 g3@2 f#3@2 e3@2 d3@2 c#3@2 b2@2 c#3@2 d3@2 f#3@2 d3@2 c#3@2 b2@2 c3@2 b2@2 a2@2 c3@2 b2@2 a2@2 c3@2 b2@2 a2@2 g2@2 f#2@2 e2@2 e2@3]/4",
  BZ: "~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3",
  CA: "[~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e2@3 ~ e2@2 e3@2 d3@2 c3@2 e2@5 e2@5 ~ e2@5 ~ d2@4]/2",
  CB: "~@2 d2@5 ~ d2@5 ~ c2@5 ~ c2@4", CC: "~@2 c2@5 ~ e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2",
  CD: "g2@2 e2@2 f#2@2 g2@2 a1@5 ~ a1@5 ~ a1@4", CE: "~@2 a1@5 ~ g1@5 ~ g1@5 ~ g1@4",
  CF: "~@2 g1@5 ~ f#1@5 ~ f#1@5 ~ b1@4", CG: "~@2 b2@5 ~ e3@5 d3@5 ~ c3@5", CH: "~ b2@5 ~ a2@5 ~ g2@5 ~ f#2@5",
  CI: "[~@2 e2@5 ~ d2@6 ~ c2@6 ~ b1@6 ~ a1@6 ~ g1@7 ~ f#1@8 ~@3 [e1,e2]@17]/3", // E
  CJ: "[~@2 [f#1,f#2]@9 ~ [g1,g2]@9 ~ [e1,e2]@18 ~@2 [f#1,f#2]@9 ~ [g1,g2]@9 ~ [a1,a2]@18 ~@2 [b1,b2]@9 ~ [c2,c3]@9 ~ [a1,a2]@36 ~@4 [e1,e2]@18 ~ [f#1,f#2]@7]/7", // F# G E F# G A B C …
  CK: "[~@3 [g1,g2]@9 ~ [e1,e2]@18 ~@2 [f#1,f#2]@9 ~ [g1,g2]@9 ~ [a1,a2]@18 ~]/3", // G E F# G A
  CL: "[~ [b1,b2]@9 ~ [c2,c3]@9 ~ [a1,a2]@36 ~@3 [e1,e2]@18 ~@2 [f#1,f#2]@9 ~ [g1,g2]@9 ~ [e1,e2]@18 ~@2]/5", // B C A E F# G E
  CM: "[[f#1,f#2]@9 ~ [g1,g2]@9 ~ [a1,a2]@18 ~@2 [b1,b2]@8]/2", CN: "[~@2 [c2,c3]@69 ~]/3",
  CO: "[~@9 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 ~@6 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 ~@6 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 ~@6 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 ~@2 g2@2 ~@2 g2 g2@5 ~ g2@2 ~@2 g2@2 g2@5 ~ g2@2 ~@2 g2@2 ~ g2@5 g2@3 ~@2 g2@2 g2@5 g2@2 ~@3 g2@2 g2@5 g2@2 ~@2 g2 ~@2 g2@2 b2@2 c3@2 d3@2 c3@2 d3 d3@2 ~ b2@2 d3@2 ~ a2@2 d3@2 ~ c3, ~@137 d3@2 ~@5]/6", // G5
  CP: "[~@2 a2@2 ~ g1@2 ~@2 g1 g1@5 ~ g1@2 ~@2 g1@2 g1@5 ~ g1@2 ~@2 g1@2 ~ g1@5 g1@3 ~@2 g1@2 g1@5 ~ g1@2 ~@2 g1 g1@5 ~ g1@2 ~@2 g1@2 g1@2, ~ b2@2 ~@69]/3",
  CQ: "[~@4 g1@2 ~@2 g1@2 ~ g1@5 g1@3 ~@2 g1@2 d2@5 ~ [g1,g2]@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2]/8", // G
  CR: "[~@5 g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ g1@5 ~ g2@5 ~ d2@5 ~ a1@2 b1@2 c2@2 d2@2 d2@2 d2@2 d2]/3",
  CS: "[~ e2@2 f#2@2 g2@5 ~ g2@5 ~ d3@5 ~ d3@5 ~ g1@3 ~ g1@2 g2@3 ~ g2@2 g1@3 ~ g1@2 g2@3 ~ g2@2 f1@3 ~ f1@2 f2@3 ~ f2@2 f1@3 ~ f1@2 f2@3 ~ f2@2 c2@3 ~ c2@2 c3@3 ~ c3@2 c2@3 ~ c2@2 c3@3 ~ c3@2 c2@2 c2@2 c2@2 b1@2 b1@2 b1@2 a1@2 a1@2 a1@2 g1@3 ~ g1@2 g2@3 ~ g2@2 g1@3 ~ g1@2 g2@3 ~ g2@2 f1@3 ~ f1@2 f2@3 ~ f2@2 f1@3 ~ f1@2 f2@3 ~ f2@2 c2]/7",
  CT: "~@3 c2@2 c3@3 ~ c3@2 c2@3 ~ c2@2 c3@3 ~ c3@2 c2",
  CU: "[~@5 d2@5 ~ d#2@5 ~ f2@5 ~ [g2,a3]@5 ~ [a2,g3]@5 ~ [a#2,f3]@5 ~ [c3,d#3]@5 ~ d2@141 ~@3 d#2]/8", // Gsus2 A7 A#5 Cm
  CV: "[~@5 d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ c2]/8",
  CW: "[~@3 c2@2 c3@3 ~ c3@2 c2@3 ~ c2@2 c3@3 ~ c3@2 d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ d#2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ g#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2@5 ~ a#2]/8",
  CX: "[~@5 a#2@5 ~ a#2@5 ~ a#2@5 ~@2 b2@2 a2@2 c3@2 b2@2 a2@2 c3@2 b2@2 a2@2 g2@2 f#2@2 e2@2 f#2@2, ~@23 c3@2 ~@23]/2",
  CY: "g2 b2 g2 f#2 e2 d2 c#2 b1 c#2 d2 f#2 d2", CZ: "c#2 b1 c2 b1 a1 c2 b1 a1 c2 b1 a1 c2", DA: "~ d2@2 e2@7 ~@2",
  DB: "[d2@14 ~@4 c2@14 ~@4 b1@14 ~@4 a1@14 ~@3 a1@14 ~@4 g1@14 ~@4 f#1@13]/5",
  DC: "[~@5 e2@14 ~@4 d2@14 ~@4 c2@14 ~@4 b1@13]/3", DD: "[~@5 a1@14 ~@3 g1@14 ~@4 f#1@63 ~@17]/5",
  DE: "[~@21 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 ~ e2@2 f#2@2 g2@2 e2@2 f#2@2, ~@109 g2@2 ~@9]/5",
  DF: "g2 e2 f#2 g2 e2 f#2 g2 e2 f#2 g2 e2 f#2", DG: "g2 e2 f#2 g2 ~@8",
})).s("gm_electric_bass_finger").gain(0.37)

// other · lead 3 calliope
const lead_3_calliope_2 = note(`<
  ~@59 A B C ~ A D E@2 F G@2 H@2 I J@2 ~@4 K L M K L M ~@9 N@2 O@2 P Q R ~@281
>`.pickRestart({
  A: "~@18 e4@3 ~ e4@2", B: "~@2 e4@3 ~ e4@3 ~ c#4@3 ~ c#4@2 c#4@5 ~ b3@2", C: "~@2 b3@3 ~ b3@3 ~ a3@3 ~ g#3@3 ~ g#3@6",
  D: "~@2 e4@3 ~ e4@3 ~ c#4@3 ~ c#4@3 ~ c#4@3 ~ b3@2", E: "[~@2 b3@2 b3@5 ~ a3@3 ~ g#3@2 g#3@12 ~@20]/2",
  F: "~@18 b3@3 ~ e4@2", G: "[~@2 e4@3 ~ e4@3 ~ e4@3 ~ e4@3 ~ e4@10 ~@14 b3@3 ~ e4@2]/2",
  H: "[~@2 e4@3 ~ f#4@3 ~ e4@3 ~ d#4@3 ~ e4@10 ~@10 e4@3 ~ e4@3 ~ e4@2]/2",
  I: "e4@4 e4@5 ~ c#4@3 ~@3 c#4@2 c#4@3 ~ c#4@2", J: "[~@2 b3@3 ~ b3@3 ~ a3@3 ~ g#3@3 ~ g#3@10 ~@20]/2",
  K: "~@6 e4@3 ~ e4@3 ~ e4@3 ~ e4@3 ~ c#4@2", L: "~@2 c#4@3 ~ c#4@3 ~ b3@3 ~ b3@3 ~ b3@3 ~ a3@2",
  M: "~@2 g#3@3 ~ g#3@10 ~@8", N: "[~@6 e4@3 ~ e4@3 ~ e4@3 ~ e4@10 ~@20]/2",
  O: "[~@6 d#4@3 ~ d#4@3 ~ d#4@3 ~ d#4@10 ~@20]/2", P: "~@3 d#4@2 ~ e4@3 ~ e4@3 ~ e4@3 ~ e4@3 ~ e4@2",
  Q: "~@2 e4@3 ~ d#4@3 ~ d#4@3 ~ d#4@3 ~ d#4@3 ~ d#4@2", R: "d#4@5 ~ c4@5 ~@13",
})).s("gm_lead_3_calliope").gain(0.3).pan(0.3)

// other · lead 2 sawtooth
const lead_2_sawtooth = note(`<
  ~@16 A@3 ~@9 B C@2 ~@10 D E F@3 G H I J@5 ~@90 K L M N@2 O P Q N R L M ~@2 S P T ~ K L M ~@8 U V W ~ X@4 ~ Y Z AA AB
  ~@68 AC@5 ~@44 AD@8 AE@2 AF AG AH ~@66
>`.pickRestart({
  A: "[~@7 e6@2 f#6@2 g6@2 ~ e6@2 f#6@2 g6@2 ~ e5@2 f#5@2 g5@2 ~ e5@2 f#5@2 ~ g5@2 e4@2 f#4@2 ~ g4@2 e4@2 f#4@2 ~ g4@2 e3@2 ~ f#3@2 g3@2 e3@2 ~ f#3@2 g3@2 ~@9]/3",
  B: "~@2 f#6@2 ~ g#6@2 a6@2 f#6@2 ~ g#6@2 a6@2 ~ f#5@2 g#5@2 a5@2 ~",
  C: "[f#5@2 g#5@2 a5@2 ~ f#4@2 g#4@2 a4@2 ~ f#4@2 g#4@2 ~ a4@2 f#3@2 g#3@2 ~ a3@2 f#3@2 g#3@2 ~ a3@2 ~@13]/2",
  D: "~@10 f5@6 ~ g5@6 ~", E: "a5@6 ~ a#5@2 c6@2 ~ d6@2 a#5@2 c6@2 ~ d6@2 a#4@2 ~",
  F: "[c5@2 d5@2 a#4@2 ~ c5@2 d5@2 a#3@2 ~ c4@2 d4@2 a#3@2 ~ c4@2 d4@2 ~ a#2@2 c3@2 d3@2 ~ a#2@2 c3@2 d3@2 ~ a5@2 b5@2 c#6@2 ~ a5@2 b5@2 ~ c#6@2 a4@2 b4@2 ~ c#5@2 a4@2 b4@2 ~ c#5@2 a3@2 b3@2]/3",
  G: "~ c#4@2 a3@2 ~ b3@2 c#4@2 a2@2 ~ b2@2 c#3@2 a2@2 ~ b2@2 c#3@2",
  H: "g5@2 ~ a5@2 b5@2 ~ g5@2 a5@2 b5@2 ~ g4@2 a4@2 b4@2 ~ g4@2",
  I: "a4@2 b4@2 ~ g3@2 a3@2 ~ b3@2 g3@2 a3@2 ~ b3@2 g2@2 a2@2 ~",
  J: "[b2@2 g2@2 ~ a2@2 b2@2 g5@2 ~ a5@2 b5@2 g5@2 ~ a5@2 b5@2 g5@2 ~ a5@2 b5@2 ~ g5@2 a5@2 b5@2 ~ g5@2 a5@2 b5@2 ~ g5@2 a5@2 b5@2 ~ g5@2 a5@2 ~ b5@2 g5@2 a5@2 ~ b5@2 e5@34 ~@20]/5",
  K: "~@9 e5 f#5 g5", L: "b5 g5 f#5 e5 d5 c#5 b4 c#5 d5 f#5 d5 c#5", M: "b4 c5 b4 a4 c5 e5 d5 c5 b4 a4 g4 f#4",
  N: "e4 f#4 g4 e4 f#4 g4 e4 f#4 g4 e4 f#4 g4", O: "e4 f#4 g4 e5 f#5 g5 b5 g5 f#5 e5 d5 c#5",
  P: "b4 c#5 d5 f#5 d5 c#5 b4 c5 b4 a4 c5 e5", Q: "d5 c5 b4 a4 g4 f#4 e4 f#4 g4 e4 f#4 g4",
  R: "e4 f#4 g4 e4 f#4 g4 e4 f#4 g4 e5 f#5 g5", S: "~@3 e5 f#5 g5 b5 g5 f#5 e5 d5 c#5", T: "d5 c5 b4 a4 g4 f#4 ~@6",
  U: "e5 f#5 g5 b5 g5 f#5 e5 d5 c#5 b4 c#5 d5", V: "f#5 d5 c#5 b4 c5 b4 a4 c5 b4 a4 c5 b4", W: "a4 g4 f#4 e4@6 ~@3",
  X: "[~@13 e5@2 f#5@2 g5@2 b5@2 g5@2 f#5@2 e5@2 d5@2 c#5@2 b4@2 c#5@2 d5@2 f#5@2 d5@2 c#5@2 b4@2 c5@2 b4@2 a4@2 c5@2 b4@2 a4@2 c5@2 b4@2 a4@2 g4@2 f#4@2 e4@12 ~@17]/4",
  Y: "~@3 e5@2 f#5@2 ~ b5@2 g5@2 f#5@2 e5@2 d5@2 c#5@2 b4@2 c#5@2, ~@7 g5@2 ~@15",
  Z: "d5 f#5 d5 c#5 b4 c5 b4 a4 c5 e5 d5 c5", AA: "b4 a4 g4 f#4 e4 f#4 g4 e4 f#4 g4 e4 f#4", AB: "g4 e4 f#4 g4 ~@8",
  AC: "[~@5 f#6@2 g#6@2 a6@2 f#5@2 g#5@2 a5@2 f#4@2 g#4@2 a4@2 f#3@2 g#3@2 a3@2 f#4@2 g#4@2 a4@2 f#5@2 g#5@2 a5@2 f#6@2 g#6@2 a6@2 f#5@2 g#5@2 a5@2 g6@2 a6@2 a#6@2 g5@2 a5@2 a#5@2 g4@2 a4@2 a#4@2 g3@2 a3@2 a#3@2 g4@2 a4@2 a#4@2 g5@2 a5@2 a#5@2 g6@2 a6@2 a#6@2 g5@2 a5@2 a#5@2 ~@19]/5",
  AD: "[~@23 d#1@48 f1@48 g#1@48 a#1@25]/8", AE: "[~@12 b5 a5 c6 b5 a5 c6 b5 a5 g5 f#5 e5 f#5, ~@23 c6@2 ~@23]/2",
  AF: "g5 b5 g5 f#5 e5 d5 c#5 b4 c#5 d5 f#5 d5", AG: "c#5 b4 c5 b4 a4 c5 b4 a4 c5 b4 a4 g4", AH: "~ f#4@2 e4@9",
})).s("gm_lead_2_sawtooth").gain(0.36).pan(0.7)

// other · distortion guitar
const distortion_guitar = note(`<
  A B@5 C@2 D@2 E@8 F@3 G@7 H@3 I@4 J@7 K L@3 M N O P@5 ~@23 Q@8 ~@3 R S ~@2 T U V W X Y@4 ~ Z AA ~ AB AC AD AE AF AG AH
  AI AJ AK AL AM@3 AN@2 ~@2 AO AP ~@8 AQ AR AS ~@2 AT ~@3 AU AV AW AX AY AZ BA@2 BB@2 BC BD AX AY AZ BA@2 BB@2 BC BE BF
  BG BH BI BJ BK@2 BL BM BN BO BP BQ@6 BR BS BT BU@2 BV@3 BW@2 BX BY BZ@2 CA@8 CB@5 CC@2 CD@3 ~@35 CE@8 CF@4 CG@5 ~@9
  CH@3 ~@8 CI@3 CJ@2 CK@2 ~ CL@4 CM@3 CN@6 CO@3 CP CQ@3 CR CS CT CU@2 CV@3 CW@8 ~@43 CX@5 CY@4 CZ
>`.pickRestart({
  A: "~@10 e2 f#2", B: "g2 e2 f#2 g2 e2 f#2 g2 e2 f#2 g2 e2 f#2",
  C: "[g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@2 f#2@2 g2@2 e2@14 f#2@7 g2@7]/2", D: "[e2@14 f#2@7 g2@7 a2@14 b2@6]/2",
  E: "[~@2 c3@7 ~@7 d6!2 c#6 c6!2 b5!2 a#5 a#5 a5 [g#5,a5] g#5 g5!2 f#5!2 f5!2 e5 d#5!2 e2@14 f#2@7 g2@7 e2@14 ~ f#2@7 g2@7 a2@14 b2@7 c3@7 a2@14 b2@7 c3@7 ~ e5@2 f#5@2 g5@2 ~ e5@2 f#5@2 g5@2 ~ e4@2 f#4@2 g4@2 ~ e4@2 f#4@2 ~ g4@2 e3@2 f#3@2 ~ g3@2 e3@2 f#3@2 ~ g3, ~@9 a2@27 ~@115 e2@41]/8", // Amaj7
  F: "[~@4 f#2@2 g2@2 e2@2 ~ f#2@2 g2@2 f#2@14 ~ g#2@7 a2@7 f#2@14 g#2@7 a2@7, ~ e2@7 ~@64]/3",
  G: "[b2@14 c#3@6 ~ d4@7 ~@13 e5!2 f#5 [e5,f#5] e5 f#5!2 e5!2 c#5!2 f#4@5 f#2@14 g#2@7 a2@7 f#2@14 g#2@7 ~ a2@7 b2@14 c#3@6 d4@7 ~ b2@14 c#3@7 d3@5, ~@28 b2@17 ~ a2@9 ~@113]/7", // Esus2
  H: "[~@2 f#5@2 ~ g#5@2 a5@2 f#5@2 ~ g#5@2 a5@2 ~ f#4@2 g#4@2 a4@2 ~ f#4@2 g#4@2 a4@2 ~ f#3@2 g#3@2 a3@2 ~ f#3@2 g#3@2 ~ a3@2 ~@2 g#2@2 ~ a2@2 f#2@2 g#2@2 ~ a2@2 g3@13, ~@2 f#2@43 f#2@7 ~@20]/3",
  I: "[~ a3@7 a#3@7 ~ g3@14 a3@7 a#3@7 c4@14 d4@7 g4@30 ~]/4",
  J: "[~@5 g3@14 a3@7 a#3@7 g3@14 a3@7 a#3@7 c4@14 ~ d4@7 g4@30 ~@5 f4@14 g4@6 ~ a4@13 ~@2 [d5,f5]@7 [e5,g5]@7]/7", // Dm Em
  K: "[f5,a5]@7 g5@2 a5@2 ~ a#5@2 g5@2 a5@2 ~ a#5@2 g4@2 ~", // F
  L: "[a4@2 a#4@2 g4@2 ~ a4@2 a#4@2 g3@2 ~ a3@2 a#3@2 g3@2 ~ a3@2 a#3@2 ~ g2@2 a2@2 a#2@2 ~ g2@2 a2@2 a#2@2 ~ f#5@2 g#5@2 a5@2 ~ f#5@2 g#5@2 ~ a5@2 f#4@2 g#4@2 ~ a4@2 f#4@2 g#4@2 ~ a4@2 f#3@2 g#3@2]/3",
  M: "~ a3@2 f#3@2 ~ g#3@2 a3@2 f#2@2 ~ g#2@2 a2@2 f#2@2 ~ g#2@2 a2@2",
  N: "e5@2 ~ f#5@2 g5@2 ~ e5@2 f#5@2 g5@2 ~ e4@2 f#4@2 g4@2 ~ e4@2",
  O: "f#4@2 g4@2 ~ e3@2 f#3@2 ~ g3@2 e3@2 f#3@2 ~ g3@2 e2@2 f#2@2 ~",
  P: "[g2@2 e2@2 ~ f#2@2 g2@2 e5@2 ~ f#5@2 g5@2 e5@2 ~ f#5@2 g5@2 e5@2 ~ f#5@2 g5@2 ~ e5@2 f#5@2 g5@2 ~ e5@2 f#5@2 g5@2 ~ e5@2 f#5@2 g5@2 ~ e5@2 f#5@2 ~ g5@2 e5@2 f#5@2 ~ g#5@2 e5@34 ~@20]/5",
  Q: "[~ e2@31]/8", R: "~ a3 b3 c#4", S: "e4 ~@3", T: "~ a2 b2 c3", U: "d3@5 ~ e3@5 ~ f#3@6 g3@5 ~",
  V: "a3@5 ~@17 b4@2", W: "~@2 b4@3 ~ b4@3 ~ a4@3 ~ g#4@3 ~ g#4@2 a4@2 g#4@2", X: "f#4@5 ~@7",
  Y: "[e4@2 f#4@2 g#4@2 b4@2 c#5@2 d#5@2 b4@2 ~ d#5@2 ~ b4@11 ~@3 b5@4 a5@3 ~ f#5@2 e5@2 d#5@2 c#5@4 b5@4 b5@4 a5@4 g#5@4 a5@2 g#5@2 f#5@8 g5@4 ~@14, ~@14 c#5@2 ~@23 g#5@2 ~@55]/4",
  Z: "~@6 [a#3,c#4,f#4]@2 ~@7 [g3,a#3,d#4]@2 ~@7", AA: "[f3,g#3,c#4] ~@11",
  AB: "~@6 [a#4,c#5,f#5]@2 ~@7 [g4,a#4,d#5]@2 ~@7", AC: "[f4,g#4,c#5]@2 ~@7 [d4,f4,a#4]@2 ~@7 [c4,d#4,g#4]@2 ~@4",
  AD: "g3@3 ~ b3@3 ~ d4@3 ~ g3@8 ~ b3 ~ d4", AE: "e4@3 c4@2 a3 e3@5 ~",
  AF: "f#4@4 f#4@2 d4@4 d4@2 b3@3 ~ b3@2 g3@2 e3@2 g3@2", AG: "g4@2 g4@2 g4@2 e4@4 c4@2 a3@8 ~ b4 ~ c5",
  AH: "b4@3 g4@2 e4 c4@2 e4@2 g4@2", AI: "c5@6 a4@4 f4@2 d4@11 ~", AJ: "d5@3 ~ c5@3 ~ b4@3 ~ g4@7 ~@2 e4@2 ~",
  AK: "e5@8 ~ d5 ~ c5 e5@9 d#5 ~ d5",
  AL: "c#5 ~ [c5,d#5] [b4,d5] ~ [a#4,c#5] [a4,c5] ~ [g#4,b4] [g4,a#4] ~ [f#4,a4] [f4,g#4] ~ [e4,g4] [d#4,f#4] ~ [d4,f4] e4 ~ d#4 d4 ~@2", // Cm Bm A#m Am G#m Gm F#m Fm …
  AM: "[c4 b3 a3 c4 b3 a3 c4 b3 a3 g3 f#3 e3@18 ~ e5 f#5 g5 e5 f#5 g#5]/3", AN: "[e5@17 ~@6 c#5, ~@45 b4@2 ~]/2",
// … 487 more lines

More by Yes