Strudelify

I Awake

Soundgarden

KeyD minorTempo100 bpm
0:00/0:00
// I Awake — Soundgarden
// 100 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 110 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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"
const distortion_guitar = note(`<
  ~@13 A@4 B C ~ D ~ E ~ F ~ G H@2 I J K@3 L@6 M@3 ~ N ~ O ~@2 P ~ Q R S T U@2 V@4 W X@2 Y@2 Z AA@2 ~ AB@6 AC@2 AD ~@31
>`.pickRestart({
  A: "[~@12 e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~ eb2@16 ~ d2@3 ~@3 a2@3 e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~@2 eb2@16 ~ d2@2 d3@3 a2@3 ~ e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~@2 eb2@16 ~ d2@3 d3@3 a2@3, ~@44 d3@5 ~@79]/4",
  B: "e2@2 ~ e2@2 ~@2 e2@2 ~ e2@2 ~ eb2@15 ~ d2@3", C: "d3@3 a2@3 ~@26", D: "~@7 [gb2,db3]@2 ~ [gb2,db3]@3 ~@19",
  E: "~@14 [gb2,db3]@3 ~ db3@3 ~@11, ~@17 gb2@3 ~@12", F: "~@22 [gb2,db3]@2 ~@2 [gb2,db3]@3 ~@3", G: "~@15 [gb2,db3]",
  H: "[~ [gb2,db3]@2 ~ e2@3 f2@2 ~@2 f2@2 ~ f2@2 ~ f2@6 ~ e2@3 f2@2 ~@2 f2@2 ~ f2@2 ~ f2@6 ~ e2@3 f2@3 ~ gb2@2 ~ gb2@3 e2@3 f2@2 ~@2]/2", // Gb5
  I: "f2@2 ~ f2@2 ~ f2@5 ~ e2@3 f2@3 ~ gb2@2 ~ gb2@2 ~ gb2 ~@2 gb2@3 ~",
  J: "e2@3 f2@2 ~ f2@2 ~ f2@2 ~@2 f2@6 e2@3 f2@2 ~ f2@2 ~ f2@2 ~@2",
  K: "[f2@5 ~ e2@2 f2@3 ~ gb2@2 ~ gb2@2 ~ e2@3 f2@2 ~ f2@2 ~ f2@2 ~@2 f2@5 ~ e2@3 f2@3 ~ gb2@2 ~ gb2@2 ~ gb2@2 ~ gb2@2 ~@2 e2@2 ~ e2@2 ~ e2@2 ~ e2@3 ~ eb2@16 ~ d2@3 d3@3 a2@3]/3",
  L: "[e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~@2 eb2@15 ~ d2@5 d3@3 a2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~@2 eb2@16 ~ d2@4 d3@2 a2@2 e2@2 ~ e2@2 ~@2 e2@2 ~ e2@2 ~ eb2@16 ~ d2@5 d3@2 a2@3 e2@2 ~ e2@2 ~@2 e2@2 e2@2 ~@2 eb2@15 ~ d2@3 d3@3 a2@3 e2@2 ~ e2@2 ~@2 e2@2 e2@2 ~@2 eb2@15 ~@2 d2@4 d3@2]/6",
  M: "[~ a2@2 e2@2 ~ e2@2 ~ e2@2 ~ e2@3 eb2@14 ~@2 d2@3 d3@3 a2@2 ~ e2@2 ~@2 e2@2 ~ e2@2 e2@2 ~ eb2@15 ~@2 d2@3 ~ d3@3 a2@3 ~@17]/3",
  N: "~@18 [gb2,db3]@2 ~ [gb2,db3]@3 ~@8", O: "~@26 db3@2 ~ [gb2,db3]@3, ~@25 gb2@2 ~@5",
  P: "~ [gb2,db3]@2 ~ [gb2,db3]@2 ~@26", Q: "~@9 db3@2 [gb2,db3]@2 ~ e2@3 ~ f2@2 ~ f2@2 ~ f2@2 ~@2 f2@4, ~@4 gb2 ~@11",
  R: "~@2 e2@3 f2@2 ~ f2@2 ~ f2@2 ~@2 f2@6 e2@3 f2@3 ~ gb2@2 gb2@2",
  S: "~@2 e2@3 f2@2 ~ f2@2 ~ f2@2 ~@2 f2@5 ~ e2@3 f2@2 ~ gb2@2 ~ gb2@2",
  T: "~@2 gb2@2 gb2@3 ~ e2@3 f2@2 ~ f2@2 ~ f2@2 ~ f2@6 e2@3 f2@2 ~",
  U: "[~ f2@2 f2@2 ~@2 f2@6 e2@3 f2@2 ~ gb2@2 ~ gb2@2 ~ e2@3 f2@2 ~ f2@2 ~ f2@2 ~ f2@6 ~ e2@3 f2@2 ~@15]/2",
  V: "[eb2@2 ~ eb2@2 ~@2 eb2@2 ~ eb2@2 ~ eb2@16 ~@2 d2@4 d3@4 [g2,a2] ~@3 e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~ eb2@15 ~ d2@4 d3@2 a2@4 e2@2 ~ e2@2 ~ e2@2 ~ e2@3 ~ eb2@16 ~ d2@3 d3@3 a2@3 e2@2 ~ e2@2 ~ e2@2]/4", // Gsus2
  W: "e2@3 ~ eb2@15 ~ d2@4 d3@3 a2@3 e2@2",
  X: "[~ e2@2 ~ e2@2 ~ e2@2 ~ eb2@13 ~@2 d2@4 d3@4 a2@4 e2@2 ~ e2@2 ~@2 e2@2 ~ e2@2 ~ eb2@14]/2",
  Y: "[~@3 d2@3 d3@3 a2@3 ~ e2@2 ~ e2@2 ~ e2@2 ~ e2@2 ~ eb2@14 ~@2 d2@4 d3@3 a2@3 ~ e2@2 e2@2 ~@2 e2@2 e2@2 ~@2]/2",
  Z: "eb2@14 ~@2 d2@4 d3@3 a2@6 ~@3", AA: "[~@14 d2@33 ~@17]/2",
  AB: "[~@30 d2@19 ~ e2@7 eb2@6 d2@17 ~@8 d2@21 ~ e2@5 eb2@5 d2@11 ~@28 d3@12 d2@17 ~@4]/6",
  AC: "[~@27 d4@13 d2@13 ~@11]/2", AD: "~@8 d1@15 ~@9",
})).s("gm_distortion_guitar").gain(0.4).pan(0.7)

// other · tubular bells · "Crazy"
const tubular_bells = note("<~ A B C ~ D E ~ F G H I ~@98>".pickRestart({
  A: "~@13 f6@2 ~", B: "~ b5@4 ~@27", C: "~@14 f6@4 ~@3 b5@4 ~@7", D: "~@3 f6@4 ~@2 b5@4 ~@19", E: "~@22 f6@4 ~@3 b5@3",
  F: "~@8 f6@4 ~@3 b5@4 ~@13", G: "~@15 f6", H: "~@3 b5@2 ~@11", I: "~@18 f6@3 ~@3 b5@3 ~@5",
})).s("gm_tubular_bells").gain(0.4).pan(0.3)

// bass · acoustic bass · "Bass"
const bass = note("<A@2 B@6 C@4 D@2 ~@96>".pickRestart({
  A: "[~@14 b1@13 bb1@13 gb1@8 ~@2 f1@9 f2@5]/2",
  B: "[~@2 b1@13 bb1@13 gb1@8 ~@2 f1@8 ~ f2@6 ~ b1@13 bb1@11 ~@2 gb1@8 ~@2 f1@9 f2@6 ~ b1@12 bb1@13 gb1@9 ~@2 f1@9 f2@6 ~ b1@12 bb1@12 gb1@10]/6",
  C: "[~ f1@9 ~ f2@7 b1@12 bb1@11 ~ gb1@9 ~@2 f1@8 ~ f2@7 ~ b1@13 bb1@11 gb1@9 ~ f1@8 ~@2 f2@6 ~ b1@7]/4",
  D: "[~@7 bb1@7 ~@5 gb1@8 ~@2 f1@8 ~ f2@6 ~@20]/2",
})).s("gm_acoustic_bass").gain(0.4)

// bass · electric bass pick · "Bass"
const bass_2 = note(`<
  ~@13 A@3 B C D E F G H I J K L M@2 N@6 O@4 P Q R@2 S T U V W X Y Z AA AB AC@2 AD AE AF AG@3 AH AI AJ AK@3 AL AM AN@5
  AO@2 AP@5 AQ@2 AR@5 AS@4 AT@7 AU@2 AV@4 AW@2 ~@3
>`.pickRestart({
  A: "[~@13 e1@2 ~ e1@2 ~ e1@5 eb1@15 ~@2 d1@3 d2@3 a1@3 e1@2 ~@2 e1@2 ~ e1 ~ e1@3 ~ eb1@15 d1@3 ~ d2@3 a1@3 e1@2 ~ e1@2 ~@2 e1]/3",
  B: "~ e1@4 eb1@15 ~ d1@3 ~ d2@4 a1@3", C: "e1@2 ~ e1@2 ~@2 e1 ~ e1@4 eb1@14 ~ d1@4",
  D: "d2@4 a1@3 e1@2 ~ f1@2 ~ f1 ~ f1@2 ~@2 f1@3 ~@4 e1@2 ~ f1@2 ~",
  E: "f1@2 ~ f1@2 ~ f1@2 ~@6 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~@4",
  F: "~ e1@2 ~ f1@2 ~ gb1@2 ~ gb1@3 ~@2 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~@3",
  G: "~@2 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@3 ~@5 e1@2 ~ f1@2 ~ f1@2 ~ f1",
  H: "~@2 f1@2 ~@4 e1@2 ~@2 f1@2 ~ gb1@2 ~ gb1@2 ~@2 e1@2 ~ f1@2 ~@2 f1@2 ~",
  I: "f1@2 ~ f1@3 ~@4 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~@5 e1@2 ~",
  J: "f1@2 ~ f1@2 ~ f1 ~@3 f1@2 ~@4 e1@2 ~@2 f1 ~@2 gb1@2 ~ gb1@2 ~@2 e1@2",
  K: "~ f1@2 ~ f1@2 ~@2 f1@2 ~ f1@2 ~@4 e1@2 ~@2 f1 ~@2 f1 ~@2 f1@2 ~ f1@2",
  L: "~@5 e1@2 ~ f1@2 ~ f1@2 ~ f1 ~@3 f1@2 ~@4 e1@2 ~ f1@2 ~ gb1@2",
  M: "[~ gb1@2 ~@2 e1@2 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@4 ~@3 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~@2 f1@4 ~@2 e1@2 ~ f1@2 ~ gb1@2 ~ gb1@2 ~@2 e1@2 ~ f1@2 ~@2]/2",
  N: "[f1@2 ~ f1@2 ~ f1@4 ~@2 e1@2 ~ f1@2 ~@2 gb1@2 ~ gb1@2 ~ gb1 ~@2 gb1@2 ~ e1@2 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@4 ~@2 e1@2 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@4 ~@3 e1@2 ~ f1 ~@2 gb1@2 ~ gb1@2 ~@2 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@4 ~@3 e1@2 ~ f1@2 ~ gb1@2 ~ gb1@2 ~@2 gb1@2 ~ gb1@2 ~ e1@2 ~ e1@2 ~ e1@2 ~ e1@3 ~@2 eb1@15 d1@3 d2@3 a1@3 e1@2 ~@2 e1@2 ~@2 e1@2 ~@2 e1@2 eb1@17 ~ d1]/6",
  O: "[~ d2@4 a1@3 e1@2 ~@2 e1@2 ~ e1@2 ~@2 e1@3 eb1@15 d1@3 ~ d2@3 a1@3 e1@2 ~ e1@2 ~@2 e1@2 ~ e1@3 eb1@17 d1@3 d2@3 a1@3 ~ e1@2 ~ e1 ~@2 e1 ~ e1@3 ~ eb1@17 d1@2 ~ d2@3 a1@3 ~ e1@2]/4",
  P: "~ e1@2 ~ e1 ~ e1@2 ~@2 eb1@15 ~ d1@2 d2@4", Q: "a1@2 ~ e1@2 ~ e1@2 ~ e1@6 eb1@16 ~",
  R: "[d1@3 d2@3 a1@3 ~ e1 ~@2 e1@2 ~ e1@2 ~@2 e1@2 ~ eb1@15 ~@2 d1@3 d2@3 a1@2 ~ e1@2 ~ f1@2 ~ f1@2 ~@2 f1@2 ~ f1@2]/2",
  S: "~@5 e1@2 ~ f1@2 ~ f1@2 ~@2 f1@2 ~ f1@3 ~@3 e1@2 ~ f1@2 ~ f1@2",
  T: "~@3 f1 ~@2 f1@2 ~@4 e1@2 ~ f1@2 ~@2 gb1@2 ~ gb1@3 e1@2 ~ f1@2 ~@2",
  U: "f1@2 ~ f1@2 ~ f1@2 ~@5 e1@2 ~ f1@2 ~ f1@2 ~@2 f1@2 ~ f1@2 ~@4",
  V: "e1@2 ~@2 f1 ~@2 f1@2 ~ f1@2 ~ f1@3 ~@3 e1@2 ~ f1@2 ~@2 gb1@2 ~ gb1@2 ~",
  W: "~ e1@2 ~ f1 ~@2 f1@2 ~ f1@2 ~ f1@3 ~@4 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~",
  X: "f1@3 ~@4 e1@2 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@3 ~@4 e1@3 f1@2",
  Y: "~ gb1@2 ~@2 gb1@2 ~ e1@2 ~ f1@2 ~ f1@2 ~@2 f1@2 ~ f1@2 ~@4 e1@2 ~ f1@2",
  Z: "~@2 f1@2 ~ f1@2 ~ f1@2 ~@5 e1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~@2 f1@3 ~",
  AA: "~@2 e1@2 ~ f1@2 ~@2 gb1@2 ~ gb1@2 ~ e1@3 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@4",
  AB: "~@2 e1@3 f1@2 ~ f1@2 ~@2 f1@2 ~ f1@6 ~ e1@3 f1@2 ~ gb1@2 ~@2",
  AC: "[gb1@2 ~ e1@2 f1@2 ~@2 f1@2 ~ f1@2 ~ f1@6 ~ e1@3 f1@2 ~ gb1@2 ~ gb1@2 ~@2 gb1@2 ~ gb1@2 ~ e1@3 f1@2 ~ f1@2 ~@2 f1@2 ~ f1@5 ~ e1@4]/2",
  AD: "f1@2 ~ f1@2 ~ f1@2 ~@2 f1@6 e1@3 f1@2 ~ gb1@2 ~@2 gb1@2 ~ e1@2 ~",
  AE: "f1@2 ~ f1@2 ~ f1@2 ~ f1@5 ~ e1@3 f1@2 ~@2 gb1@2 ~ gb1@2 ~ gb1@2 ~@2",
  AF: "gb1@3 f1@2 ~ f1@2 ~@2 f1@2 ~ f1@3 eb1@15 ~",
  AG: "[~ d1@3 ~ d1@3 ~@3 e1@2 e1@2 ~@2 e1@2 ~ e1@2 ~ eb1@15 ~ d1@3 ~ d2@3 a1@3 e1@2 ~ e1@2 ~@2 e1@6 eb1@15 ~ d1@3 ~ d2@3 a1@3 e1@2 ~ e1@2 ~ e1@2]/3",
  AH: "~@2 e1@2 ~ eb1@15 ~ d1@3 d2@4 a1@2 e1@2", AI: "~ e1@2 ~@2 e1@2 ~ e1@2 ~@2 eb1@14 ~@2 d1@3 ~",
  AJ: "d2@3 a1@2 ~ e1@2 ~ e1@2 ~ e1@2 ~ e1@2 ~@2 eb1@13",
  AK: "[~@2 d1@3 ~ d2@3 ~ a1@2 e1@2 ~ e1@2 ~@2 e1@2 ~ e1@2 ~ eb1@14 ~@2 d1@3 ~ d2@3 a1@3 e1@2 ~ e1@2 ~ e1@2 ~ e1@2 ~ eb1@15 ~@3 d1@3 d2@3 a1@3 ~ ab1@3 [f1,g1]@2]/3", // Fsus2
  AL: "~@2 f1@2 ab1@3 ~@6 d1@19, ~@7 g1@8 ~@17, ~@6 f1 ~@9",
  AM: "~ e1@5 eb1@7 d1@6 ~@3 [f1,g1]@3 f1@3 ~ g1@3, ~@19 ab1@5 ~@5 ab1 ~@2", // Fsus2
  AN: "[f1@4 d1@21 e1@6 eb1@6 d1@7 ab1@3 g1@3 f1@3 ab1@3 g1@3 f1@4 d1@20 e1@6 eb1@6 d1@6 ab1@3 g1@3 f1@4 ~@3 g1@3 ~@4 d1@18 e1@6 eb1@6 d1@6 ab1@3, ~@111 ab1@5 ~ f1@8 ~@35]/5",
  AO: "[~ g1@3 f1@4 ab1@3 g1@2 f1@3 ~ d1@31 ~@7 ab1@3 g1@3 f1@3]/2",
  AP: "[~ ab1@3 g1@3 f1@4 d1@35 ~@4 ab1 ~@3 ab1@3 ~ f1@2 ab1@3 g1@2 f1@3 d1@31 ~@8 ab1@3 g1@3 f1@3 ~@3 g1@3 f1@3 d1@35, ~@116 ab1@5 ~@39]/5",
  AQ: "[~@23 d1@41]/2", AR: "[~@17 d2@37 ~@19 d2@38 ~@21 d2@28, ~@4 d1@45 ~@6 d1@53 ~@5 d1@47]/5",
  AS: "[~@29 d2@45 ~@14 d1@39 ~, ~@12 d1@59 ~@57]/4",
  AT: "[~@16 d1@36 ~@71 d1@2 ~@7 d2@48 ~@9 d2@35, ~@57 d1@64 ~@5 d1@49 ~@5 d1@42 ~@2, ~@75 d2@53 ~@96]/7",
  AU: "[~@11 d2@21, ~@7 d1@54 ~@3]/2", AV: "[~@7 d2@20 ~@9 d2@26 ~@2, d1@49 ~@9 d1@60 ~@10]/4", AW: "[~ d2@40 ~@23]/2",
})).s("gm_electric_bass_pick").gain(0.26)

// other · electric guitar muted · "Guitar"
const electric_guitar_muted = note(`<
  ~@18 A B C D E@2 F G H I ~@14 J K L@2 M N O P Q R ~@14 S T@2 U@3 V@2 W@2 X@6 ~@28
>`.pickRestart({
  A: "~@7 e2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~@2 f2@2 ~@4 e2@2 ~ f2@2 ~",
  B: "f2@2 ~ f2@2 ~ f2@2 ~@5 e2@2 ~ f2@2 ~@2 f2@2 ~ f2@2 ~ f2@2 ~@4",
  C: "~ e2@2 ~ f2@2 ~ gb2@2 ~ gb2@2 ~@2 e2@2 ~ f2@2 ~@2 f2@2 ~ f2@2 ~ f2@2 ~@3",
  D: "~@2 e2@2 ~ f2@2 ~ f2@2 ~ f2 ~@2 f2@2 ~@5 e2@2 ~ f2@2 ~ f2@2 ~ f2 ~",
  E: "[~ f2@2 ~@5 e2@2 ~ f2@2 ~ gb2@2 ~ gb2@2 ~@2 e2@2 ~@2 f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~@4 e2@2 ~@2 f2@2 ~ f2@2 ~@2 f2@2 ~ f2@2 ~@4 e2@2 ~@2]/2",
  F: "f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~@5 e2@2 ~ f2@2 ~ gb2@2 ~@2 gb2@2 ~ e2@2 ~",
  G: "f2@2 ~ f2@2 ~ f2 ~@3 f2@2 ~@5 e2 ~@2 f2@2 ~ f2@2 ~@2 f2@2 ~ f2@2",
  H: "~@5 e2 ~@2 f2@2 ~ f2 ~@2 f2 ~@2 f2@2 ~@5 e2@2 ~ f2@2 ~ gb2@2", I: "~ gb2@2 ~@29",
  J: "~@18 e2 ~@2 f2 ~@2 f2@2 ~ f2 ~@2 f2@2", K: "~@5 e2@2 ~ f2@2 ~ f2 ~@2 f2 ~@2 f2@2 ~@5 e2@2 ~ f2@2 ~@2 f2",
  L: "[~ f2@2 ~@2 f2@2 ~@4 e2@2 ~@2 f2@2 ~ gb2@2 ~ gb2@2 ~@2 e2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@3 ~@4 e2@2 ~ f2@2 ~ f2@2 ~@2 f2@2 ~ f2@2 ~@5]/2",
  M: "e2 ~@2 f2 ~@2 f2 ~@2 f2@2 ~@2 f2@2 ~@4 e2@2 ~@2 f2@2 ~ gb2@2 ~ gb2@2 ~",
  N: "e2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~@2 f2@2 ~@4 e2@2 ~ f2@2 ~@2 f2@2 ~ f2@2 ~",
  O: "f2@3 ~@4 e2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~@2 f2@3 ~@3 e2@2 ~@2 f2@2",
  P: "~ gb2@2 ~ gb2@2 ~ e2@2 ~ f2@2 ~@2 f2@2 ~ f2@2 ~ f2@2 ~@5 e2@2 ~ f2@2",
  Q: "~ f2@2 ~ f2@2 ~ f2@3 ~@4 e2@2 ~ f2@2 ~ f2@2 ~@2 f2 ~@2 f2@2 ~@3", R: "~@2 e2@2 ~ f2@2 ~ gb2@2 ~ gb2@3 ~@18",
  S: "~@29 g2@3, ~@27 ab2@4 ~", T: "[f2@4 ~@3 g2@3 f2@3 d2@29 ~@8 ab2@3 g2@3 f2@4 ab2@4, ~@4 ab2@5 ~@55]/2",
  U: "[~@2 f2@3 d2@31 ~@10 g2@3 f2@4 ~@3 g2@3 f2@3 d2@34, g2@4 ~@39 ab2@5 ~@5 ab2@5 ~@38]/3",
  V: "[~@8 g2@2 f2@4 ~@3 g2@3 f2@3 d2@29 ~@9 ab2@3, ~@5 ab2@5 ~@4 ab2@5 ~@45]/2",
  W: "[g2@2 f2@3 ~@3 g2@3 f2@3 d2@24 ~@21 g2@2 ~ f2@2, ~@6 ab2@5 ~@45 ab2@5 ~@3]/2",
  X: "[~@3 g2@4 f2@2 ~ d2@39 ~@4 ab2@3 g2@3 f2@3 ab2@6 d2@35 ~@6 ab2@3 ~ f2@3 ab2@3 g2@2 f2@2 d2@40 ~@29, ~ ab2@5 ~@106 g2@2 ~@78]/6",
})).s("gm_electric_guitar_muted").gain(0.26)

// other · distortion guitar · "Patchup Guitar"
const distortion_guitar_2 = note("<~@56 A@6 ~@48>".pickRestart({
  A: "[~@17 gb2@2 ~@2 gb2@2 ~ gb2@2 gb2@2 ~@3 e2@2 e2@2 ~ e2@2 ~ e2@3 ~ eb2@15 ~ d2@4 d3@3 a2@3 e2@2 ~ e2@2 ~ e2@9 eb2@18 ~@2 d2@3 d3@3 a2@3 e2@2 ~ e2@2 ~ e2@2 ~ e2@2 eb2@15 ~@2 d2@3 d3@3 a2@3 e2@2 ~ e2@2 ~ e2@7 ~ eb2@13 ~@2 d2@3 d3@3 a2@5 ~@2]/6",
})).s("gm_distortion_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 J AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH
  CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CZ DA DB DC DD
>`.pickRestart({
  A: "~ x ~@2", B: "~@2 x ~@12 x ~@16", C: "~@3 x ~@7 x ~@4", D: "~@2 x ~@12 x ~@10 x ~@5", E: "~@9 x ~@12 x ~@9",
  F: "~@13 x ~@8 x ~@9", G: "~@9 x ~@21 x", H: "~@8 x ~@6 x", I: "~@21 x ~@9 x", J: "~@5 x ~@12 x ~@13", K: "~ x ~ x",
  L: "~@6 x ~@13 x ~@8 x ~@2", M: "~@14 x ~ x ~@2 x ~ x ~@3 x ~@6", N: "~@4 x ~@2 x ~@2 x ~@6 x ~@5 x ~@2 x ~@5",
  O: "~@11 x ~@12 x ~@6 x", P: "~@18 x ~@2 x ~@9 x", Q: "~@5 x ~@20 x ~@5",
  R: "x ~@3 x ~ x ~@2 x ~@3 x ~@2 x ~@9 x ~@5", S: "~ x ~@2 x ~@8 x ~@3 x ~@5 x ~@8",
  T: "~ x ~@2 x ~@9 x ~@3 x ~@2 x ~@10", U: "~ x ~@2 x ~@7 x ~@8 x ~@2 x ~@3 x ~@2 x",
  V: "~@8 x ~@2 x ~@9 x ~@2 x ~@2 x ~@2 x ~", W: "~@8 x ~@2 x ~@3 x ~@2 x ~@10 x ~ x",
  X: "~@3 x ~@2 x ~@8 x ~@2 x ~@9 x ~@3", Y: "x ~@2 x ~@3 x ~@8 x ~@2 x ~@2 x ~@3 x ~@5",
  Z: "~@4 x ~@2 x ~@2 x ~@3 x ~@9 x ~@2 x ~@4", AA: "~@5 x ~@2 x ~@2 x ~@2 x ~@8 x ~@5 x ~@2",
  AB: "~@4 x ~@5 x ~@16 x ~@3 x", AC: "~@13 x ~@2 x ~@15", AD: "x ~@2 x ~@2 x ~@12 x ~@5 x ~@6",
  AE: "~@6 x ~@11 x ~@6 x ~@6", AF: "~@5 x ~@2 x ~@23", AG: "x ~@4 x ~@5 x ~@2 x ~", AH: "~@6 x ~@8 x ~@11 x ~@4",
  AI: "~@15 x ~@5 x ~@5 x ~@4", AJ: "~@8 x ~@14 x ~@4 x ~@3", AK: "x ~@8 x ~@5 x ~@3 x ~@8 x ~@3",
  AL: "~@3 x ~@5 x ~@5 x ~@6 x ~@2 x ~@6", AM: "~@3 x ~@5 x ~@6 x ~@12 x ~@2", AN: "~@9 x ~@4 x ~@5 x ~@11",
  AO: "~@5 x ~@8 x ~@3 x ~@2 x ~@10", AP: "~@2 x ~@11 x!2 ~@9 x ~@2 x ~@3", AQ: "~@2 x ~@9 x ~@12 x ~@5 x",
  AR: "~@12 x ~@12 x ~@6", AS: "x ~@2 x ~@3 x ~@11 x ~@2 x ~@9", AT: "x ~@2 x ~@2 x ~@12 x ~@2 x ~@3 x ~@2 x ~@2",
  AU: "~@7 x ~@2 x ~@2 x ~@3 x ~@8 x ~@2 x ~@2", AV: "~@7 x ~@2 x ~@3 x ~@12 x ~@2 x ~",
  AW: "~ x ~@12 x ~@3 x ~@2 x ~@10", AX: "~@2 x ~@2 x ~@9 x ~@2 x ~@2 x ~@3 x ~@6", AY: "~@2 x ~@3 x ~@2 x ~@11 x ~@10",
  AZ: "~@2 x ~@6 x ~@12 x ~@2 x ~@6", BA: "~@9 x ~@5 x ~@11 x ~@2 x ~", BB: "~ x ~@11 x ~@12 x ~@2 x ~@2",
  BC: "x ~@11 x ~@2 x ~@16", BD: "~@13 x ~@5 x ~@6 x ~@5", BE: "~@4 x ~@3 x ~@2 x ~@4", BF: "~@7 x ~@9 x ~@5 x ~@8",
  BG: "~@13 x ~@9 x ~@6 x ~", BH: "~@10 x ~@4 x", BI: "~@4 x ~@6 x ~@13 x ~@6", BJ: "~@3 x ~@5 x ~@7 x ~@14",
  BK: "~@12 x ~@6 x ~@6 x ~@5", BL: "x ~@5 x ~@12 x ~@6 x ~@5", BM: "x ~@5 x ~@6 x ~@2 x ~@9 x ~@5",
  BN: "x ~@3 x ~@8 x ~@18", BO: "~@5 x ~@6 x ~@11 x ~@7", BP: "~@5 x ~@4 x ~@5 x ~@5 x ~@9",
  BQ: "~@7 x ~@4 x ~@2 x ~ x ~@11 x ~@2", BR: "~@2 x ~@2 x ~@4 x ~@5 x ~@12 x ~@2", BS: "~ x ~@4 x ~@7 x ~@7 x ~@7 x ~",
  BT: "~@2 x ~@12 x", BU: "x ~@2 x ~@10 x ~@5 x ~@5 x ~@5", BV: "x ~@22 x ~@2 x ~@5", BW: "x ~ x ~@2 x ~@2",
  BX: "~@5 x ~@10 x ~@15", BY: "~@6 x ~@24 x", BZ: "~@7 x ~@6 x ~", CA: "~@6 x ~@13 x ~@2 x ~@8",
  CB: "~@6 x ~@10 x ~@14", CC: "x ~@2 x ~@14 x ~@9 x ~@3", CD: "~@10 x ~@2 x ~@15 x ~@2", CE: "~@2 x ~@17 x ~@2 x ~@8",
  CF: "~@7 x ~@17 x ~@2 x ~@3", CG: "~@12 x ~@4 x ~@13 x", CH: "~ x ~@15 x ~@14", CI: "~@2 x!2 ~@7 x ~@2 x ~",
  CJ: "~@10 x ~@2 x ~@16 x ~", CK: "~@3 x ~@13 x ~ x ~@12", CL: "~@3 x ~@4 x ~@12 x ~@2 x ~@7",
  CM: "~@7 x ~@4 x ~@12 x ~@2 x ~@3", CN: "~@11 x ~@4 x ~@12 x ~ x", CO: "~@16 x ~@4 x ~@10",
  CP: "~@2 x ~@2 x ~@15 x ~@4 x ~@5", CQ: "~@7 x ~ x ~@15 x ~@4 x ~", CR: "~@12 x ~@2 x ~@3 x ~@8 x ~@3",
  CS: "~@3 x ~@13 x ~@2 x ~@7 x ~@3", CT: "~@3 x ~@17 x ~@2 x ~@4 x ~@2", CU: "~@8 x ~@5 x ~@9 x ~@2 x ~@2 x ~",
  CV: "~@3 x ~@10 x ~@4 x ~@5 x ~@6", CW: "~ x ~@3 x ~@13 x ~@2 x ~@3 x ~@5", CX: "~@7 x ~@2 x ~@21", CY: "~@5 x ~@2",
  CZ: "~@3 x ~@8 x ~ x ~@13 x ~@2 x", DA: "~@9 x ~@11 x ~@4 x ~@5", DB: "~ x ~@15 x ~@2 x ~@9 x ~",
  DC: "~@6 x ~@8 x ~@7 x ~@2 x ~@5", DD: "~@6 x ~@2 x ~@22",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  ~ A B C ~ D E F G H I J ~ K L M N O P Q R C S T U V W X Y Z AA AB AC AD ~ AE AF AG AH AI ~ AJ AK AL AM AN AO AA AE AP
  AQ AR AS AT AU AV AW AX AY V AZ BA BB AJ BC BD BE ~ BF BG BH ~ AL BI BJ BK BL BM BN BO BP BQ BR BS BP BT BU BV BW BX
  BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL CM BN CN CO CP CQ
>`.pickRestart({
  A: "~@17 x ~@8 x ~@5", B: "~@7 x", C: "~@15 x ~@16", D: "~@3 x ~@28", E: "~@3 x ~@2 x ~@2 x ~@18 x ~@3",
  F: "~@21 x ~@10", G: "~ x ~@2", H: "~@12 x ~@2 x ~@16", I: "~@31 x", J: "~ x", K: "~@7 x ~@21 x ~@2",
  L: "~@11 x ~@18 x ~", M: "~@17 x ~@3 x ~@10", N: "~@5 x ~@6 x ~@11 x ~@2 x ~@4", O: "~@13 x ~@4 x ~@10 x ~@2",
  P: "~@19 x ~@12", Q: "~@7 x ~@18 x ~@5", R: "~@7 x ~@2 x ~@16 x ~@4", S: "~@2 x ~@9 x ~ x ~@2 x ~@14",
  T: "~ x ~@20 x ~@9", U: "~@9 x ~@11 x ~@2 x ~@7", V: "~@10 x ~@18 x ~@2", W: "~@17 x ~@12 x ~", X: "~ x ~@15 x ~@14",
  Y: "~@7 x ~@16 x ~@7", Z: "~@6 x ~@12 x ~@2 x ~@2 x ~@2 x ~@3", AA: "~@3 x ~@4", AB: "x ~@11 x ~@2 x ~@14 x ~",
  AC: "~@11 x ~@5 x ~@14", AD: "~@25 x ~@6", AE: "x ~@18 x ~@12", AF: "~@7 x ~@24", AG: "~@15 x ~@2 x ~@13",
  AH: "~@3 x ~@18 x ~@2 x ~@6", AI: "~@28 x ~@2 x", AJ: "x", AK: "~@7 x ~@3 x ~@16 x ~@3", AL: "~@9 x ~@6",
  AM: "~@3 x ~@5 x ~ x ~@4", AN: "~@6 x ~@12 x ~@6 x ~@5", AO: "~@13 x ~@12 x ~@2 x ~@2", AP: "x ~@2 x ~@16 x ~@11",
  AQ: "~@8 x ~@16 x ~@6", AR: "~@8 x ~@2 x ~@15 x ~@4", AS: "~@15 x ~@11 x ~@2 x ~", AT: "~@15 x ~@12 x ~@2 x",
  AU: "~@2 x ~ x ~ x ~@2 x ~@11 x ~@10", AV: "~@7 x ~@11 x ~@2 x ~@9", AW: "~@6 x ~@11 x ~@2 x ~@2 x ~@3 x ~@2 x",
  AX: "~@2 x ~@2 x ~@3 x ~@16 x ~@4 x", AY: "~@11 x!2 ~@3", AZ: "~@4 x ~@12 x ~@14",
  BA: "~@4 x ~@5 x ~@4 x ~@7 x ~@2 x ~@5", BB: "~@29 x ~@2", BC: "~@2 x ~@3 x ~@2 x ~@22",
  BD: "~@10 x ~@2 x ~@2 x ~@15", BE: "~@16 x ~@3 x ~@2 x ~@8", BF: "x ~@17 x ~@2 x ~@8 x ~", BG: "~@11 x ~@4",
  BH: "~@3 x ~@16 x ~@11", BI: "~@5 x ~@5 x ~ x ~@2", BJ: "~@3 x ~@12", BK: "~@13 x ~@4 x ~ x ~@11", BL: "x ~@24 x ~@6",
  BM: "~@11 x ~ x ~@15 x ~@2", BN: "~@5 x ~@2", BO: "~@4 x ~@14 x ~@12", BP: "~@12 x ~@18 x",
  BQ: "~@2 x ~ x ~@18 x ~@8", BR: "~@11 x ~ x ~ x ~@16", BS: "~@2 x ~@18 x ~@2 x ~ x ~@5", BT: "~@2 x ~ x ~@12 x ~@14",
  BU: "~@4 x ~@2 x ~ x ~@12 x ~@9", BV: "~@9 x ~ x ~@2 x ~@12 x ~@4", BW: "~@14 x ~ x ~@2 x ~@12",
  BX: "~@2 x ~@18 x ~@2 x ~@2 x ~@4", BY: "~@9 x ~@18 x ~ x ~", BZ: "x ~@12 x ~@18", CA: "x ~ x ~@2 x ~@11 x ~@14",
  CB: "~@4 x ~ x ~ x ~@12 x ~@10", CC: "~@8 x ~ x ~@2 x ~@12 x ~@5", CD: "~@13 x ~@2 x ~ x ~@12 x",
// … 79 more lines

More by Soundgarden