Strudelify

Caught Somewhere in Time

Iron Maiden

KeyG majorTempo166 bpm
0:00/0:00
// Caught Somewhere in Time — Iron Maiden
// 166 bpm, 4/4, key G 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 206, 4/4 at bar 207) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 337 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(166/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 · distortion guitar · "Guitar 1"
const distortion_guitar = note(`<
  A@3 B@2 C D E@5 F@5 G H@7 I J K@2 L M@2 N@2 O P Q@2 O P R S O P Q@2 O P T U V W X Y V W X Y Z AA AB AC Z AA AB AC V W
  X Y V W X Y Z AA AB AC Z AA AB AC V@3 AD AE@2 V AD AF@4 AG@4 AH@8 AI AJ AK AL AI@2 AM AN AI AJ AK AO AN AP AQ@2 AI AJ
  AK AL AI@2 AM AN AI AJ AK AO AN AP AQ@2 AR AS AT AU AR AS AT AU AV AW AX AY AZ BA BB BC BD@2 BE BF BG BH BI@2 BJ BK
  BL@2 BM BN BO BP BQ BR BS BT BU BV BW@2 BU BV BX@2 BU BV BW@2 BU BV BX@2 BU BV BY BZ BU BV BY BZ CA CB@2 CC CA CB@2 CD
  CE CF CG@3 CF CH@3 CF CG@3 CF CI@3 V CJ X CK V CJ X CL@4 CM@4 CN V@3 CO@3 V CP CQ CR CQ CS CT CS CT CU CV CW CV CW CV
  CW CV CX@2 CY CZ DA@6 CY CZ DB@2 DC@4 CY CZ DA@6 CY CZ DB@2 DC@4 CY CZ DA@6 CY CZ DB@2 DC@4 CY CZ DA@6 CY CZ DB@2 DD@3
  CA DE CA DF CA DE DG DH DI@2
>`.pickRestart({
  A: "[~@7 b4@5 ~ a4@5 ~@2 f#4@3 ~@3 g4@5 ~ g4@2 ~ g4@11 ~@2, ~@31 a4@2 ~ f#4@2 ~@12]/3",
  B: "[~@9 b4@5 ~ a4@5 ~@2 f#4@3 ~@3 g4@4]/2", C: "~@2 g4@2 ~ e4@11, ~ a4@2 ~ f#4@2 ~@10", D: "~@11 b4@5",
  E: "[~@2 a4@5 ~ f#4@3 ~@3 g4@5 ~ g4@2 f#4@2 g4@11 ~@4 b4@11 ~@2 a4@3 ~@6 b4@2 ~ f#4@11 ~@2 g4@3, ~@19 a4@2 ~@42 a4@2 ~@15]/5",
  F: "[~@3 a4@5 ~@7 b4@4 ~ a4@4 ~ f#4@3 ~@3 g4@4 a4 g4 f#4 ~ g4@12 ~@6 b4@4 ~@2 a4@4 ~ f#4@3 ~@3 g4@4 a4 g4]/5",
  G: "f#4 ~ e4@5 d4@7 ~@2",
  H: "[~@4 b4@4 ~@2 a4@4 ~ f#4@3 ~@2 g4@4 a4 ~ g4 f#4 g4@12 ~@2 b4@9 ~@2 a4@3 ~@5 b4 a4 f#4@9 ~@2 g4@3 ~@2 a4@4 ~@7 b5@4 ~ a5@4 ~@2 f#5@3 ~@2 g5@4 a5 g5]/7",
  I: "~ f#5 g5@10 ~@4", J: "~@5 b5@4 ~ a5@4 ~@2", K: "[f#5@3 ~@2 g5@4 a5 g5 ~ f#5 e5@10 ~@9]/2",
  L: "b5@4 ~ a5@4 ~ f#5@3 ~@3", M: "[g5@4 a5 g5 f#5 ~ g5@10 ~@3 b5@9 ~@2]/2",
  N: "[a5@3 ~@5 b5 a5 ~ f#5@9 ~ g5@3 ~@3 a5@4 ~]/2", O: "b4 a4 g4!2 ~ f#4 ~ g4", P: "~ a4 ~ g4 ~ a4 g4 f#4",
  Q: "[g4@2 f#4@2 e4@2 e4@21 ~@5]/2", R: "g4@14 f#4 g4", S: "f#4@15 ~", T: "e5@7 e5", U: "d#5@15 ~",
  V: "[e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@2 e3!2", // E5
  W: "[e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@3 ~", // E5
  X: "[c3,g3]@2 c3!2 [c3,g3]@2 c3!2 [c3,g3]@2 c3!2 [c3,g3]@2 c3!2", // C5
  Y: "[c3,g3]@2 c3!2 [c3,g3]@2 c3!2 [c3,g3]@2 [d3,a3]@2 [d3,a3]@3 ~", Z: "[a2,a3,e4,a4]@13 ~ [a2,a3,e4,a4]!2",
  AA: "[a2,a3,e4,a4]@15 ~", AB: "[f3,c4,f4]@13 ~ d3@2", AC: "[g3,d4,g4]@7 ~ [e3,b3,e4]@3 ~ [g3,d4,g4]@3 ~",
  AD: "[e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,a3]@2 [e3,b3]@2 [e3,a3]@2 [e3,b3]@2", AE: "[[d3,a3,d4,f#4]@31 ~]/2",
  AF: "[c3@3 ~ g3@3 ~ f#3 g3 ~ f#3 d3@2 c3@4 c3@2 g3@3 ~ f#3 g3 ~ f#3 d3@3 ~]/2",
  AG: "[a2@3 ~ g3@3 ~ f#3 g3 ~ f#3 d3@2 a2@4 a2@2 g3@3 ~ f#3 g3 ~ f#3 d3@3 ~]/2",
  AH: "[e3@3 ~ b3@3 ~ a3 b3 ~ a3 g3@2 e3@4 e3@2 b3@3 ~ a3 b3 ~ a3 g3@3 ~]/2", AI: "[e2,e3]@15 ~",
  AJ: "e2@2 [e3,b3,e4]@2 e2@2 e2@2 [e3,b3,e4]@7 ~", AK: "[c3,g3,c4]@5 ~ [g3,g4]@2 [g3,g4]@7 ~",
  AL: "[f#3,f#4]@5 ~ [a3,a4]@2 [a3,a4]@3 ~ [d3,d4]@3 ~", AM: "[g3,g4]@11 ~ [g3,g4]@3 ~", AN: "[e3,e4]@15 ~",
  AO: "[f#3,f#4]@5 ~ [a3,a4]@2 [a3,a4]@5 ~ [d3,d4]@2", AP: "[f#3,f#4]@7 ~ [g3,g4]@3 ~ [g3,g4]@2 [b3,b4]@2",
  AQ: "[[b3,b4]@10 [d4,d5]@3 ~ [d4,d5]@17 ~]/2", AR: "e3!6 g3@2 e3!8", AS: "a3@2 e3!4 g3@2 e3!6 d3@2",
  AT: "e3!6 g3@2 e3!4 e3@2 e3!2", AU: "a3@2 a3!2 a3@2 a3@2 a3@2 g3@2 f#3@2 d3@2",
  AV: "d5@2 c5 [c5,d5] a4@2 c5@2 b4@3 a4@2 g4@3", AW: "a4 g4 a4 g4 f4@2 g4@2 g4@3 f4@2 e4@3",
  AX: "f4 e4 f4 e4 d4@2 e4@2 e4@3 d4@2 c4@3", AY: "d4@7 e4", AZ: "f4@2 d4@2 e4@2 f4 e4 d4@2 e4@2 f4@2 g4@2",
  BA: "a4@2 g#4@5 ~ a4@2 g4 f4 g4 f4 e4 f4", BB: "e4 f4 e4 d4 c4 b3 a3 c4 b3 c4 b3 a3 b3 a3 g3 a3",
  BC: "g3 a3 ~ g3 f3@2 e3@2 d3@5 ~@3", BD: "[d6@11 ~@3 a#3@15 ~ f3@2]/2",
  BE: "g3@2 d4@3 ~ c4@2 a#3 [a#3,c4] g3@2 a#3@2 a3 [a3,a#3]", BF: "a#3@2 g3@2 f3 g3 f3 e3@4 ~ a3@2 g3@2",
  BG: "a3 ~ b3 ~ c4 ~ d4@2 e4@2 g4@2 a4@2 c5@2", BH: "d5@3 e5@2 f5@3 d5@3 e5@2 f5@3",
  BI: "[a5@10 g5@2 f5@2 g5@13 ~ a4 c5 e5 g5]/2",
  BJ: "e5 f5 e5 d5 e5 [e5,f5] d5 c5 d5 [e5,f5] e5 [c5,d5] b4 [a4,b4] c5 b4", BK: "a4 g4 ~ f4 a4@3 ~ g4@3 a4@2 c5@3",
  BL: "[d5!2 ~ c5 a4 g4 ~ a4 g4 a4 ~ g4 f4 [f4,a4]@14 ~ a4@2 c5@2]/2", BM: "d5@7 ~ c5@2 d5@2 f5 d5 ~ f5",
  BN: "c#5 e5 c#5 e5 c5 d#5 c5@3 c#5 d5@2 f5@2 g5@2", BO: "a5 g5 a5 g5 f5@2 g5@2 f5@3 g5 f5@2 e5@2",
  BP: "d5@2 e5@2 d5 e5 d5 c5 d5@3 ~@2 d5@3", BQ: "e5@3 f5@2 d5@3 e5@3 f5@2 g5@3",
  BR: "a5@2 a#5 a5 g5@2 a5@2 d6@3 c6@2 a#5@3", BS: "a5 a#5 ~ a5 g5 a5 ~ g5 a5@3 ~ g5@3 f5", BT: "d5@15 ~",
  BU: "[e2,b2,e3]@15 ~", BV: "[g2,d3,g3]@15 ~", BW: "[[c3,g3,c4]@26 [d3,a3,d4]@2 [d3,a3,d4]@3 ~]/2",
  BX: "[[d3,a3,d4]@13 ~ [d3,a3,d4,g4]@5 ~ [d3,a3,d4,g4]@3 ~ [d3,a3,d4,f#4]@7 ~]/2", BY: "[f#3,a3,d4,f#4]@15 ~",
  BZ: "[a2,e3,a3]@15 ~", CA: "[b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2",
  CB: "[[b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 b2@2 c3@2 a2@2 [b2,f#3]@4 b2!2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2]/2", // B5
  CC: "[b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 b2@2 e3@2 e3@2 c3@2", CD: "b2 e3!2 c3 b2 c3 b2 a2", CE: "d3 c3 g2 ~ b4 a4 g4!2",
  CF: "~ f#4 ~ g4 ~ a4 ~ g4", CG: "[~@2 a4@2 g4@2 f#4@2 g4@2 f#4@2 e4@2 e4@21 ~@5 b4@2 a4@2 g4@2 g4@2]/3",
  CH: "[~@2 a4@2 g4@2 f#4@2 g4@14 f#4 g4 f#4@15 ~ b4@2 a4@2 g4@2 g4@2]/3",
  CI: "[~@2 a4@2 g4@2 f#4@2 e5@14 e5@2 d#5@15 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2]/3", // E5
  CJ: "[e3,b3]@2 e3!2 [e3,b3]@3 ~ [c3,g3]@2 c3!2 [c3,g3]@2 c3!2", // E5 C5
  CK: "[c3,g3]@2 [d3,a3]@2 [d3,a3]@3 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2", // C5 D5 E5
  CL: "[[c3,g3]@2 [d3,a3]@2 [d3,a3]@3 ~ [a2,a3,e4,a4]@13 ~ [a2,a3,e4,a4]!2 [a2,a3,e4,a4]@15 ~ [f3,c4,f4]@13 ~ d3@2 [g3,d4,g4]@7 ~]/4", // C5 D5 A5 F5 G5
  CM: "[[e3,b3,e4]@3 ~ [g3,d4,g4]@3 ~ [a2,a3,e4,a4]@13 ~ [a2,a3,e4,a4]!2 [a2,a3,e4,a4]@15 ~ [f3,c4,f4]@13 ~ d3@2 [g3,d4,g4]@7 ~]/4", // E5 G5 A5 F5 G5
  CN: "[e3,b3,e4]@3 ~ [g3,d4,g4]@3 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2", // E5 G5 E5
  CO: "[[e3,a3]@2 [e3,b3]@2 [e3,a3]@2 [e3,b3]@2 [d3,a3,d4,f#4]@31 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2]/3", // A5 E5 A5 E5 D E5
  CP: "[e3,a3]@2 [e3,b3]@2 [e3,a3]@2 [e3,b3]@2 c3@3 ~ g3@3 ~", CQ: "f#3 g3 ~ f#3 d3@2 c3@4 c3@2 g3@3 ~",
  CR: "f#3 g3 ~ f#3 d3@3 ~ c3@3 ~ g3@3 ~", CS: "f#3 g3 ~ f#3 d3@3 ~ a2@3 ~ g3@3 ~",
  CT: "f#3 g3 ~ f#3 d3@2 a2@4 a2@2 g3@3 ~", CU: "f#3 g3 ~ f#3 d3@3 ~ e3@3 ~ b3@3 ~",
  CV: "a3 b3 ~ a3 g3@2 e3@4 e3@2 b3@3 ~", CW: "a3 b3 ~ a3 g3@3 ~ e3@3 ~ b3@3 ~",
  CX: "[a3 b3 ~ a3 g3@3 ~ [e2,e3]@15 ~ e2@2 [e3,b3,e4]@2 e2@2 e2@2]/2", CY: "[e3,b3,e4]@7 ~ [c3,g3,c4]@5 ~ [g3,g4]@2",
  CZ: "[g3,g4]@7 ~ [f#3,f#4]@5 ~ [a3,a4]@2", // G F# A
  DA: "[[a3,a4]@3 ~ [d3,d4]@3 ~ [e2,e3]@15 ~ [e2,e3]@15 ~ [g3,g4]@11 ~ [g3,g4]@3 ~ [e3,e4]@15 ~ [e2,e3]@15 ~ e2@2 [e3,b3,e4]@2 e2@2 e2@2]/6", // A D E G E E5
  DB: "[[a3,a4]@5 ~ [d3,d4]@2 [e3,e4]@15 ~ [f#3,f#4]@7 ~]/2", // A D E F#
  DC: "[[g3,g4]@3 ~ [g3,g4]@2 [b3,b4]@2 [b3,b4]@10 [d4,d5]@3 ~ [d4,d5]@17 ~ [e2,e3]@15 ~ e2@2 [e3,b3,e4]@2 e2@2 e2@2]/4", // G B D E E5
  DD: "[[g3,g4]@3 ~ [g3,g4]@2 [b3,b4]@2 [b3,b4]@10 [d4,d5]@3 ~ [d4,d5]@17 ~ [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2]/3", // G B D B5
  DE: "b2@2 c3@2 a2@2 [b2,f#3]@4 b2!2 [b2,f#3]@2 b2!2", DF: "b2@2 f3@2 e3@2 c3@2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2",
  DG: "[b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 b2@2 f3@2 e3@2 c3@2", DH: "b2 c3 b2 a2 d3 c3 g2 ~",
  DI: "[[e2,e3,b3,e4]@3 ~@5 [e2,e3,b3,e4]@15 ~@9]/2", // E5
})).s("gm_distortion_guitar").gain(0.11).pan(0.8)

// chords · distortion guitar · "Guitar 2"
const distortion_guitar_2 = note(`<
  A@3 B@2 C D E@5 F@5 G H@7 I J K@2 L M@2 N@2 O P Q@2 O P R S O P Q@2 O P T U V W X Y V W X Y Z AA AB AC Z AA AB AC V W
  X Y V W X Y Z AA AB AC Z AA AB AC V@3 AD AE@2 V AD AF@4 AG@4 AF@8 AH@2 AI@2 AH@2 AJ AK AH@2 AL@2 AM@2 AN AO AH@2 AI@2
  AH@2 AJ AK AH@2 AL@2 AM@2 AN AO AP AQ AR AS AP AQ AR AS AT AU AT AU AT AU AT AU AV AW AV AW AT AU AT AU AT AU AT AU AV
  AW AV AW AT AU AT AU AX@2 AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO@2 BP BQ BR BS BT BU@3 BV BW BX BY BZ CA
  CB@3 CA CC@3 CA CB@3 CA CD@3 V CE X CF V CE X CG@4 CH@4 CI V@3 CJ@3 V CK CL CM CL CN CO CN CO CM CL CM CL CM CL CM CL
  CP@8 CQ@8 CR@8 CQ@8 CR@8 CQ@8 CR@8 CQ@8 CS CT CU CT CV CT CU CW CX CY@2
>`.pickRestart({
  A: "[~@7 e5@5 ~ d5@5 ~@2 b4@3 ~@3 c5@5 ~ c5@2 ~ c5@11 ~@2, ~@31 d5@2 ~ b4@2 ~@12]/3",
  B: "[~@9 e5@5 ~ d5@5 ~@2 b4@3 ~@3 c5@4]/2", C: "~@2 c5@2 ~ a4@11, ~ d5@2 ~ b4@2 ~@10", D: "~@11 e5@5",
  E: "[~@2 d5@5 ~ b4@3 ~@3 c5@5 ~ c5@2 b4@2 c5@11 ~@4 e5@11 ~@2 d5@3 ~@6 e5@2 ~ b4@11 ~@2 c5@3, ~@19 d5@2 ~@42 d5@2 ~@15]/5",
  F: "[~@3 d5@5 ~@7 e5@4 ~ d5@4 ~ b4@3 ~@3 c5@4 d5 c5 b4 ~ c5@12 ~@6 e5@4 ~@2 d5@4 ~ b4@3 ~@3 c5@4 d5 c5]/5",
  G: "b4 ~ a4@5 g4@7 ~@2",
  H: "[~@4 e5@4 ~@2 d5@4 ~ b4@3 ~@2 c5@4 d5 ~ c5 b4 c5@12 ~@2 e5@9 ~@2 d5@3 ~@5 e5 d5 b4@9 ~@2 c5@3 ~@2 d5@4 ~@7 e5@4 ~ d5@4 ~@2 b4@3 ~@2 c5@4 d5 c5]/7",
  I: "~ b4 c5@10 ~@4", J: "~@5 e5@4 ~ d5@4 ~@2", K: "[b4@3 ~@2 c5@4 d5 c5 ~ b4 a4@10 ~@9]/2",
  L: "e5@4 ~ d5@4 ~ b4@3 ~@3", M: "[c5@4 d5 c5 b4 ~ c5@10 ~@3 e5@9 ~@2]/2",
  N: "[d5@3 ~@5 e5 d5 ~ b4@9 ~ c5@3 ~@3 d5@4 ~]/2", O: "e5 d5 b4!2 ~ a4 ~ b4", P: "~ c5 ~ b4 ~ c5 b4 a4",
  Q: "[b4@2 a4@2 g4@2 g4@21 ~@5]/2", R: "b4@14 a4 b4", S: "a4@15 ~", T: "g5@7 g5", U: "f#5@15 ~",
  V: "[e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@2 e3!2", // E5
  W: "[e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,b3]@3 ~", // E5
  X: "[c3,g3]@2 c3!2 [c3,g3]@2 c3!2 [c3,g3]@2 c3!2 [c3,g3]@2 c3!2", // C5
  Y: "[c3,g3]@2 c3!2 [c3,g3]@2 c3!2 [c3,g3]@2 [d3,a3]@2 [d3,a3]@3 ~", Z: "[a2,a3,e4,a4]@13 ~ [a2,a3,e4,a4]!2",
  AA: "[a2,a3,e4,a4]@15 ~", AB: "[f3,c4,f4]@13 ~ d3@2", AC: "[g3,d4,g4]@7 ~ [e3,b3,e4]@3 ~ [g3,d4,g4]@3 ~",
  AD: "[e3,b3]@2 e3!2 [e3,b3]@2 e3!2 [e3,a3]@2 [e3,b3]@2 [e3,a3]@2 [e3,b3]@2", AE: "[[d3,a3,d4,f#4]@31 ~]/2",
  AF: "[c3@3 ~ g3@3 ~ f#3 g3 ~ f#3 d3@2 c3@4 c3@2 g3@3 ~ f#3 g3 ~ f#3 d3@3 ~]/2",
  AG: "[a2@3 ~ g3@3 ~ f#3 g3 ~ f#3 d3@2 a2@4 a2@2 g3@3 ~ f#3 g3 ~ f#3 d3@3 ~]/2",
  AH: "[[e2,e3,b3,e4]@27 ~ [e2,e3,b3,e4]@2 [e2,e3,b3,e4]@2]/2", AI: "[[c3,g3,c4]@27 ~ [d3,a3,d4]@3 ~]/2",
  AJ: "[c3,g3,c4]@11 ~ [c3,g3,c4]@3 ~", AK: "[a2,e3,a3]@11 ~ [a2,e3,a3]@3 ~", AL: "[[c3,g3,c4]@31 ~]/2",
  AM: "[[d3,a3,d4]@27 ~ [d3,a3,d4]@3 ~]/2", AN: "[b2,f#3,b3]@11 ~ [b2,f#3,b3]@2 [c3,g3,c4]@2",
  AO: "[c3,g3,c4]@3 ~ [c3,g3,c4]@2 [d3,a3,d4]@2 [d3,a3,d4]@3 ~ [d3,a3,d4]@2 [e3,b3,e4]@2", AP: "e3!6 g3@2 e3!8",
  AQ: "a3@2 e3!4 g3@2 e3!6 d3@2", AR: "e3!6 g3@2 e3!4 e3@2 e3!2", AS: "a3@2 a3!2 a3@2 a3@2 a3@2 g3@2 f#3@2 d3@2",
  AT: "[d3,a3]@2 f3!2 [f3,c4]@2 e3!2 [e3,b3]@2 f3!2 [f3,c4]@2 e3!2", // D5 F5 E5 F5
  AU: "[e3,b3]@2 f3!2 [f3,c4]@2 e3!2 [e3,b3]@2 [g3,d4]@2 [g3,d4]@3 ~", AV: "[g2,d3]@2 [g2,d3]@2 [a#2,f3]@2 [a2,e3]@9 ~",
  AW: "[a#2,f3]@2 [a2,e3]@2 [g2,d3]@2 [c3,g3]@9 ~", AX: "[b4@10 a4@2 g4@2 d5@5 c5@2 [b4,b5]@3 a4@3 g4@2 f#4@3]/2",
  AY: "e4@3 d4@2 c4@3 b3@3 a3@2 g3@3", AZ: "g3@7 ~ b3@2 b4@2 b4@2 e5@2", BA: "b4@13 ~ b4@2",
  BB: "c5@3 b4@2 a4@3 g4@2 a4@2 b4 a4 ~ g4", BC: "a4@3 ~ d4 e4 d4@9 ~",
  BD: "a3 g#3 g3 f#3!2 e3 d#3 d3 c#3 c3 b2 a#2 c#3 c3 ~ c#3", BE: "e3 d3 ~ e3 f#3 e3 ~ f#3 g3 f#3 ~ g3 a3 g3 ~ a3",
  BF: "b3 a3 ~ b3 c4 b3 ~ c4 d4 c4 ~ d4 e4 d4 ~ e4", BG: "f#4 e4 ~ f#4 g4 f#4 ~ g4 a4 g4 ~ a4 b4 a4 ~ g4",
  BH: "e4@11 ~@5", BI: "f#5 [f#5,g5] g5 [f#5,g5] f#5 [f#5,g5] g5 [f#5,g5] e5 [e5,g5] g5 [e5,g5] d5 [d5,g5] g5 [d5,g5]",
  BJ: "d5 [d5,g5] g5 [c5,g5] c5 [c5,g5] g5 [b4,c5] b4 [b4,g5] ~ a4@2 g4@3", BK: "f#4@3 e4@2 d4@3 e4@3 d4@2 b3@3",
  BL: "d4@11 ~@3 d5@2", BM: "e5!2 d5 b4 d5@2 e5!2 d5 b4 d5@2 e5!2 d5 b4",
  BN: "d5@2 e5!2 d5 b4 d5@2 e5!2 d5 b4 d5@2 e5!2", BO: "[d5 b4 d5@2 e5!2 d5 b4 d5@2 e5@2 e5@2 d5@13 ~@3 e3@2]/2",
  BP: "e3 g3 f#3 d4 c4 b3 g4 f#4", BQ: "e4@2 d4@2 c#4@2 b3@2 g4@7 ~",
  BR: "f#4 g4 ~ e4 f#4 d4 ~ e4 c4 d4 ~ b3 c4 a3 ~ b3", BS: "g3 a3 ~ f#3@8 ~@5",
  BT: "f#5 [f#5,g5] g5 [f#5,g5] f#5 [f#5,g5] g#5 [f#5,g#5] f#5 [f#5,a5] a5 [f#5,a5] f#5 [f#5,a5] a5 [f#5,a5]", // Gmaj7 F#sus2 F#m
  BU: "[f#5 [f#5,a5] g5 [f#5,a5] f#5 [f#5,g5] f#4@2 f#4@5 ~ [b3,f#4]@28 e4@2 e4@2 c4@2]/3", // F#m Gmaj7 B5
  BV: "b4 a5 b5 b4 a5 b5 b4 a5 b5 b4 a5 b5 b4 a5 b5 b4", BW: "a5 b5 b4 a5 b5 b4 a5 b5 b4 a5 b5 b4 a5 b5 b4 g#5",
  BX: "b5 b4 g5 b5 b4 g5 b5 b4 f5 b5 b4 e5 b5 b4 d#5 b5", BY: "b4 d5 b5 b4 d5 b5 b4 b5 b4@5 ~ g4@2",
  BZ: "g4@7 ~ e5@2 d5@2 b4@2 b4@2", CA: "~ a4 ~ b4 ~ c5 ~ b4",
  CB: "[~@2 c5@2 b4@2 a4@2 b4@2 a4@2 g4@2 g4@21 ~@5 e5@2 d5@2 b4@2 b4@2]/3",
  CC: "[~@2 c5@2 b4@2 a4@2 b4@14 a4 b4 a4@15 ~ e5@2 d5@2 b4@2 b4@2]/3",
  CD: "[~@2 c5@2 b4@2 a4@2 g5@14 g5@2 f#5@15 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2]/3", // E5
  CE: "[e3,b3]@2 e3!2 [e3,b3]@3 ~ [c3,g3]@2 c3!2 [c3,g3]@2 c3!2", // E5 C5
  CF: "[c3,g3]@2 [d3,a3]@2 [d3,a3]@3 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2", // C5 D5 E5
  CG: "[[c3,g3]@2 [d3,a3]@2 [d3,a3]@3 ~ [a2,a3,e4,a4]@13 ~ [a2,a3,e4,a4]!2 [a2,a3,e4,a4]@15 ~ [f3,c4,f4]@13 ~ d3@2 [g3,d4,g4]@7 ~]/4", // C5 D5 A5 F5 G5
  CH: "[[e3,b3,e4]@3 ~ [g3,d4,g4]@3 ~ [a2,a3,e4,a4]@13 ~ [a2,a3,e4,a4]!2 [a2,a3,e4,a4]@15 ~ [f3,c4,f4]@13 ~ d3@2 [g3,d4,g4]@7 ~]/4", // E5 G5 A5 F5 G5
  CI: "[e3,b3,e4]@3 ~ [g3,d4,g4]@3 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2", // E5 G5 E5
  CJ: "[[e3,a3]@2 [e3,b3]@2 [e3,a3]@2 [e3,b3]@2 [d3,a3,d4,f#4]@31 ~ [e3,b3]@2 e3!2 [e3,b3]@2 e3!2]/3", // A5 E5 A5 E5 D E5
  CK: "[e3,a3]@2 [e3,b3]@2 [e3,a3]@2 [e3,b3]@2 c3@3 ~ g3@3 ~", CL: "f#3 g3 ~ f#3 d3@2 c3@4 c3@2 g3@3 ~",
  CM: "f#3 g3 ~ f#3 d3@3 ~ c3@3 ~ g3@3 ~", CN: "f#3 g3 ~ f#3 d3@3 ~ a2@3 ~ g3@3 ~",
  CO: "f#3 g3 ~ f#3 d3@2 a2@4 a2@2 g3@3 ~",
  CP: "[f#3 g3 ~ f#3 d3@3 ~ [e2,e3,b3,e4]@27 ~ [e2,e3,b3,e4]@2 [e2,e3,b3,e4]@2 [c3,g3,c4]@27 ~ [d3,a3,d4]@3 ~ [e2,e3,b3,e4]@27 ~ [e2,e3,b3,e4]@2 [e2,e3,b3,e4]@2 [c3,g3,c4]@11 ~ [c3,g3,c4]@3 ~ [a2,e3,a3]@8]/8", // E5 C5 D5 E5 C5 A5
  CQ: "[~@4 [a2,e3,a3]@3 ~ [e2,e3,b3,e4]@27 ~ [e2,e3,b3,e4]@2 [e2,e3,b3,e4]@2 [c3,g3,c4]@31 ~ [d3,a3,d4]@27 ~ [d3,a3,d4]@3 ~ [b2,f#3,b3]@11 ~ [b2,f#3,b3]@2 [c3,g3,c4]@2 [c3,g3,c4]@3 ~ [c3,g3,c4]@2 [d3,a3,d4]@2]/8", // A5 E5 C5 D5 B5 C5 D5
  CR: "[[d3,a3,d4]@3 ~ [d3,a3,d4]@2 [e3,b3,e4]@2 [e2,e3,b3,e4]@27 ~ [e2,e3,b3,e4]@2 [e2,e3,b3,e4]@2 [c3,g3,c4]@27 ~ [d3,a3,d4]@3 ~ [e2,e3,b3,e4]@27 ~ [e2,e3,b3,e4]@2 [e2,e3,b3,e4]@2 [c3,g3,c4]@11 ~ [c3,g3,c4]@3 ~ [a2,e3,a3]@8]/8", // D5 E5 C5 D5 E5 C5 A5
  CS: "[d3,a3,d4]@3 ~ [d3,a3,d4]@2 [e3,b3,e4]@2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2", // D5 E5 B5
  CT: "[b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2", // B5
  CU: "b2@2 c3@2 a2@2 [b2,f#3]@4 b2!2 [b2,f#3]@2 b2!2", CV: "b2@2 f3@2 e3@2 c3@2 [b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2",
  CW: "[b2,f#3]@2 b2!2 [b2,f#3]@2 b2!2 b2@2 f3@2 e3@2 c3@2", CX: "b2 c3 b2 a2 d3 c3 g2 ~",
  CY: "[[e2,e3,b3,e4]@3 ~@5 [e2,e3,b3,e4]@15 ~@9]/2", // E5
})).s("gm_distortion_guitar").gain(0.11).pan(0.3)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A@3 B@8 C@4 D@5 E@7 F G H I J K L M@2 N O M@2 P Q M@2 N O M@2 P Q M@2 N R M@2 N R S T U V S T U V M@2 N R M@2 N R S T
  U V S T U V M@4 P@2 M@2 N@4 S@4 N@4 S@4 M@2 N O M@2 N S M@2 N O P@2 W X M@2 N O M@2 N S M@2 N O P@2 W X Y Z AA AB Y Z
  AA AB AC AD AC AD AC AD AC AD AE AF AE AF AC AD AC AD AC AD AC AD AE AF AE AF AC AD AC AD M AG N R M AG P@2 M AG N R M
  AG P@2 M AG P S M AG P S Q AH@2 AI Q AH@2 AJ AK M AL N AM M AN AO AP M AL N AM M AN AO AP M AL N AQ M AL N AR AS AT AU
  AV AS AT AU AW M@3 AN P AX M AL N@3 AY S@3 AZ N@3 AY S@3 BA M AL N AM M AL AY BA M AL N BB P AO BC BD M AL N AM M AL
  AY BA M AL N BB P AO BC BD M AL N AM M AL AY BA M AL N BB P AO BC BD M AL N AM M AL AY BA M AL N BB P AO BC BE Q BF Q
  BG Q BF BH BI BJ@2
>`.pickRestart({
  A: "[~ e1@23 ~@2 c2@22]/3", B: "[~@3 e1@23 ~@2 c2@11 ~@2 a1@11 ~ e1@23 ~@2 c2@23 ~@2 d2@23 ~@2]/8",
  C: "[b1@11 ~@2 c2@5 ~ d2@5 ~ e1@3 e1!2 ~ e1@2 e1 ~ e1 e1@3 e1!2 e1@3 e1!2 ~ c2@2 c2 ~ c2 c2@3 c2!3 ~ c2!3 ~ c2]/4",
  D: "[c2!2 ~ c2 e1@3 e1!2 e1@3 e1 ~ e1 e1@3 e1!2 e1@3 e1!2 ~ c2@2 c2 ~ c2 c2@3 c2!2 a1 ~ a1!3 ~ a1!3 ~ a1 e1@3 e1!2 e1@3 e1!2 ~ e1@2 e1 ~ e1 e1@3 e1!2 c2@3 c2!2 ~ c2@2 c2 ~ c2!2]/5",
  E: "[c2 ~ c2!3 ~ c2!3 ~ d2@2 d2 ~ d2 d2@3 d2!2 ~ d2@2 d2 ~ d2 d2@3 d2!2 b1@3 b1!2 ~ b1@2 b1 ~ b1 c2@3 c2!2 d2@3 d2!2 ~ e1@2 e1 ~ e1 e1@3 e1!2 e1@3 e1!2 ~ e1@2 e1 ~ e1 c2@3 c2!2 c2@3 c2!2 ~ c2!3 ~ c2!3 ~ c2!2 e1@3 e1 ~ e1 e1@3 e1!2 e1@3 e1!2 ~]/7",
  F: "e1@2 e1 ~ e1 c2@3 c2!2 c2@3 c2!2 ~", G: "a1!3 ~ a1!3 ~ a1!2 e1@3 e1!2 ~", H: "e1@2 e1 ~ e1 e1@3 e1!2 e1@3 e1!2 ~",
  I: "c2@2 c2 ~ c2 c2@3 c2!3 ~ c2!3 ~", J: "c2!3 ~ c2 d2@3 d2!2 ~ d2@2 d2 ~ d2",
  K: "d2@3 d2!2 d2@3 d2!2 ~ b1@2 b1 ~ b1", L: "b1@3 b1!2 c2@3 c2!2 ~ d2@2 d2 ~ d2",
  M: "e2@2 e2!2 e2@2 e2!2 e2@2 e2!2 e2@2 e2!2", N: "c2@2 c2!2 c2@2 c2!2 c2@2 c2!2 c2@2 c2!2",
  O: "c2@2 c2!2 c2@2 c2!2 c2@2 c2!2 d2@2 d2!2", P: "d2@2 d2!2 d2@2 d2!2 d2@2 d2!2 d2@2 d2!2",
  Q: "b1@2 b1!2 b1@2 b1!2 b1@2 b1!2 b1@2 b1!2", R: "c2@2 c2!2 c2@2 c2!2 c2@2 d2@2 d2@2 d2!2",
  S: "a1@2 a1!2 a1@2 a1!2 a1@2 a1!2 a1@2 a1!2", T: "a1@2 a1!2 a1@2 a2@2 b2@2 c3@2 b2@2 g2@2",
  U: "f2@2 f2!2 f2@2 f2!2 f2@2 f2!2 f2@2 f2!2", V: "g2@2 g2!2 g2@2 g2!2 e2@2 e2!2 g2@2 g2!2",
  W: "b1@2 b1!2 b1@2 b1!2 b1@2 b1!2 b1@2 c2!2", X: "c2@2 c2!2 c2@2 d2@2 d2@2 d2!2 d2@2 e2@2", Y: "e2!6 g2@2 e2!8",
  Z: "a2@2 e2!4 g2@2 e2!6 d2@2", AA: "e2!6 g2@2 e2!4 e2@2 e2!2", AB: "a2@2 a2!2 a2@2 a2@2 a2@2 g2@2 f#2@2 d2@2",
  AC: "d2@2 f2!2 f2@2 e2!2 e2@2 f2!2 f2@2 e2!2", AD: "e2@2 f2!2 f2@2 e2!2 e2@2 g2@2 g2@3 ~",
  AE: "g1@2 g1@2 a#1@2 a1@4 a1!2 a1@2 a1!2", AF: "a#1@2 a1@2 g1@2 c2@4 c2!2 c2@2 c2!2",
  AG: "g2@2 g2!2 g2@2 g2!2 g2@2 g2!2 g2@2 g2!2",
  AH: "[b1@2 b1!2 b1@2 b1!2 b1@2 c2@2 a1@2 b1@4 b1!2 b1@2 b1!2 b1@2 b1!2 b1@2 b1!2]/2",
  AI: "b1@2 b1!2 b1@2 b1!2 b1@2 e2@2 e2@2 c2@2", AJ: "b1 e2!2 c2 b1 c2 b1 a1",
  AK: "d2@2 c2@2 g1@2 ~@2 e2@2 e2!2 e2@2 e2!2", AL: "e2@2 e2!2 e2@2 e2!2 c2@2 c2!2 c2@2 c2!2",
  AM: "c2@2 c2!2 d2@2 d2!2 e2@2 e2!2 e2@2 e2!2", AN: "e2@2 e2!2 e2@2 e2!2 d2@2 d2!2 d2@2 d2!2",
  AO: "d2@2 d2!2 d2@2 d2!2 b1@2 b1!2 b1@2 b1!2", AP: "b1@2 b1!2 b1@2 b1!2 e2@2 e2!2 e2@2 e2!2",
  AQ: "c2@2 d2@2 d2@2 d2!2 e2@2 e2!2 e2@2 e2!2", AR: "c2@2 d2@2 d2@2 d2!2 a1@2 a1!2 a1@2 a1!2",
  AS: "a1@2 a1!2 a1@2 a1!2 a1@2 a1!2 a1@2 a2@2", AT: "b2@2 c3@2 b2@2 g2@2 f2@2 f2!2 f2@2 f2!2",
  AU: "f2@2 f2!2 f2@2 f2!2 g2@2 g2!2 g2@2 g2!2", AV: "e2@2 e2!2 g2@2 g2!2 a1@2 a1!2 a1@2 a1!2",
  AW: "e2@2 e2!2 g2@2 g2!2 e2@2 e2!2 e2@2 e2!2", AX: "d2@2 d2!2 d2@2 d2!2 e2@2 e2!2 e2@2 e2!2",
  AY: "c2@2 c2!2 c2@2 c2!2 a1@2 a1!2 a1@2 a1!2", AZ: "a1@2 a1!2 a1@2 a1!2 c2@2 c2!2 c2@2 c2!2",
  BA: "a1@2 a1!2 a1@2 a1!2 e2@2 e2!2 e2@2 e2!2", BB: "c2@2 c2!2 d2@2 d2!2 d2@2 d2!2 d2@2 d2!2",
  BC: "b1@2 b1!2 b1@2 c2!2 c2@2 c2!2 c2@2 d2@2", BD: "d2@2 d2!2 d2@2 e2@2 e2@2 e2!2 e2@2 e2!2",
  BE: "d2@2 d2!2 d2@2 e2@2 b1@2 b1!2 b1@2 b1!2", BF: "b1@2 c2@2 a1@2 b1@4 b1!2 b1@2 b1!2",
  BG: "b1@2 f2@2 e2@2 c2@2 b1@2 b1!2 b1@2 b1!2", BH: "b1@2 b1!2 b1@2 b1!2 b1@2 f2@2 e2@2 c2@2",
  BI: "b1 c2 b1 a1 d2 c2 g1 ~", BJ: "[e1@3 ~@5 e1@15 ~@9]/2",
// … 66 more lines

More by Iron Maiden