Strudelify

Hail, Hail

Pearl Jam

KeyG minorTempo120 bpm
0:00/0:00
// Hail, Hail — Pearl Jam
// 120 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 overdriven guitar (copy of ch 1 distortion guitar)
// note: Full arrangement: all 97 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · distortion guitar
const distortion_guitar = note(`<
  A B C D@3 E@2 F@3 G H I J@2 K@2 L M@3 N O P@2 Q R S T@3 U V@2 W X@2 Y Z@2 AA AB AC AD@3 AE@2 AF AG ~@20 AH@3 AI AJ
  AK@2 AL AM AN@4 AO@2 AP@4 ~@7
>`.pickRestart({
  A: "~@12 [d3,a3]@5 ~@2 [d3,a3]@2 ~ [d3,a3]@2 ~@2 [f3,c4]@5 ~", // D5 F5
  B: "~ [f3,c4]@2 [f3,c4]@2 ~@3 [db3,ab3]@6 [db3,ab3]@2 ~ [db3,ab3]@2 ~@2 a3@5 ~ [d3,a3]@2 ~ [d3,a3]@2, ~@20 d3@5 ~@7", // F5 Db5 D5
  C: "~@2 [g2,d3]@5 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 e3@5 ~ [a2,e3]@2 ~ [a2,e3]@2 ~@2 [c3,g3]@4, ~@14 a2@5 ~@9 a3@2 ~@2, ~@28 d3 ~@3", // G5 A5 C5
  D: "[~@2 [c3,g3]@2 ~@2 c3@2 ~@2 bb2@6 [bb2,e3]@3 ~@3 e3@2 ~ [c3,d3,a3]@2 ~ a3@3 ~ a3@2 ~@4 [f3,c4] ~@2 c4@2 ~ [f3,c4]@2 ~@2 [db3,ab3]@6 db3@3 db3@2 ~@2 d3@6 d3@3 ~ d3@2 ~@2 [g2,d3]@6 [g2,d3]@3 [g2,d3]@3 ~ [a2,e3]@5 ~ [a2,e3]@2, ~@5 g3@2 ~@2 e3@5 ~@7 bb2@2 ~@4 d3@3 ~ d3@2 ~@7 f3@3 ~@11 ab3@6 ~ a3@9 a3@2 ~@24]/3", // C5 Bbdim D7 F5 Db5 G5 A5
  E: "[~ [a2,e3]@3 ~ [c3,g3]@8 ~ [c3,g3]@2 ~@2 [bb2,e3]@8 ~ bb2@4 ~ bb2@4 ~ [bb2,f3]@2 ~@2 f3@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~@4 bb2@2 ~ bb2@3 ~@2 [c3,d3,a3]@2 ~, ~@5 a3@3 ~@10 f3@3 ~@6 f3@9 ~@4 bb2@2 ~@8 bb2@2 ~@12, ~@51 f3@9 ~@4]/2", // A5 C5 Bbdim Bb5 D7
  F: "[~ c3@2 ~ c3@2 ~@2 [g2,d3]@6 ~ g2@2 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 d3@2 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 [g2,d3]@2 ~ [g2,d3]@2 ~ [g2,d3]@3 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 [bb2,e3]@3 [bb2,e3]@2 ~ [bb2,e3]@2 ~@2 [g2,d3]@6 ~ [g2,d3]@3 ~ g2@2 ~ [g2,d3]@2 ~ g2@2 ~ g2@2 ~@2 [g2,d3]@2 ~ [g2,d3]@2 ~ d3@4, ~ g3@5 ~@8 d3@3 ~@7 g2@2 ~@46 d3@3 ~@4 d3@6 ~@7 g2@2 ~@2]/3", // G5 Bbdim G5
  G: "g2@2 ~ [g2,d3]@3 ~ [g2,d3]@2 ~ bb2@2 ~@2 bb2@2 bb2@2 ~@2 [g2,d3]@5 ~ [g2,d3]@3 [g2,d3]@3, ~@5 f3@4 ~@7", // G5
  H: "~@5 f3 ~ f3@3 [bb2,f3]@3 bb2@2 ~ bb2@2 ~@2 bb2@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~ g2@2 e3, ~ bb2@8 ~@4 f3@6 f3@3 ~@10", // Bb5
  I: "~ d3 ~ d3@2 ~@2 [bb2,f3]@6 ~ bb2@2 ~ [bb2,f3]@3 [bb2,f3]@3 ~ bb2@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2, ~ g2@4 ~@8 f3@3 ~@7 f3@3 ~@6", // Bb5
  J: "[~ [bb2,f3]@2 ~@2 f3@2 ~ [bb2,f3]@2 ~@2 f3@2 ~ f3@2 ~@2 g3@2 ~ g3 ~@2 [c3,g3,a3]@2 ~@2 [g2,d3]@5 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 [g2,d3]@2 ~ [g2,d3]@2 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 [g2,d3]@2 ~ [g2,d3]@2 ~ [g2,d3]@2 ~, ~@4 bb2@2 ~@5 bb2@2 ~ bb2@3 ~ c3@3 c3@3 ~@40]/2", // Bb5 Am7 G5
  K: "[~ [g2,d3]@2 [g2,d3]@2 ~@2 bb2@2 ~ bb2@2 ~@2 [bb2,f3]@2 ~@2 [g2,d3]@6 [g2,d3]@2 ~@2 [g2,d3]@2 ~ d3@4 g2@2 ~ [g2,d3]@2 ~ g2@2 ~ g2@2 ~@2 g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~@3 f3@2, ~@7 f3@5 ~@19 g2@2 ~@8 d3@6 d3@12 ~@2 bb2@2 ~]/2", // G5 Bb5 G5
  L: "~ [bb2,f3]@2 [bb2,f3]@2 ~@2 [g2,d3]@5 ~@2 [g2,d3]@2 ~ [g2,d3]@2 ~@2 [bb2,f3]@6 bb2@3 bb2@2, ~@27 f3@5", // Bb5 G5 Bb5
  M: "[~@2 bb2@2 ~ bb2@2 ~@2 bb2@2 ~ bb2@2 ~ bb2@2 ~@2 [c3,d3,a3]@2 ~ c3@2 ~@2 g3@3 ~@2 bb2@4 ~ bb2@2 ~@2 f3@2 ~ f3@2 ~@2 f3@2 ~ bb2@2 ~ bb2@2 ~ [bb2,f3]@3 f3@4 bb2@2 ~ [bb2,f3]@3 [bb2,f3]@3 ~ bb2@2 ~ bb2@3 bb2@2 ~@2 [d3,a3]@6 ~ a3@2 ~ [d3,a3]@3, ~@2 f3@6 f3@3 f3@6 ~@8 c3@3 ~@12 bb2@5 ~ bb2@2 ~ f3@6 ~@4 bb2@2 ~@11 f3@2 ~@2 f3@5 ~@8 d3@2 ~@5]/3", // D7 Bb5 D5
  N: "~ [f3,c4]@5 ~ f3@2 ~ f3@2 ~@2 [db3,ab3]@5 ~ [db3,ab3]@2 ~ [db3,ab3]@2 ~ d3@4 a3@2, ~@7 c4@5 ~@14 a3@3 ~@3", // F5 Db5
  O: "~ [d3,a3]@2 ~ [d3,a3]@2 ~@2 [g2,d3]@5 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 e3@5 ~ [a2,e3]@2 ~ [a2,e3]@2, ~@20 a2@5 ~@7", // D5 G5 A5
  P: "[~@2 [c3,g3]@5 ~@2 g3@2 ~ c3@2 ~@2 [bb2,e3]@7 ~ bb2@2 ~@2 f3@2 ~ [c3,d3,g3]@2 ~@2 [c3,g3]@2 [d3,a3]@3 ~@3 b3@4 ~ c4@2 ~ c4@2 ~@2 [db3,ab3]@5 ~ db3@2 ~, ~@8 c3@2 ~ g3@2 ~@14 bb2@3 ~@12 e3@4 ~@2 f3@5 ~@7 ab3@4]/2", // C5 Bbdim Csus2 C5 D5 Db5
  Q: "db3@2 ~@2 a3@3 ~ a3@3 ~ [d3,a3]@3 ~@2 [c3,d3]@3 ~@3 d3@2 ~ [g2,d3]@3 ~ [a2,b2,f3]@2, ~@3 d3@7 ~@7 g2@6 ~@9", // D5 Csus2 G5 Bm7b5
  R: "~@2 a2@2 ~ e3@3 [a2,e3]@2 ~@2 g3@6 [c3,g3]@2 ~ [c3,g3]@2 ~@2 [bb2,e3]@7, ~@4 a2@3 ~@4 c3@5 ~@16", // A5 C5 Bbdim
  S: "~ f3@4 ~ [bb2,f3]@5 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~@2 f3@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~ bb2@2 bb2@2, bb2@5 ~@13 bb2@2 ~@8 f3@4", // Bb5
  T: "[~@3 g3@9 ~@2 g2@5 ~ g2@2 ~ g2@2 ~ g2@2 ~@2 g2@2 ~ g2@2 ~ [g2,d3]@3 [g2,d3]@2 ~@2 [g2,d3]@2 ~ [g2,d3]@3 g2@2 ~ g2@2 ~@2 bb2@2 ~@2 bb2@2 ~ bb2@2 ~@2 g2@6 ~ d3@2 ~ g2@2 ~ [g2,d3]@3 [g2,d3]@2 ~@2 [g2,d3]@2 ~ g2@2 ~ [g2,d3]@2 ~, ~@2 c3@9 ~@2 d3@6 d3@16 ~@14 d3@6 ~@11 d3@6 ~ g2@2 ~ d3@3 ~@10 d3@3 ~@4]/3", // G5
  U: "g2@2 ~ g2@2 ~@2 [g2,d3]@2 ~ g2@2 ~@2 bb2@2 bb2@2 ~@2 bb2@2 ~@2 d3@5 ~ [g2,d3]@2, d3@5 ~@4 d3@2 ~@3 f3@5 f3@2 ~@2 g2@5 ~@4", // G5
  V: "[~ [g2,d3]@3 ~ bb2@5 ~ bb2@2 ~ bb2@2 ~@2 bb2@2 ~ [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~ [g2,d3]@3 ~ g2@2 ~ g2@2 ~@2 bb2@6 bb2@2 ~@2 bb2@2 ~ [bb2,f3]@2 ~ [bb2,f3]@3, ~@5 f3@15 ~@17 d3@3 d3@3 ~@2 f3@12 ~@7]/2", // G5 Bb5 G5 Bb5
  W: "[bb2,f3]@2 ~ [bb2,f3]@2 ~@2 bb2@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~@2 f3@2 [bb2,f3]@3 ~ [c3,g3]@3 ~ c3@2 ~ [c3,g3]@2, ~@6 f3@2 ~@8 bb2@2 ~@8 g3@3 ~@3", // Bb5 C5
  X: "[~@2 [g2,d3]@6 ~ [g2,d3]@2 ~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~@2 g2@2 ~ [g2,d3]@2 ~ [g2,d3]@3 g2@2 ~ g2@2 ~@2 g2@2 ~@2 [bb2,f3]@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~@2 [g2,d3]@6 ~ [g2,d3]@2, ~@11 d3@13 d3@3 ~@7 d3@9 ~@21]/2", // G5 Bb5 G5
  Y: "~ [g2,d3]@2 ~@2 g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~@2 g2@2 ~ g2@2 ~ g2@2 ~ g2@2, ~@4 d3@15 ~ d3@6 ~ d3@5", // G5
  Z: "[~@2 bb2@3 bb2@2 ~@2 bb2@2 ~ g2@5 ~ g2@2 ~ g2@2 ~@2 bb2@5 ~ bb2@2 ~ bb2@2 ~@2 f3@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~@2 [f2,g2,d3]@2 ~ g2@2 ~ [g2,d3]@3 ~, ~@2 f3@8 ~@2 d3@11 ~@2 f3@12 bb2@2 ~ f3@3 ~ f3@8 ~@4 d3@3 ~@5]/2", // G7 G5
  AA: "[bb2,f3]@6 ~ [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@2 ~@2 f3@2 ~ [bb2,f3]@2 ~ [bb2,f3]@2 ~@2 f3@2 ~ [bb2,f3]@2, ~@8 bb2 ~@4 bb2 ~@2", // Bb5
  AB: "~ [bb2,f3]@2 ~ [bb2,f3]@3 [bb2,f3]@2 ~ [bb2,f3]@3 [bb2,f3]@2 ~ [bb2,f3]@2 ~@2 [d3,a3]@5 ~ [d3,a3]@2 ~ [d3,a3]@2 ~", // Bb5 D5
  AC: "~ [e3,b3]@5 ~ [e3,b3]@2 ~ [f3,c4]@2 ~@3 [db3,ab3]@5 ~ ab3@2 ~ ab3@2 ~ [d3,a3]@5, ~@20 db3@2 ~ db3@2 ~@7", // E5 F5 Db5 D5
  AD: "[~ d3@3 d3@3 ~@2 d3@5 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@6 a2@3 ~@2 e3@3 ~ gb3@4 ~@2 [db3,ab3] ~@2 g3@2 ~ [b2,f3]@7 ~@2 [a2,e3,f3] ~@3 [a2,b2,f3] ~@2 [d3,a3]@3 ~ d3@2 ~ [d3,a3]@2 ~@2 [eb3,bb3] ~@2 [e3,b3]@2 ~@2 e3@2 ~ e3@2 ~@2 [db3,ab3]@5 ~ [db3,ab3]@2, ~ a3@5 ~@2 g2@5 ~@8 a2@5 ~@4 a2@3 ~@63, ~@22 e3@8 ~@36 a3@3 ~@12 b3@5 ~@10]/3", // G5 Db5 Bdim Fmaj7 Bm7b5 D5 Eb5 E5 …
  AE: "[~@2 ab3 ~@2 [d3,a3]@6 [d3,a3]@2 ~ [d3,a3]@2 ~@2 d3@6 g2@2 ~ [g2,d3]@2 ~@2 [a2,e3]@5 ~ [a2,e3]@2 ~@2 [a2,e3]@2 ~@2 [c3,d3,g3,a3]@3 ~@3 [c3,g3]@2 ~@2 [c3,g3]@2 ~ bb2@6, ~ db3@2 ~@15 g2@4 ~@42]/2", // D5 G5 A5 Csus2 C5
  AF: "~@3 [bb2,f3]@4 [bb2,f3]@4 ~ [bb2,f3]@3 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~ bb2@2 ~ f3@4, ~@16 f3@5 f3@6 ~ bb2@2 ~@2", // Bb5
  AG: "bb2@2 ~ [bb2,f3]@2 ~@2 bb2@2 ~@2 bb2 ~@20, ~@6 f3@3 ~ f3@2 ~@20", // Bb5
  AH: "[~@20 bb2@2 ~@2 bb2@3 bb2@2 ~@2 d3@6 ~ d3@2 ~ g2@2 ~ [g2,d3]@2 ~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~@3 g2@2 ~ g2@2 ~@2 bb2@2 bb2@2 ~@2 [bb2,f3]@2 ~ [g2,d3]@6 ~ d3@2 [g2,d3]@3 ~, ~@30 g2@6 ~ g2@2 ~@50 g2@2 ~@5, ~@31 e3@2 ~@7 d3@3 ~@3 d3@3 ~ d3@18 ~ d3@3 ~@2 f3@5 ~@17]/3", // G5 Bb5 G5
  AI: "~ [b2,f3]@6 ~@6 e3@3 ~@6 bb2@3 ~ [bb2,e3]@3 ~ [bb2,e3]@2, ~@10 bb2@11 ~@11, ~@17 e3@9 ~@6", // Bdim Bbdim
  AJ: "~ [bb2,e3]@2 ~ bb2 ~@5 [d3,a3]@5 [d3,a3]@2 ~ [d3,a3]@3 ~ [f3,c4]@5 ~@2 [f3,c4]@2 ~", // Bbdim D5 F5
  AK: "[[f3,c4]@2 ~@2 [db3,ab3]@5 ~ [db3,ab3]@2 ~ [db3,ab3]@2 ~@2 [d3,a3]@5 ~ [d3,a3]@2 ~ [d3,a3]@2 ~@2 [g2,d3]@5 ~ [g2,d3]@2 ~ [g2,d3]@2 ~@2 [a2,e3]@5 ~ [a2,e3]@2 ~ [a2,e3]@2 ~@2 [c3,g3]@5 ~ [c3,g3]@2]/2", // F5 Db5 D5 G5 A5 C5
  AL: "~ [c3,g3]@2 ~@3 f3@5 ~ f3@2 ~ [bb2,f3]@2 ~@2 a3@5 ~ [d3,a3]@2 ~ [d3,a3]@2 ~@2, ~@5 bb2@5 ~ bb2@2 ~@19, ~@6 e3@3 ~@9 d3@5 ~@9", // C5 Bb5 D5
  AM: "[f3,c4]@6 ~ [f3,c4]@2 ~ c4 ~@3 ab3@5 ~ [db3,ab3]@2 ~ [db3,ab3]@2 ~@2 a3@5, ~@9 f3@2 ~@2 db3@5 ~@8 d3@6", // F5 Db5
  AN: "[~ d3@2 ~ d3@2 ~@4 d3 ~@4 g2@2 ~ [g2,d3]@2 ~@2 e3@5 ~ [a2,e3]@2 ~ [a2,e3]@2 ~@2 a3 ~ [c3,d3] ~ [c3,g3]@3 ~ [c3,g3]@2 ~@2 [bb2,f3]@5 ~@2 [bb2,f3]@2 ~ [bb2,f3]@2 ~@2 [d3,a3]@6 ~ a3@2 ~ [d3,a3]@2 ~@2 [e3,b3]@5 ~ [f3,c4]@3 ~ [f3,c4]@2 ~@2 [b3,e4]@5 ~ [b3,e4]@5 ~@5 d4 g3 ~ g3@2 ~ g3@2 ~@2 d3@5 ~ [d3,a3]@2 ~ [d3,a3]@2 ~@2, ~ a3@5 ~@2 g2@5 ~ d3@2 ~@5 a2@5 ~@41 d3@2 ~@45 a3@6 ~@8]/4", // G5 A5 Csus2 C5 Bb5 D5 E5 F5 …
  AO: "[[f3,c4]@5 ~ [f3,c4]@2 ~ [f3,c4]@2 ~@2 [a3,e4]@5 ~ [a3,e4]@2 ~ [a3,e4]@2 ~@2 [g3,d4]@9 ~ g3@2 ~ [d3,a3]@5 ~ [d3,a3]@2 ~@2 d3@2 ~@2 c4@5 ~@4 f3@2, ~@35 d4@2 ~@11 a3@3 ~ f3@5 ~ f3@3 ~@3, ~@59 c4@5]/2", // F5 A5 G5 D5
  AP: "[~@2 [a3,e4]@6 ~ e4@2 ~ a3@2 ~ [g3,d4]@5 ~ [g3,d4]@2 ~@2 d4@2 ~@2 a3@5 a3@2 ~ a3@2 ~@2 [f3,c4]@5 ~ [f3,c4]@2 ~ [f3,c4] ~@2 [a3,e4]@5 ~ [a3,e4]@2 ~@2 [a3,e4]@2 ~ [g3,d4]@6 ~ [g3,d4]@2 ~ [g3,d4]@34 ~@18, ~@8 a3@2 ~ e4@2 ~@11 g3@2 ~@2 d3@11 ~@89, ~@29 b3@2 ~@97]/4", // A5 G5 F5 A5 G5
})).s("gm_distortion_guitar").gain(0.26)

// bass · electric bass finger · "(_|:-{| = Jeff Ament"
const bass = note(`<
  A B C D@2 E@2 F G H@2 I J K L M N@2 O P@3 Q R S@2 T@2 U V W@2 X Y@2 Z AA@2 AB AC AD@2 AE AF AG@4 AH AI AJ ~@46
>`.pickRestart({
  A: "~@16 d2@2 ~@3 d2@2 ~ d2@2 ~ f2@4 ~", B: "~ f2@2 ~ f2@3 ~ db2@5 ~@2 db2@2 ~ db2@2 ~ d2@4 ~@3 d2@2 ~@2",
  C: "~@2 g1@4 ~@2 g1@2 ~ a1@2 ~ c2@2 ~@2 d2@2 ~ c2@3 ~ g1 ~ c2@5",
  D: "[~@2 c2@2 ~@2 c2@3 bb1@5 ~@2 bb1@2 ~ bb1@2 ~@3 d2@6 ~ d2@2 ~@2 d2@3 f2@4 ~@3 f2@2 ~@2 f2@2 ~ db2@4 ~ db2@2 ~ d2@4]/2",
  E: "[~@4 c2@3 ~ d2@5 ~ g2@2 ~@2 [f2,g2] ~@6 a1@4 ~@2 a1@2 ~ a1@2 ~ c2@5 ~ c2@2 ~@2 c2@3 bb1@7 ~@2 bb1@4 ~]/2", // Fsus2
  F: "~ bb1 bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~",
  G: "~ bb1 ~@2 bb1@3 g1@6 ~@3 f1@2 ~ f1@2 ~@2 bb1@2 ~ g1@2 ~@2 g1@2",
  H: "[~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~@2 bb1@2 ~ bb1@2 ~@2 bb1@2 g1@7 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~@2 g1@2 ~]/2",
  I: "g1@2 ~ g1@2 ~@2 g1@3 bb1@2 ~@2 bb1@2 ~ bb1@3 g1@5 ~@2 g1@2 ~ g1@2",
  J: "~ bb1@5 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 bb1@2 ~@2 g1@2",
  K: "~ g1@2 ~ g1@3 bb1@6 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2",
  L: "~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~@2 c2@2 ~ c2@2 ~@2 c2@3 g1@4",
  M: "~@3 g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~",
  N: "[~ g1@2 ~ g1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ g1@6 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~@2 bb1@2 ~]/2",
  O: "bb1@2 ~ bb1@3 ~ g1@5 ~@2 g1@2 ~ g1@2 ~ bb1@6 ~ bb1@2 ~ bb1@2",
  P: "[~@2 bb1@2 ~ bb1@2 ~ bb1 ~@2 bb1 ~@2 bb1@2 ~@3 g1@2 g1@2 ~@2 g1@3 ~ bb1@6 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1 ~@2 bb1@2 ~ bb1@4 bb1@2 ~@3 c2@5 ~ c2@2 ~@2 d2@6 ~ d2@2 ~ d2@2 ~@2]/3",
  Q: "f2@6 ~ f2 ~@2 f2@2 ~@2 db2@4 ~@2 db2@2 ~ db2@2 ~@2 d2@4 ~",
  R: "~ d2@2 ~ d2@2 ~ g1@4 ~@2 g1@2 ~@2 a1@2 ~@2 c2@2 d2@3 ~ c2@2 a1@2 ~",
  S: "[~ c2@5 ~@2 c2@2 ~ c2@3 ~ bb1@5 ~@2 bb1@2 ~ bb1@3 ~@3 d2@5 ~@7 d2@2 ~ d2@3 ~ f2@3 ~ f2@2 ~ f2@2 ~@2 db2@2 ~]/2",
  T: "[~ db2@2 ~ d2@4 ~@2 a1@2 ~ c2@3 e2@2 ~@3 f2 ~@2 d2@3 c2@2 ~@2 a1@2 ~@5 a1@2 ~ a1@2 ~ c2@5 ~ c2@2 ~ c2@3 ~ bb1@7, ~@10 g2 ~@21]/2",
  U: "~@2 bb1@2 ~@3 bb1 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~",
  V: "~ bb1 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~@2 f1@5 ~@2 f1@2 ~ f1 ~@2 g1@2 ~ g1@2",
  W: "[~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@3 g1@6 ~ g1@2 ~ g1@2 ~@2 g1@6 g1@2 ~ g1@2 ~ g1@3 ~]/2",
  X: "g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@3 g1@5 ~@2 g1@2",
  Y: "[~ g1@2 ~ c2@7 ~@3 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1 ~@2 bb1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ bb1@6 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~]/2",
  Z: "bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1 ~@2 bb1@2 ~ c2@2 ~@2 c2@2 ~ c2@3",
  AA: "[~ g1@6 ~@2 g1@2 ~ g1 ~@2 g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@3 ~ g1@6 ~ g1@2]/2",
  AB: "~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1@2 ~@2 g1@2 ~ g1@2 ~ g1 ~@2 g1@2 ~ g1@2",
  AC: "~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~ g1@6 ~ g1@2 ~@2 g1@2 ~ bb1@6 ~",
  AD: "[bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ bb1@7 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2]/2",
  AE: "~@3 bb1 ~ bb1@3 ~ bb1 ~ c2@2 ~ c2@2 ~ c2@2 ~@2 d2@4 ~@2 d2@2 ~ d2@2",
  AF: "~ f2@5 ~ f2@2 ~ f2@3 db2@5 ~@2 db2@2 ~@2 db2@2 ~ d2@4 ~",
  AG: "[~@2 g1 ~@2 f1@2 g1 ~@4 a1@2 ~ c2@3 ~@2 d2 ~@3 f1@2 ~@2 [g1,a1] ~@2 a1@2 ~ c2@4 ~@3 c2@2 ~ c2@2 ~@2 bb1@6 ~ bb1@2 ~ bb1 ~@4 d2@5 ~@2 d2@2 ~@2 d2@2 ~ f2@3 ~@4 f2@2 ~ f2@3 db2@4 ~ db2@2 ~ db2@2 ~ d2@4 ~@2 c2@3 d2@2 ~@2 f2@3 g2@3 ~ f2@2 ~ d2@2 ~@2]/4", // Gsus2
  AH: "b1@2 ~@3 a1@2 ~@2 a1@2 ~ c2@5 ~@2 c2@2 ~ c2@3 ~ bb1@6",
  AI: "~@3 bb1@4 ~ bb1@2 bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 bb1@2 ~@2",
  AJ: "bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~@2 bb1@2 ~ bb1@2 ~@14",
})).s("gm_electric_bass_finger").gain(0.51)

// bass · electric bass finger · "(_|:-{| = Jeff Ament" · soft notes
const bass_soft = note("<~@71 A@3 B C D@2 E@2 F G H I J K L M@8 ~@2>".pickRestart({
  A: "[~@21 ab1@2 ~ ab1@2 ~ ab1@3 ~ f1@6 ~ f1@2 f1@2 ~@2 f1@3 f1@2 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~@2 f1@2 ~ f1@2 ~ ab1@2 ~@2 ab1@2 ~ ab1@3 f1@5 ~@2 f1@2 ~ f1@2 ~]/3",
  B: "ab1@7 ~ ab1@2 ~ ab1@2 ~ ab1@3 ~ ab1@2 ~@2 ab1@2 ~ ab1@3 ~@4", C: "~@10 d2@5 ~ d2@2 ~ d2@2 ~ f2@6 ~ f2@2 ~",
  D: "[f2@2 ~ db2@4 ~@2 db2@2 ~ db2@3 ~ d2@4 ~@3 d2 ~ d2@2 ~@2 g1@7 g1@2 ~ a1@2 ~@2 c2@2 ~ d2@3 c2@2 ~ a1@2 ~ c2@5 ~@2 c2@2]/2",
  E: "[~ c2@3 bb1@5 ~@2 bb1@2 ~ bb1@2 ~@2 d2@5 ~ d2@2 ~@2 d2@2 ~ f2@6 ~ f2@2 ~ f2@3 ~ db2@5 ~ db2@2 ~@2 db2@2 ~ d2@6]/2",
  F: "~ c2@3 d2@2 ~@2 f2@2 ~ g2@3 f2@2 ~@2 d2@2 ~ c2@2 ~@6 c2@2 ~",
  G: "c2@2 ~ e2@2 ~@5 c2@2 ~ c2@2 ~@3 bb1@4 ~ bb1@2 ~ bb1@2 ~ d2@3",
  H: "~@3 d2@2 ~ d2@2 ~@2 f2@5 ~ f2@2 ~@2 f2@2 ~@2 a2@5 ~ a2@2",
  I: "~@2 a2@3 ~ g2@5 ~ g2@2 ~@2 g2@2 ~ c2@4 ~@2 c2@2 ~@2 c2@2 ~",
  J: "~ e2@2 ~@4 f2@2 ~ f2 ~@2 a2@4 ~@2 a2@2 ~ a2@2 ~@2 g2@5 ~",
  K: "~ g2 ~@2 g2@2 ~ d2@5 ~@2 d2@2 ~ d2@2 ~ f2@5 ~@2 f2@2 ~ f2@2",
  L: "~ a2@5 ~@2 a2@2 ~ a2@3 ~ g2@5 ~ g2@2 ~@2 g2@2 ~ d2@4",
  M: "[~@3 d2@2 ~ d2@2 ~ f2@4 ~@2 f2@2 ~ f2@2 ~@2 a2@5 ~ a2@2 ~ a2@3 ~ g2@11 ~@7 f2@2 ~@5 g2@194 ~@2, ~@48 g2@11 ~@197]/8",
})).s("gm_electric_bass_finger").gain(0.26)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@50 A@2 B C D@2 E@2 F G H@2 I@3 J K@4 L ~@17 M N@3 O P Q@3>".pickRestart({
  A: "[~@18 [d4,g4]@5 ~@2 d4@5 ~ [d4,g4]@3 ~ [c4,d4,gb4] ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 d4@4 ~@2 [d4,g4]@3 ~@2 gb4@2, ~@24 a4@5 ~@21 a4@5 ~@6 d4@2 ~]/2", // G5 D7 G5
  B: "~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~@2 d4@3 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ d4 ~@2 [d4,g4]@2 ~, ~@14 a4@4 ~@7 gb4@2 ~@5", // G5
  C: "[d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 d4@4 ~@2 [d4,g4]@2 ~@2 [d4,gb4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2, ~@9 a4@5 ~@15 d4@2 ~", // G5 D G5
  D: "[~ [d4,g4]@2 ~@2 d4@2 ~@4 g4@2 ~ [d4,gb4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ g4@2 ~ [d4,g4]@2 ~ a4@5 ~ [d4,g4]@2 ~@2 gb4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,a4]@4 ~@2 [d4,g4]@2, ~@4 a4@4 ~@2 d4@2 ~@8 d4@2 ~ d4@2 ~@14 d4@2 ~@8 d4@2 ~@13]/2", // G5 D G5 D5 G5
  E: "[~@2 [d4,gb4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,a4]@4 ~@2 [d4,g4]@2 ~@2 gb4 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 d4@2 ~ a4@5 ~@2 g4@2 ~ [d4,gb4]@2 ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~, ~@11 d4@2 ~@14 d4@2 ~@11 g4@2 ~@8 d4@2 ~@12]/2", // D G5 D5 G5 D G5
  F: "[d4,g4]@2 ~ [d4,g4]@2 ~ [d4,a4]@4 ~@3 g4@2 ~ [d4,gb4]@2 ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~, ~@6 d4 ~@9", // G5 D5 D G5
  G: "~ d4@5 ~ [d4,g4]@2 ~ [d4,gb4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,a4]@5, a4@5 ~@8 d4@2 ~@8 d4@3 ~@6", // G5 D G5 D5
  H: "[~ [d4,g4]@2 ~ [d4,gb4]@2 ~@2 [d4,g4]@2 ~@2 g4@2 ~ g4@2 ~ [d4,g4]@2 ~@2 d4@5 ~ [d4,g4]@2 ~ [d4,gb4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,a4]@5 ~@2 [d4,g4]@2 ~ [d4,gb4]@2 ~@2 [d4,g4]@2, ~@11 d4@2 ~ d4@2 ~@5 a4@5 ~@15 d4@2 ~@21]/2", // G5 D G5 D G5 D5 G5 D …
  I: "[~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@3 ~ [d4,a4]@4 ~@2 g4@2 ~ [d4,gb4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~@2 d4@4 ~@2 [d4,g4]@2 ~ [d4,gb4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 a4@4 ~@2 [d4,g4]@2 ~@2 gb4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,g4]@3 [d4,a4]@5 ~, ~@4 d4@2 ~@11 d4@2 ~@11 d4@2 ~@5 a4@5 ~@8 d4@2 ~@11 d4@5 ~@5 d4@2 ~@21]/3", // G5 D5 D G5 D G5 D5
  J: "~ g4@2 ~ [d4,gb4]@2 ~@2 g4@2 ~ g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 d4@5 ~ g4@2 ~ [d4,gb4]@2, d4@2 ~@5 d4@2 ~ d4@2 ~@8 a4@4 ~@2 d4@3 ~@3", // D G5 D
  K: "[~@2 g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,a4]@5 ~@2 g4@2 ~ [d4,gb4]@2 ~@2 g4@2 ~ g4@2 ~ g4@2 ~ [d4,g4]@2 ~ [d4,a4]@5 ~@2 g4 ~@2 [d4,gb4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,a4]@5 ~ [d4,g4]@2 ~ [d4,gb4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,a4]@3 ~ [d4,a4]@5 ~ [d4,g4]@2 ~@2 [d4,gb4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4 ~@2 d4@3 ~ d4@3 ~@3 g4 ~, ~ d4@2 ~@8 d4@3 ~@7 d4@3 ~@4 d4@2 ~ d4@2 ~ d4@2 ~@11 d4@2 ~@30 d4@2 ~@31 d4@2 ~@5 a4@4 ~@2 d4@2 ~]/4", // G5 D5 D G5 D5 D G5 D5 …
  L: "~ gb4 ~@2 g4@2 ~ g4@2 ~@23, d4@2 ~ d4@2 ~ d4@2 ~@24", M: "~@29 [d4,g4]@2 ~",
  N: "[~ g4 ~ a4@6 gb4@2 ~@2 [d4,g4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,a4]@5 ~@2 g4@2 ~ gb4@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,a4]@5 ~ [d4,g4]@2 ~ [d4,gb4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~ a4@5 ~ [d4,g4]@3 [d4,gb4]@2 ~@2, d4@2 ~ d4@9 ~@24 d4@2 ~ d4@2 ~@5 d4@2 ~@34 d4@6 ~@8]/3", // G5 D5 G5 D5 G5 D G5 D
  O: "~ g4 ~@2 g4@2 ~ g4 ~@2 [d4,g4]@3 ~ [d4,a4]@5 ~ [d4,g4]@2 ~ [d4,gb4]@2 ~ [d4,g4]@2 ~@2 g4@2, d4@2 ~ d4@2 ~ d4@2 ~@21 d4@2 ~", // G5 D5 G5 D G5
  P: "~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,a4]@5 [d4,g4]@2 ~@2 [d4,gb4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~ [d4,g4]@2, ~@23 d4@2 ~@7", // G5 D5 G5 D G5
  Q: "[~@2 [d4,a4]@4 ~@2 [d4,g4]@2 ~@2 gb4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~@2 a4@5 ~ [d4,g4]@3 ~ gb4@2 ~@2 g4@2 ~ [d4,g4]@2 ~@2 g4@2 ~ g4@2 ~@2 a4@24 ~@15, ~@11 d4@2 ~@8 d4@2 ~@5 d4@6 ~@4 d4@3 ~ d4@2 ~@5 d4@2 ~@2 d4@27 ~@16]/3", // D5 G5
})).s("gm_electric_guitar_clean").gain(0.26)

// bass · electric bass finger
const bass_2 = note("<~@50 A B C@2 D@6 E@2 F@2 G H@6 ~@26>".pickRestart({
  A: "~@27 d2@5", B: "f2@4 ~ f2@2 ~ f2@2 ~@3 d2@3 a2@9 ~ g2@5 ~",
  C: "[g2@2 g2 ~@3 d2@5 ~@2 d2@2 ~ d2@2 ~ c2@3 d2@3 ~ f2@3 ~@2 a2@6 ~@2 a2@2 ~@2 a2@2 ~ g2@5 ~ g2 ~@2 g2 ~@3 d2@5, ~@26 g2 ~@37]/2",
  D: "[~ d2@2 ~ d2@2 ~@2 c2@2 ~ d2@2 ~ f2@2 ~@2 d2@4 ~@2 a2@3 ~ a2@2 ~ a2@5 g2@3 ~@2 g2@2 ~ g2 ~@3 d2@4 ~@2 d2@2 ~ d2@2 ~ c2@3 d2@3 f2@3 ~ d2@3 a2@4 ~@2 a2@2 ~ a2@4 g2@14 ~ g2@3 g2@3 ~ g2@3 g2@2 ~ g2@39 ~@4 g2@14 f2@10 ~@2 e2@9, ~@18 f2 ~@173]/6",
  E: "[~ d2@55 ~ c2@7]/2", F: "[d2@4 e2@6 ~@2 f2@8 e2@5 d2@34 ~@2 b1@2 ~, ~@61 a1 ~@2]/2",
  G: "a1@7 ~ a1@2 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 g1@6 ~",
  H: "[~ g1@2 ~ g1@2 ~ g1@6 ~@4 f2@13 e2@5 ~ g2@7 ~ f2@8 ~ e2@8 ~ d2@45 ~ c2@5 ~ d2@3 e2@6 ~@35 f2@8 ~@5 g1@11 ~@10, ~@124 g2@43 ~@25]/6",
})).s("gm_electric_bass_finger").gain(0.26)

// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~@50 A B C D E@2 F@3 G H@2 I@2 J K L@4 M N@3 O@2 ~@12 P Q@3 R S T U@2
>`.pickRestart({
  A: "~@11 g3@2 ~ g3 ~, ~@22 c4@3 ~ d4@4 ~@2",
  B: "~ c4 ~@2 g3@2 ~@2 b3@2 ~ [g3,b3]@2 ~@2 c4 [g3,c4]@3 ~@2 [g3,d4]@5 ~ [g3,c4]@2 ~ [g3,b3]@2, g3@3 ~@4 g3@2 ~@5 g3@2 ~@16", // G C5 G5 C5 G
  C: "~ [g3,c4]@3 [g3,c4]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,d4]@5 ~ [g3,c4]@2 ~@2 [g3,b3]@2 ~ [g3,c4]@2 ~ [g3,c4]@2", // C5 G5 C5 G C5
  D: "~@2 c4@2 ~@3 [g3,c4]@3 ~ [g3,d4]@3 ~@2 [g3,c4]@2 ~@2 [g3,b3]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 c4@2, ~ g3@2 ~@26 g3@2 ~", // C5 G5 C5 G C5
  E: "[~ [g3,c4]@2 ~ [g3,d4]@4 ~@2 [g3,c4]@3 ~ [g3,b3]@2 ~ [g3,c4]@2 ~@2 c4 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~ d4@4 g3 ~ [g3,c4]@2 ~@2 [g3,b3]@2 ~ [g3,c4]@3 ~ c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,d4]@4 ~@2 [g3,c4]@2, ~@10 g3 ~@12 g3 ~@8]/2", // C5 G5 C5 G C5 G C5 G5 …
  F: "[~@2 [g3,b3]@2 ~ [g3,c4]@2 ~@2 c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,d4]@4 ~@2 [g3,c4]@2 ~@2 [g3,b3]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 c4@2 ~ [g3,c4]@2 ~ d4@4 g3 ~ [g3,c4]@2 ~ [g3,b3]@2 ~@2 [g3,c4]@3 [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,c4]@2 ~ [g3,d4]@4 ~@2 [g3,c4]@3 ~ [g3,b3]@2 ~ [g3,c4]@2 ~@2 c4@2 ~ c4@2 ~ [g3,c4]@2 ~, ~@8 g3@2 ~@27 g3@2 ~@47 g3@2 ~ g3@2 ~@5]/3", // G C5 G5 C5 G C5 G C5 …
  G: "~ g3@3 ~@2 [g3,c4]@3 ~ g3@2 ~@2 c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@3 d4@4, d4@4 ~@9 g3@2 ~@11 g3@5 ~", // C5
  H: "[~ [g3,c4]@2 ~ [g3,b3]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,d4]@5 ~ [g3,c4]@2 ~@2 [g3,b3]@2 ~@2 c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,d4]@4 ~@2 [g3,c4]@2 ~@2 b3@2 ~ [g3,c4]@2 ~, ~@34 g3@2 ~@21 g3@2 ~@5]/2", // C5 G C5 G5 C5 G C5 G5 …
  I: "[~@4 [g3,c4]@2 ~ [g3,c4]@2 ~ d4@6 ~@2 [g3,c4]@3 g3@4 b3@2 ~ [g3,c4]@2 ~@2 c4@2 ~ c4 ~@2 [g3,d4]@4 ~@2 [g3,c4]@3 [g3,b3]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2, ~@31 g3@2 ~ g3@2 ~@28]/2", // C5 G5 C5 G C5
  J: "[g3,d4]@4 ~@2 c4@2 ~ [g3,b3]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,d4]@5 ~, ~@5 g3@3 ~@24", // G5 G C5 G5
  K: "[g3,c4]@3 g3@2 ~@2 c4@2 ~ c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 g3@4 d4 ~@2 c4@2 ~ g3@2, ~@6 g3@2 ~ g3@2 ~@15 g3@3 ~@3", // C5
  L: "[~@3 b3 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@3 g3@2 ~@3 [g3,c4]@3 ~ b3@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@3 [g3,d4]@5 ~ [g3,c4]@3 ~ b3@2 ~ [g3,c4]@2 ~@2 c4@2 ~ [g3,c4]@2 ~ c4@2 ~ [g3,d4]@5 ~ c4@2 ~ b3@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,d4]@5 ~ [g3,c4]@2 ~@2 b3 ~@2 c4@2 ~ c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 g3@3 ~@3 [g3,c4]@2 ~, ~@2 [g3,c4]@2 ~@11 d4@5 ~@4 g3@3 ~@23 g3@3 ~@4 g3@2 ~@4 g3@2 ~@7 g3@3 g3@3 ~@24 g3@2 ~ g3@2 ~ g3@2 ~@8 d4@5 ~@5]/4", // C5 G5 C5 G5 C5 G5 C5
  M: "[g3,c4]@3 g3@2 ~ [g3,c4]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@3 ~ d4@4 ~ c4@2 ~@2 c4 ~@2 [c4,f4]@2 ~, ~@17 c4 ~@7 f4@3 ~@4", // C5 F5
  N: "[~ [c4,f4]@2 ~ g4@2 ~ g4@2 ~@2 a4@5 ~ g4@2 ~@2 g4 ~@2 [d4,g4]@3 [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@3 [d4,a4]@5 ~ d4@4 gb4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 g4@2 ~ [d4,g4]@2 ~@2 d4@4 ~ d4@4 gb4@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 [d4,a4]@3, ~@20 d4@2 ~@8 d4@3 ~@10 g4@2 ~@11 d4@2 ~@5 a4@5 ~ g4@2 ~@25]/3", // F5 G5 D5 G5 D5
  O: "[~ [d4,g4]@3 ~ gb4@2 ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~ [d4,g4]@2 ~@2 d4@3 ~@2 [d4,g4]@2 ~@2 gb4@2 ~ g4@2 ~ d4 ~@26, ~@4 d4@2 ~@15 a4@5 ~@4 d4@2 ~ d4@2 ~ g4@3 ~@25]/2", // G5
  P: "~@19 [g3,c4]@3 ~ [g3,c4]@2 ~@7", // C5
  Q: "[~ [g3,d4]@6 ~@3 [g3,c4]@2 ~@2 b3@2 ~ [g3,c4]@3 ~ c4 ~@2 c4 ~@2 [g3,c4]@2 ~ [g3,d4]@5 ~ [g3,c4]@2 ~@2 b3@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,c4]@2 ~ [g3,d4]@5 ~@2 c4@2 ~@2 b3 ~@2 c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 c4@2 ~ [g3,d4]@5 ~ [g3,c4]@2 ~@2 [g3,b3]@2 ~, ~@13 g3@2 ~@5 g3@2 ~ g3@2 ~@14 g3@2 ~@21 g3@3 ~ g3@2 ~ g3@3 ~@7 g3@2 ~@15]/3", // G5 C5 G5 C5 G5 C5 G5 C5 …
  R: "~ [g3,c4]@2 ~ c4 ~@2 [g3,c4]@2 ~ [g3,c4]@3 ~ d4@4 ~@2 c4@2 ~ [g3,b3]@2 ~@2 [g3,c4]@2 ~ [g3,c4]@2, ~@3 g3@2 ~@9 g3@9 ~@9", // C5 G C5
  S: "~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,d4]@4 ~@2 c4@2 ~ [g3,b3]@2 ~ [g3,c4]@2 ~@2 c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2, ~@13 g3@2 ~@8 g3@2 ~@7", // C5 G5 G C5
  T: "~ [g3,d4]@5 ~@2 [g3,c4]@2 ~ [g3,b3]@2 ~@2 c4@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4]@2 ~@2 [g3,d4]@4, ~@7 g3 ~@8", // G5 C5 G C5 G5
  U: "[~@3 [g3,c4]@2 ~@2 b3 ~@2 [g3,c4]@2 ~@2 c4@2 ~ [g3,c4]@2 ~@2 c4 ~@2 [g3,d4]@28 ~@12, ~@6 g3@2 ~@5 g3@2 ~@5 g3@2 ~@42]/2", // C5 G5
})).s("gm_electric_guitar_clean").gain(0.26)

// other · overdriven guitar
const overdriven_guitar = note("<~@14 A@2 ~@19 B C ~@60>".pickRestart({
  A: "[~@18 c5@2 ~ c5@3 c5@2 ~@2 d4 [e4,f4] g4@18 ~@16]/2", B: "~@23 c5@2 ~ c5 ~@2 c5@2 ~",
  C: "~ d4 e4 g4@18 ~@11, ~@3 f4 ~@28",
})).s("gm_overdriven_guitar").gain(0.26)

// drums · kick
const kick = s("bd").struct(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV
  AW AX AY ~@25 AZ BA BB BC BD BE BF BG BH BI BJ BK ~@9
>`.pickRestart({
  A: "~@17 x ~@9 x ~@4", B: "~ x ~@6 x ~@6 x ~@6 x ~@3 x ~@5", C: "~@2 x ~@4 x ~@7 x ~@5 x ~@6 x ~@3",
  D: "~ x ~@7 x ~@4 x ~@8 x ~@3 x ~@2 x ~", E: "~@4 x ~@6 x ~@7 x ~@4 x ~@7", F: "~@3 x ~@6 x ~@4 x ~@3 x ~@5 x ~@5 x",
  G: "~@5 x ~@4 x ~@7 x ~@3 x ~@7 x ~", H: "~@3 x ~@7 x ~@4 x ~@9 x ~@3 x ~", I: "~@5 x ~@7 x ~@6 x ~@4 x ~@6",
  J: "~@2 x ~@5 x ~@5 x ~@4 x ~@7 x ~@4", K: "~@4 x ~@7 x ~@3 x ~@8 x ~@4 x ~", L: "~@7 x ~@3 x ~@8 x ~@3 x ~@3 x ~@3",
  M: "~@3 x ~@5 x ~@5 x ~@3 x ~@8 x ~@2 x", N: "~@8 x ~@6 x ~@5 x ~@3 x ~@6", O: "~@2 x ~@5 x ~@6 x ~@3 x ~@5 x ~@6",
  P: "~@2 x ~@6 x ~@4 x ~@9 x ~@3 x ~@3", Q: "~@5 x ~@4 x ~@7 x ~@5 x ~@7",
  R: "x ~@4 x ~@7 x ~@3 x ~@3 x ~@4 x ~@3 x ~", S: "~@7 x ~@3 x ~@8 x ~@4 x ~@6",
  T: "~ x ~@3 x ~@3 x ~@5 x ~@3 x ~@9 x ~@2", U: "~@3 x ~@7 x ~@4 x ~@8 x ~@4 x ~", V: "~@3 x ~@5 x ~@3 x ~@2",
  W: "~ x ~@2 x ~@4 x ~@4 x ~@5 x ~@6 x ~@4", X: "~ x ~@7 x ~@4 x ~@6 x ~@5 x ~@4", Y: "~@2 x ~@5 x ~@7 x ~@6 x ~@8",
  Z: "~ x ~@3 x ~@12 x ~@12 x", AA: "~@6 x ~@6 x ~@4 x ~@4 x ~@8", AB: "x ~@4 x ~@6 x ~@4 x ~@7 x ~@6",
  AC: "x ~@2 x ~@12", AD: "x ~@7 x ~@6 x ~@5 x ~@5 x ~@4", AE: "x ~@7 x ~@4 x ~@7 x ~@4 x ~@5",
  AF: "~@3 x ~@5 x ~@7 x ~@3 x ~@8 x ~", AG: "~@3 x ~@6 x ~@4 x ~@7 x ~@4 x ~@3", AH: "~@5 x ~@4 x ~@7 x ~@3 x ~@9",
  AI: "~ x ~@5 x ~@4 x ~@5 x ~@7 x ~@4 x", AJ: "~@2 x!2 ~ x!2 ~", AK: "~@2 x ~@5 x ~@7 x ~@4 x ~@6 x ~@3",
  AL: "~ x ~@4 x ~@6 x ~@9 x ~@6 x ~", AM: "~@5 x ~@3 x ~@9 x ~@3 x ~@8", AN: "x ~@11 x ~@3 x ~@8 x ~@6",
  AO: "~ x ~@5 x ~@11 x ~@5 x ~@6", AP: "x ~@3 x ~@3 x ~@5 x ~@4 x ~@7 x ~@4", AQ: "~@8 x ~@5 x ~@3 x ~@6 x ~@6",
  AR: "~@3 x ~@3 x ~@7 x ~@5 x ~@7 x ~@2", AS: "~@2 x ~@5 x ~@4 x ~@8 x ~@3 x ~@4 x",
// … 127 more lines

More by Pearl Jam