Strudelify

Aftershock

Van Halen

KeyG majorTempo138 bpm
0:00/0:00
// Aftershock — Van Halen
// 138 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 179 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(138/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 ~ A B C D C E F G H I J K L M N O P Q R S P T U V W X ~@2 Y Z AA@3 AB ~@2 AC AD AA@3 AE AF AG AH AI AJ AK AL AM ~@2
  Y Z AN@3 AO ~@2 AC AP AQ@3 AR AJ ~ AS AT AU AV AW AX N O P Q R S P T AY AZ BA BB BC BD BE BF BC BG BH BI BJ BK BL BM
  BN BO BP BQ BR BS BT BU@2 BV BW@2 BX BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL CM CJ CN ~ CO CP AX N O P Q R S P T AJ
  ~ CQ CR CS CT CU CV CW CX CY CZ DA DB DC DD DE DF DG DH DI DJ DK H DL H DM H DL H DN H DO H DM H DL
>`.pickRestart({
  A: "e4 ~@3 e5 ~@3 e5 ~@7", B: "~ [b5,e6]@4 ~@3", C: "e3 ~ b3 ~@5 b3 ~ a#3 ~@5", D: "a#3 ~ a3 ~@7 g3 ~@5",
  E: "a#3 ~ a3 ~@7 g3 ~ d4@3 ~", F: "~@2 b3 ~@3 g4 ~@3 a#3 ~@3 g4 ~", G: "~@2 a3 ~@3 g4@3 ~@3 a3 ~@3",
  H: "e3 ~@3 e4 ~@3 b3 ~@3 e4 ~@3", I: "a#3 ~@13 b3 ~", J: "~@2 f#3 ~@3 g3 ~@3 a3 ~@3 d4 ~",
  K: "~@2 e4 ~ g4 ~ a4@3 ~@3 a4 g4 e4 ~", L: "~@2 [d4,a4,d5,f#5]@3 ~ [a3,e4,a4,b4,e5]@10",
  M: "~@4 [g3,d4,g4,d5,g5] ~@3 [d4,a4,d5,f#5] ~@3 [a3,e4,a4,b4,e5] ~ e3 ~", N: "~@6 b3 ~ d4@3 ~ e4 ~ e3@2",
  O: "~@6 [d4,g4,d5,g5] ~@3 d4 ~ [a3,e4,a4,b4,e5] ~ e3 ~", P: "~@6 b3 ~ d4@3 ~@5",
  Q: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~ d4 ~@3 a3 ~", R: "[a3,e4,a4,b4,e5]@4 ~@8 e4 ~ a3@2",
  S: "~@6 [d4,g4,d5,g5] ~@3 d4 ~ [a3,e4,a4,b4,e5] ~@3", T: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~ d4 ~@5",
  U: "[c4,g4,b4,c5,e5] ~@14 [a3,e4,a4]", V: "[a3,e4,a4,b4,e5]@11 ~@5", W: "~@2 d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~@3",
  X: "~@2 [g3,d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~@3 [a3,e4,a4,d5] ~ b4 ~", Y: "~@2 b3 ~ d4 ~@5 e3 ~ e4 ~@3",
  Z: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~@5 e3 ~", AA: "[[e3,b3,e4,g4,b4,e5]@33 ~@5 d4 ~ b3 ~@5 e4 ~]/3",
  AB: "e3 ~@5 [d4,g4,d5,g5] ~@5 [d4,a4,d5,e5] ~@3", AC: "~@2 e4 ~ g4 ~@5 e4 ~ a4 ~@3",
  AD: "~@2 [d4,g4,d5,g5]@3 ~@3 [e4,a4,d5,f#5]@3 ~@3 e3 ~", AE: "b3 ~@5 [d4,g4,d5,g5] ~@5 [d4,a4,d5,e5] ~ b4 ~",
  AF: "~@14 [e4,e5] ~", AG: "[d4,a4,b4,d5,e5]@13 ~@3", AH: "~@6 e5@3 ~@3 [g4,c5] ~@3",
  AI: "[b3,e4,a4] ~@3 [b3,f#4,b4]@5 ~@3 [a3,e4,a4] ~@3", AJ: "[c4,g4,b4,c5,e5]@13 ~ [e4,e5] ~",
  AK: "~@6 [d4,a4,d5] ~ [d4,a4,d5] ~@5 [f#4,f#5] ~", AL: "[e3,e4,e5] ~@7 [g4,g5] ~ [f#4,f#5] ~@5",
  AM: "[d4,d5] ~@5 [d4,g4,d5,g5] ~@3 d4 ~ [a3,e4,a4,b4,e5]@3 ~", // D G5 Asus2
  AN: "[[e3,e4,g4,b4,e5]@33 ~@5 d4 ~ b3 ~@5 e3 ~, b3@35 ~@13]/3", AO: "e3 ~@5 [d4,g4,d5,g5] ~@5 [d4,a4,d5,e5] ~ a3 ~",
  AP: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~@7", AQ: "[[e3,e4,g4,b4,e5]@33 ~@5 d4 ~ b3 ~@5 e4 ~, b3@35 ~@13]/3",
  AR: "e4 ~@5 [g3,d4,g4,d5,g5] ~@5 [a3,e4,a4,b4,e5]@3 ~", AS: "[a3,e4,a4] ~@5 e5@3 ~@5 [f#4,b4] ~",
  AT: "[b3,e4,a4] ~@11 b3 ~ b3 ~", AU: "[c4,g4,c5]@5 ~@7 [c4,g4] ~@3", AV: "[d4,a4]@4 ~@4 [a3,e4]@3 ~ g3 ~@3",
  AW: "~@2 d4@3 ~ e5@5 ~@5", AX: "~@2 [g3,d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~@5 e3 ~", AY: "[c4,g4,b4,c5,e5]@11 ~@5",
  AZ: "~@8 c#5 ~ c#4 ~@5", BA: "[d4,a4]@5 ~@7 d4 ~ d4 ~", BB: "~@10 d#4 ~ d#4 ~@3", BC: "~@10 [c#5,f#5]@3 ~@3",
  BD: "c#4@9 ~ [g#4,b4,e5] ~@3 f#4 ~", BE: "[f#4,b4,e5] ~@3", BF: "[c#5,f#5] ~@5 [c#5,f#5]@3 ~ e5 ~ b4 ~ g4 ~",
  BG: "c#4@4 ~@2 [g#4,b4,e5,g#5]@3 ~@5 f#4 ~", BH: "[f#4,b4,e5]@3 ~@3 [f#4,b4,e5]@3 ~@5 f#4 ~",
  BI: "~@2 b4 ~ f#4 ~@5 e5 ~ d#5@3 ~", BJ: "[g3,d4,g4,d5,g5]@11 ~@5", BK: "~@6 [g4,d5,g5]@3 ~ f#5 ~ e5 ~ d5 ~",
  BL: "~@4 [e4,g4,d5]@4 ~@2 [e4,g4,d5] ~ [e4,g4,d5] ~@3", BM: "c4 ~@3 g4 ~@3 f#4 ~@7",
  BN: "~@6 [d5,g5]@3 ~ a4 ~ d5 ~ d5 ~", BO: "f#3@11 ~@5", BP: "~ [e4,g4,d5]@4 ~@3", BQ: "e4 ~@3 b4 ~@3 e5 ~@3 b5 ~@3",
  BR: "b5 ~@3 b5 ~@11", BS: "~@2 [f#4,d5]@5 ~@5 b5 ~@3", BT: "b5 ~@3 b5 ~@5 a4 ~@5",
  BU: "[~@2 g5@9 ~ [g6,b6]@7 ~ b6@4 ~@2 b6!2 [d5,g5]@3 ~]/2", BV: "~@6 g6 d6 ~@3 d6 g6 ~@3",
  BW: "[d6 ~@2 d6 ~@3 d6 ~@2 b5 a5 ~@2 d5 a5@2 ~@2 a5 b5 ~@4 g6@4 ~@3]/2", BX: "a5 ~@3 g5@5 g4 a5@2 ~@4",
  BY: "a5@4 ~@2 e6 g5 ~@2 b5 g5 ~@2 b5 e6", BZ: "~@2 g5 e5 ~@2 b5 g5 ~@2 f#5 b5 ~@2 a4 g4",
  CA: "~@2 e5 d5 b4 ~@7 [b4,b5] ~@3", CB: "[e5,e6] ~@3 [d5,d6] ~@3 [e5,e6]!2 ~@2 [f#5,f#6]!2 ~@2",
  CC: "[g5,g6]!2 ~@4 [g5,g6]!2 ~@2 [a5,a6]!2 ~@2 [b5,b6]!2", // G A B
  CD: "~@2 [f#5,f#6]!2 ~@2 [g5,g6]!2 ~@2 [f#5,f#6] ~@3 [d5,d6] ~", // F# G F# D
  CE: "~@2 [d5,d6] ~@3 [e5,e6] ~@3 [e5,e6] ~@3 [d5,d6] ~", // D E D
  CF: "~@2 [e5,e6]!2 ~@2 [e5,e6]!2 ~@2 [f#5,f#6]!2 ~@2 [g5,g6]!2", // E F# G
  CG: "~@2 [a5,a6]!2 ~@2 [f#5,f#6] [g5,g6] ~@2 [f#5,f#6] ~@3 [d5,d6] ~", // A F# G F# D
  CH: "[e3,e4,b4,e5,g#5]@3 ~@5 e3 ~ [d5,g5,b5] ~@3 [e5,a5,c#6] ~", // E G A
  CI: "~@2 [e5,a5,d6]@3 ~@3 [g4,c5,e5] ~@3 [a4,d5,g5] ~ f#5 ~", CJ: "~@4 [e3,e4,b4,e5,g#5]@3 ~ e3 ~@3 [d5,g5,b5] ~@3",
  CK: "[e5,a5,d6] ~@3 [d4,g4] ~@3 [a4,d5,f#5] ~@3 [g4,c5,e5] ~ e3 ~", // Dsus2 G5 D C
  CL: "~@4 [e3,e4,b4,e5,g#5]@3 ~@3 [d5,g5,b5] ~@3 [e5,a5,c#6] ~", // E G A
  CM: "~@2 [e5,a5,d6]@3 ~@3 [c5,e5] ~@3 [a4,d5,g5] ~ f#5 ~", // Dsus2 C Dsus4
  CN: "[e5,a5,d6] ~@3 [b4,e5] ~@3 [a4,d5,f#5] ~@3 [g4,c5,e5] ~ a3 ~", // Dsus2 E5 D C
  CO: "~ [f#3,e4,a4,c#5]@4 ~@2 [b3,e4,a4,c#5], ~ b3@6 ~", CP: "~@4 b3 ~ b3 ~ [b3,f#4,b4] ~@3 [b3,f#4,b4] ~@3",
  CQ: "[a3,e4] ~ a4 ~@3 e5@3 ~@5 [f#4,b4] ~, a4 ~@7", CR: "~@2 [b3,f#4,b4] ~@3 b3 ~ b3 ~ b3 ~@3 [b3,f#4,b4] ~",
  CS: "~@15 [d4,a4,d5]", CT: "[d4,b4,c5,d5,e5]@13 ~ d#4 ~", CU: "[d#4,f#4,b4]@4 ~@6 b4 ~@3 e3 ~",
  CV: "[e3,e4,b4]@4 ~@2 b4 ~@3 g5 ~@3 [c4,g4,c5] ~", CW: "[c4,g4,b4,c5,e5]@3 ~@12 [d4,a4,d5]",
  CX: "~@4 d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ a3 ~", CY: "[d#4,f#4,b4] ~@13 [e4,b4,e5] ~", CZ: "[b4,e5]@4 ~@2 b4 ~@3 b5 ~@5",
  DA: "c4 ~ [c4,g4,b4,c5,e5] ~@9 [c4,g4,b4,c5,e5]@3 ~", DB: "~@4 d4 ~ d4 ~ [d4,a4,b4,d5,e5]@3 ~@5",
  DC: "~@4 d#4 ~ d#4 ~@5 [d#4,f#4,b4]@3 ~", DD: "e3 ~@5 [g4,g5]!2 ~@4 [e4,e5] ~@3",
  DE: "[e4,e5] ~ c4 ~ c4 ~ c4 ~@5 [c4,g4,c5] ~ c4 ~", DF: "d4 ~@7 [d4,a4,d5]@3 ~@5",
  DG: "~@2 [d#4,f#4,b4] ~ d#4 ~ d#4 ~@5 [d#4,f#4,b4]@3 ~", DH: "~@6 [e4,b4,e5] ~@5 [d4,a4,d5]@3 ~",
  DI: "~@2 c4 ~ c4 ~ c4 ~ [c4,g4,c5]@3 ~@5", DJ: "d4 ~ [d4,a4,d5] ~@9 [d4,a4,d5]@3 ~",
  DK: "[d4,f#4,b4]@2 ~@4 [d4,f#4,b4]@2 ~@4 [d4,f#4,b4] ~@3", DL: "a#3 ~@3 e4 ~@3 e4 ~@3 a3 ~@3",
  DM: "a#3 ~@3 e4 ~@5 g3 ~@5", DN: "a#3 ~@3 e4 ~@3 e4 ~@3 f#4 ~@3", DO: "a#3 ~@3 e4 ~@5 g3 ~@3 d4 ~",
})).s("gm_piano").gain(0.41).pan(0.2)

// chords · piano
const piano_2 = note(`<
  A@2 B ~ C D C E F G H I J K L M N O P Q R O P S T ~ U@2 V@3 W ~@2 X Y Z@3 AA ~@2 X AB AC AD AE AF ~ AG AH O AI@3 W ~@2
  X O AJ@3 AK ~@2 X AL ~ AM AN AO AP AQ AR AS N O P Q R O P S ~ AT AU AV AW AX AY AZ BA BB BC BD ~ BE BF BG BH BI BJ BK
  BL BM BN ~@2 BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CE CI ~ CJ AS N O P Q R O P CK ~ CL CM CN CO
  CP CQ CR CS CT CU CV CW CX CY CZ DA DB DC DD DE DF DG H DH H DI H DH H DJ H DK H DI H DH
>`.pickRestart({
  A: "[~@2 b4 ~@3 g5 ~@5 a#4@15 ~@5]/2", B: "~@6 g5 ~@5 a#4@4, ~@2 b4@13 ~", C: "~@4 e4 ~ g4 ~@5 e4 ~ g4 ~",
  D: "~@4 e4 ~ g4@3 ~@3 a3 ~ d4 ~", E: "~@4 e4 ~ g4@3 ~@7", F: "e3 ~@3 e4 ~@3 b3 ~@3 e4 ~@3",
  G: "a#3 ~@3 e4 ~@5 g3 ~@3 d4 ~", H: "~@2 b3 ~@3 g4 ~@3 a#3 ~@3 g4 ~", I: "~ [a3,e4]@4 ~@3",
  J: "a3 ~@3 g3 ~@3 a3 ~@3 b3 ~@3", K: "[d4,f#5] ~@9 [b4,f#5] ~@5", L: "[d4,g4,d5,g5] ~@15",
  M: "~@2 [g3,d4,g4,d5,g5] ~@3 [g3,d4,g4,d5,g5] ~@9", N: "[e3,b3,e4,g4,b4,e5] ~@3",
  O: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5] ~@7", P: "[e3,b3,e4,g4,b4,e5]@4 ~@8 e4 ~ e3@2",
  Q: "~@6 [d4,g4,d5,g5] ~@5 [d4,a4,d5,e5] ~@3", R: "~@6 b3 ~ d4@3 ~@5", S: "~@6 [d4,g4,d5,g5] ~@5 [d4,a4,d5,e5] ~ b4 ~",
  T: "~@2 [b4,e5]@8 ~@4 [a3,e4,a4] ~", // E5 A5
  U: "[[d4,a4,d5,f#5] ~@13 [d4,a4,f#5]@3 ~@5 [g3,d4,g4,d5,g5] ~@9, ~@14 d5@7 ~@11]/2", // D G5
  V: "[[e3,b3,e4,g4,b4,e5]@33 ~@5 d4 ~ b3 ~@5 e3 ~]/3", W: "e3 ~@5 [d4,g4,d5,g5] ~@5 [a3,e4,a4,b4,e5] ~@3",
  X: "~@2 b3 ~ d4 ~@5 e3 ~ e4 ~@3", Y: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5]@3 ~@3 a3 ~",
  Z: "[[a3,e4,a4,b4,e5]@33 ~@5 g4 ~ e4 ~@5 a4 ~]/3", AA: "e4 ~@5 [d4,g4,d5,g5] ~@5 [a3,e4,a4,b4,e5] ~@3",
  AB: "~@2 [d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5]@3 ~@5", AC: "[c4,g4,b4,c5,e5]@13 ~@3", AD: "~@14 e3 ~",
  AE: "[a3,e4,a4]@4 ~@6 b4 ~@3 [f#4,b4] ~", AF: "~@2 [b3,f#4,b4] ~@11 [b3,f#4,b4] ~",
  AG: "d4 ~ d4 ~ d4 ~@5 [d4,a4,d5] ~ [d4,a4,d5] ~@3", AH: "~@2 e4 ~ e4 ~ e4 ~@5 [e4,e5] ~ [e4,e5] ~",
  AI: "[[e3,e4,g4,b4,e5]@33 ~@5 d4 ~ b3 ~@5 e4 ~, b3@35 ~@13]/3", // Em
  AJ: "[[a3,a4,b4,e5]@33 ~@5 g4 ~ e4 ~@5 a4 ~, e4@35 ~@13]/3", AK: "g4 ~@5 [d4,g4,d5,g5] ~@5 [a3,e4,a4,b4,e5]@3 ~",
  AL: "~@2 [g3,d4,g4,d5,g5]@3 ~@3 [d4,a4,d5,f#5]@3 ~@5", AM: "[d4,a4,b4,d5,e5]@15 ~",
  AN: "~@2 a4 ~ b4 ~@5 b4 ~ [g4,c5] ~@3", AO: "~@2 [b3,f#4,b4] ~ [b3,f#4,b4]@5 ~@7", AP: "~@10 [c4,g4] ~@3 [d#4,a#4] ~",
  AQ: "~@6 [a#3,f4] ~@7 [d4,a4,d5]@2", AR: "~@7 d6", AS: "~@6 [g3,d4,g4,d5,g5] ~@3 d4 ~ [a3,e4,a4,b4,e5] ~@3",
  AT: "[c#4,e4,a4,c#5]@5 ~@7 c#4 ~ c#4 ~", AU: "~@8 d4 ~ d4 ~@5", AV: "[d#4,b4]@5 ~@9 [e3,e4,b4]!2",
  AW: "[e4,b4,e5]@9 ~@5 [b4,e5] ~", AX: "~@12 [g#4,b4,e5] ~@3", AY: "~@6 [f#4,b4,e5]@5 ~@3 f#4 ~",
  AZ: "~@2 b4 ~ f#4 ~@11", BA: "[e3,e4,b4,e5]@5 ~@9 [b4,e5] ~", BB: "~@10 [g#4,b4,e5,g#5]@3 ~@3",
  BC: "~@4 [f#4,b4,e5] ~@5 [f#4,b4,d#5]@3 ~@3", BD: "[c#5,f#5] ~@5 [d#5,f#5]@3 ~@7", BE: "f#3@11 ~@5",
  BF: "[e3,b3]@13 ~ a3 ~", BG: "~@2 e4 ~@3 d4 ~@3 g4@4 ~@2", BH: "g3@11 ~@5", BI: "~@6 g5@3 ~ f#5 ~ e5 ~ d5 ~",
  BJ: "[e3,b3]@13 ~ e4 ~", BK: "~@2 b4 ~@3 e5 ~@3 b5 ~@3 b5 ~", BL: "~@2 b5 ~@3 [a3,e4,a4]@10", BM: "~@10 b5 ~@3 b5 ~",
  BN: "~@2 b5 ~@3 [a3,e4,a4]@3 ~@3 g4@4", BO: "b4 d6@3 ~@4 d6 g6 ~@4 d6 g6", BP: "~@2 g6 ~@2 g6 ~@2 d6 ~@3 g5 e5 ~@2",
  BQ: "~ d5 g5 ~@2 e6 g6@2 ~@7 g5", BR: "~@2 a5 a#5 ~@9 d6 a5 ~", BS: "~@8 b5 e6 ~@2 e5 g5 ~@2",
  BT: "b5 e6 ~@2 b5 e6 ~@2 b5 b4 ~@2 a4 ~@3", BU: "a4 b4 ~@3 d5@4 ~@5 [d5,d6] ~",
  BV: "~@2 [e5,e6]!2 ~@2 [e5,e6] ~@3 [f#5,f#6] ~@3 [g5,g6]!2", BW: "~@2 [f#5,f#6]@3 ~@3 [g5,g6] ~@3 [a5,a6]!2 ~@2",
  BX: "[b5,b6] [f#5,f#6] ~@2 [f#5,f#6]!2 ~@2 [g5,g6] ~@3 [e5,e6] ~@3", // B F# G E
  BY: "[f#5,f#6] ~@3 [e5,e6] ~@3 [e5,e6] ~@3 [b4,b5] ~@3", BZ: "[e5,e6] ~@3 [d5,d6] ~@3 [e5,e6]!2 ~@2 [f#5,f#6]!2 ~@2",
  CA: "[g5,g6]!2 ~@2 [a5,a6]!2 ~@2 [g5,g6] ~@3 [e5,e6] ~@3", CB: "~@4 [e3,e4,b4,e5,g#5]@3 ~@5 [d5,g5,b5] ~@3",
  CC: "[e5,a5,c#6] ~@5 [g4,c5,e5] ~@3 [a4,d5,g5] ~@5", CD: "[e3,e4,b4,e5,g#5]@3 ~@7 [d5,g5,b5] ~@3 [e5,a5,d6] ~",
  CE: "~@2 [e5,a5,c#6] ~@3 [a4,d5,f#5]!2 ~@2 [g4,c5,e5] ~@5", CF: "[e3,e4,b4,e5,g#5]@3 ~@5 [d4,g4] ~@3 [d5,g5,b5] ~@3",
  CG: "[e5,a5,c#6] ~@5 [c5,e5] ~@3 [d5,g5] ~@5", CH: "[e3,e4,b4,e5,g#5]@3 ~@7 [d5,g5,b5] ~@3 [e5,a5,c#6] ~",
  CI: "[b3,f#4,b4,d#5]", CJ: "~@2 [b3,f#4,b4,d#5] ~@7 [b3,f#4,b4] ~@3 [b3,f#4,b4] ~",
  CK: "~@6 [d4,g4,d5,g5] ~@5 [a3,e4,a4,b4,e5]@3 ~", CL: "[d4,a4,b4,d5,e5]@11 ~@5", CM: "~@4 b4 ~@5 b4 ~ [g4,c5] ~@3",
  CN: "[b3,e4,a4] ~@3 [f#4,b4] ~@7 [a3,e4,a4] ~@3", CO: "[b3,g4,c5]@13 ~ [d4,a4,d5] ~", CP: "~@15 d#4",
  CQ: "~@6 d5@3 ~@3 f#4 ~@3", CR: "~@8 e5 ~@3 e5 ~@2 [c4,g4,c5]", CS: "~@4 c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ [d4,a4,d5] ~",
  CT: "[d4,a4,b4,d5,e5]@3 ~@13", CU: "~@2 d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~@2 [e4,b4,e5]",
  CV: "[e4,b4,e5]@4 ~@4 e5 ~@3 e6@3 ~", CW: "~@4 c4 ~ c4 ~ [c4,g4,b4,c5,e5]@3 ~@5",
  CX: "d4 ~ [d4,a4,b4,d5,e5] ~@9 [d4,a4,b4,d5,e5]@3 ~", CY: "d#4 ~ [d#4,f#4,b4] ~@5 [d#4,f#4,b4]@3 ~@5",
  CZ: "~@2 [e4,e5]@3 ~@3 [g4,g5]@3 ~@3 [d4,d5] ~", DA: "~@8 [c4,g4,c5]@3 ~@5",
  DB: "~@2 [d4,a4,d5] ~ d4 ~ d4 ~@5 [d4,a4,d5]@3 ~", DC: "d#4 ~@7 [d#4,f#4,b4]@3 ~@5",
  DD: "[e3,e4] ~ [e4,b4,e5]@3 ~@3 [e4,b4,e5]@3 ~@5", DE: "[c4,g4,c5] ~@11 [c4,g4,c5]@3 ~",
  DF: "~@4 d4 ~ d4 ~ [d4,a4,d5]@3 ~@5", DG: "~@3 [d4,f#4,b4]@2 ~@4 [d4,f#4,b4]@2 ~@3 [d4,f#4,b4] ~",
  DH: "~@2 a3 ~@3 g4 ~@3 g3 ~@3 d4 ~", DI: "~@2 a3 ~@3 g4@3 ~@3 d4@3 ~", DJ: "~@2 a3 ~@3 c4 ~@3 d4 ~@3 g4 ~",
  DK: "~@2 a3 ~@3 g4@3 ~@3 a3 ~@3",
})).s("gm_piano").gain(0.41).pan(0.8)

// bass · electric bass pick
const bass = note(`<
  ~@14 A B C D C E F G C B H I J K L@2 M N L@2 O N P@2 Q N L@2 R G S T U V S W X ~ L Y O N L Y M N P Z Q N L AA R G S AB
  AC AD AE AF AG ~ C D C E F G C B H I J AH X I AI AJ X I AI AK AL AM AN AO AL AM AP AQ AR AS AT AU AV AW AX AY AV AW AX
  AZ S T U BA S BB BC BD BC BE BC BD BC BF AI BG BH BI C D C E F G C B S T AC BJ H J BK BL BM J BK BL BM J BK BL BM J BK
  BL BM J BN ~@14
>`.pickRestart({
  A: "g2 ~ d3 ~@3 a2@10", B: "~@2 g2 ~ g2 ~ g2 ~ d3 ~ d3 ~ a2 ~@3", C: "e2 ~ e2 ~ e2 ~ b2 ~ d3@3 ~ e3 ~ e2@2",
  D: "~@2 g2 ~ g2 ~ g2 ~ d3 ~ d3 ~ g2 ~ g2 ~", E: "~@2 g2 ~ g2 ~ g2 ~ d3 ~ d3 ~ d3 ~ d3 ~",
  F: "a2 ~ a2 ~ a2 ~ a2 ~ d3 ~ d3 ~ e3 ~ a2@2", G: "~@2 g2 ~ g2 ~ g2 ~ d3 ~ d3 ~ a2 ~ a2 ~",
  H: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3!2", I: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~",
  J: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~", K: "d3 ~ g2 ~ g2 ~ g2 ~ d3@3 ~ a2@3 ~",
  L: "e2 ~ e2 ~ e3 ~ e3 ~ d3 ~ d3 ~ b2 ~ b2 ~", M: "e2 ~ b2 ~ d3 ~ d3 ~ b2 ~ e2 ~ e3 ~ e2 ~",
  N: "e2 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3@3 ~", O: "e2 ~ b2 ~ d3 ~ d3 ~ b2 ~ e2 ~ e3 ~ e3 ~",
  P: "a2 ~ a2 ~ a3 ~ a3 ~ g3 ~ g3 ~ e3 ~ e3 ~", Q: "a2 ~ e3 ~ g3 ~ g3 ~ e3 ~ a2 ~ a3 ~ a3 ~",
  R: "e2 ~ b2 ~ d3 ~ d3 ~ b2 ~ e2 ~ e3 ~ e3@2", S: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ e3 ~",
  T: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ b2 ~ a#2 ~", U: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ c3 ~ b2 ~",
  V: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ b2 ~", W: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ f#3 ~",
  X: "e3 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~", Y: "e2 ~ e2 ~ b2 ~ b2 ~ d3 ~ d3 ~ e3 ~ e3 ~",
  Z: "a2 ~ a2 ~ e3 ~ e3 ~ g3 ~ g3 ~ a3 ~ a3 ~", AA: "e2 ~ e3 ~ b2 ~ b2 ~ d3 ~ d3 ~ e3 ~ e3 ~",
  AB: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ g2 ~ g#2 ~", AC: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ c3 ~ b2@2",
  AD: "~@2 b2 ~ b2 ~ e2 ~ f2 ~ f#2 ~ a2 ~ b2 ~", AE: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ d#3 ~",
  AF: "d3@4 ~@2 a#2 ~ a2@3 ~ g2 ~ d3@2", AG: "~@2 d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~",
  AH: "d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3!2", AI: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
  AJ: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 c#3 e3 f#3", AK: "b2 ~ b2 ~ b2 ~ g#3@3 ~ f#3 ~ b2 ~ a2 ~",
  AL: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ a2 ~", AM: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~",
  AN: "e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ a2 ~", AO: "c3 ~ c3 ~ c3 ~ c3 ~ d3 ~ d3 ~ d3 ~ d3 ~",
  AP: "e2 ~ e2 ~ e2 ~ e2 ~ e3 ~ e3 ~ e3 ~ e3 ~", AQ: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ d3 ~ c3 ~ b2 ~",
  AR: "a2 ~ a2 ~ a2 ~ a2@3 ~ a3 ~ a2 ~ a2 ~", AS: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ g2 ~",
  AT: "a2 ~ a2 ~ a2 ~ a2@3 ~ a2 ~ a2 ~ a2 ~", AU: "a2 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3@3 ~",
  AV: "e2 ~ e2 ~ e2 ~ b2 ~ d3 ~ d3 ~ e3 ~ e2 ~", AW: "e2 ~ g2@3 ~ g2 ~ d3 ~ d3!3 ~ e3 ~",
  AX: "e2 ~ e2 ~ e2 ~ b2 ~ d3 ~ d3 ~ e3 ~ e2@2", AY: "~@2 g2 ~ g2 ~ g2 ~ d3 ~ d3 ~ g2 ~ a2 ~",
  AZ: "~@2 g2@3 ~ g2 ~ d3 ~ d3 ~ d3 ~ e3 ~", BA: "b2 ~ b2 ~ b2 ~ e2 ~ f2 ~ f#2 ~ a2 ~ b2 ~",
  BB: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ g3@3 ~", BC: "e3 ~ e3 ~ e2@3 ~@9", BD: "~@6 c3 ~ c3 ~ d3!3 ~ d3!2",
  BE: "~@6 d3!3 ~ c3!3 ~ c3!2", BF: "~@4 d4 ~ d3!3 ~ c3!3 ~ c3!2", BG: "b2 ~ e2@3 ~ f2 ~ f#2 ~ a2 ~ b2 ~ d3 ~",
  BH: "d3 ~ b2 ~ b2 ~ b2 ~ b3 ~ b3!3 ~ b3 ~", BI: "~@2 g2@3 ~ g2 ~ d3 ~ d3 ~ a2 ~ a2 ~",
  BJ: "~@2 b2 ~ b2 ~ b2 ~ e2 ~ f2 ~ f#2 ~ a2 ~", BK: "d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~",
  BL: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ d3 ~", BM: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
  BN: "b2@2 ~ b2@2 ~ b2@2 ~ b2@2 ~ b2 ~ b2 ~",
})).s("gm_electric_bass_pick").gain(0.41)

// bass · fretless bass
const bass_2 = note(`<
  ~@14 A B C D C E F G C B H I J K L@2 M N L@2 O N P@2 Q N L@2 R G S T U V S W X ~ L Y O N L Y M N P Z Q N L AA R G S AB
  AC AD AE AF AG ~ C D C E F G C B H I J AH X I AI AJ X I AI AK AL AM AN AO AL AM AP AQ AR AS AT AU AV AW AX AY AV AW AX
  AZ S T U BA S BB BC BD BC BE BC BD BC BF AI BG BH BI C D C E F G C B S T AC BJ H J BK BL BM J BK BL BM J BK BL BM J BK
  BL BM J BN ~@14
>`.pickRestart({
  A: "g1 ~ d2 ~@3 a1@10", B: "~@2 g1 ~ g1 ~ g1 ~ d2 ~ d2 ~ a1 ~@3", C: "e1 ~ e1 ~ e1 ~ b1 ~ d2@3 ~ e2 ~ e1@2",
  D: "~@2 g1 ~ g1 ~ g1 ~ d2 ~ d2 ~ g1 ~ g1 ~", E: "~@2 g1 ~ g1 ~ g1 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  F: "a1 ~ a1 ~ a1 ~ a1 ~ d2 ~ d2 ~ e2 ~ a1@2", G: "~@2 g1 ~ g1 ~ g1 ~ d2 ~ d2 ~ a1 ~ a1 ~",
  H: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2!2", I: "c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~",
  J: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", K: "d2 ~ g1 ~ g1 ~ g1 ~ d2@3 ~ a1@3 ~",
  L: "e1 ~ e1 ~ e2 ~ e2 ~ d2 ~ d2 ~ b1 ~ b1 ~", M: "e1 ~ b1 ~ d2 ~ d2 ~ b1 ~ e1 ~ e2 ~ e1 ~",
  N: "e1 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@3 ~", O: "e1 ~ b1 ~ d2 ~ d2 ~ b1 ~ e1 ~ e2 ~ e2 ~",
  P: "a1 ~ a1 ~ a2 ~ a2 ~ g2 ~ g2 ~ e2 ~ e2 ~", Q: "a1 ~ e2 ~ g2 ~ g2 ~ e2 ~ a1 ~ a2 ~ a2 ~",
  R: "e1 ~ b1 ~ d2 ~ d2 ~ b1 ~ e1 ~ e2 ~ e2@2", S: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ e2 ~",
  T: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ b1 ~ a#1 ~", U: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ c2 ~ b1 ~",
  V: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ a1 ~ b1 ~", W: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ f#2 ~",
  X: "e2 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~", Y: "e1 ~ e1 ~ b1 ~ b1 ~ d2 ~ d2 ~ e2 ~ e2 ~",
  Z: "a1 ~ a1 ~ e2 ~ e2 ~ g2 ~ g2 ~ a2 ~ a2 ~", AA: "e1 ~ e2 ~ b1 ~ b1 ~ d2 ~ d2 ~ e2 ~ e2 ~",
  AB: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ g1 ~ g#1 ~", AC: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ c2 ~ b1@2",
  AD: "~@2 b1 ~ b1 ~ e1 ~ f1 ~ f#1 ~ a1 ~ b1 ~", AE: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ d#2 ~",
  AF: "d2@4 ~@2 a#1 ~ a1@3 ~ g1 ~ d2@2", AG: "~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  AH: "d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2!2", AI: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
  AJ: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 c#2 e2 f#2", AK: "b1 ~ b1 ~ b1 ~ g#2@3 ~ f#2 ~ b1 ~ a1 ~",
  AL: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ a1 ~", AM: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~",
  AN: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ a1 ~", AO: "c2 ~ c2 ~ c2 ~ c2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
// … 65 more lines

More by Van Halen