Strudelify

Scoff

Nirvana

KeyD majorTempo154 bpm
0:00/0:00
// Scoff — Nirvana
// 153.8 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 149 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(153.8/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · overdriven guitar
const overdriven_guitar = note(`<
  ~@4 A@13 B C@2 D E F@4 G H@5 I@4 J@2 K@2 L@8 M@8 N@8 O@4 P@8 Q@8 R@4 S@8 T@6 U@8 V@8 W@6 P@8 Q@8 X@8 Y
>`.pickRestart({
  A: "[f#2,c#3,f#3]!2 [f2,c3,f3] [e2,b2,e3] [f#2,c#3,f#3]!2 [f2,c3,f3] ~", // F#5 F5 E5 F#5 F5
  B: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 ~ [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~", // F#5 F5 E5 F#5 F5
  C: "~ [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~", // F#5 F5 E5 F#5 F5
  D: "~ [f#2,c#3,f#3]!2 [c3,g3,c4] [a2,e3,a3] [f#2,c#3,f#3]!2 [c3,g3,c4]", // F#5 C5 A5 F#5 C5
  E: "[a2,e3,a3] [f#2,c#3,f#3]!2 [c3,g3,c4] [a2,e3,a3] [f#2,c#3,f#3]!2 [c3,g3,c4]", // A5 F#5 C5 A5 F#5 C5
  F: "[[a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 ~ [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 ~ [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2]/4", // A5 F#5 C5 A5 F#5 C5 A5 F#5 …
  G: "[c3,g3,c4] [a2,e3,a3] [f#2,c#3,f#3]!2 [c3,g3,c4] [a2,e3,a3] [f#2,c#3,f#3]!2", // C5 A5 F#5 C5 A5 F#5
  H: "[[c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [g2,d3,g3]@2 ~ [g2,d3,g3]@2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 ~ [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2]/5", // C5 A5 F#5 G5 G#5 A5 C5 D5 …
  I: "[[a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 ~ [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 ~ [d3,a3,d4]@10]/4", // A#5 A5 G5 C5 D5 A5 A#5 A5 …
  J: "[[a2,e3,a3] [a#2,f3,a#3] [a2,e3,a3] [g2,d3,g3] [c3,g3,c4]@7 [d3,a3,d4]@5]/2", // A5 A#5 A5 G5 C5 D5
  K: "[~ [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@9]/2", // A5 A#5 A5 G5 C5 D5
  L: "[~ [a2,e3,a3]@2 [a#2,f3,a#3]@2 ~ [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 ~ [d3,a3,d4]@10 [d3,a3,d4]@4 [d#3,a#3,d#4]@4 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]]/8", // A5 A#5 A5 G5 C5 D5 A5 A#5 …
  M: "[~ [d3,a3,d4]@2 [e3,b3,e4]@8 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]]/8", // D5 E5 F#5 F5 E5 F#5 F5 F#5 …
  N: "[~ [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]]/8", // E5 F#5 F5 F#5 F5 E5 F#5 F5 …
  O: "[~ [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [g2,d3,g3]]/4", // A5 F#5 C5 A5 F#5 C5 A5 F#5 …
  P: "[~ [g2,d3,g3]@2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@7]/8", // G5 G#5 A5 C5 D5 A5 A#5 A5 …
  Q: "[~@3 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@10 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [g2,d3,g3]@2 [c3,g3,c4]@14 [d3,a3,d4]@7]/8", // A5 A#5 A5 G5 C5 D5 A5 A#5 …
  R: "[~@3 [d3,a3,d4]@4 [d#3,a#3,d#4]@4 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]]/4", // D5 D#5 E5 D#5 D5 E5 D#5 E5 …
  S: "[~ [d3,a3,d4]@2 [e3,b3,e4]@8 [f#2,c#3,f#3]@12 [c3,g3,c4]@4 [b2,f#3,b3]@8 [b3,f#4,b4]@8 [f#2,c#3,f#3]@12 [c3,g3,c4]@4 [b2,f#3,b3]@8 [b3,f#4,b4]@8 [f#2,c#3,f#3]@12 [c3,g3,c4]@4 [b2,f#3,b3]@8 [b3,f#4,b4]@8 [f#2,c#3,f#3]@12 [c3,g3,c4]@4 [b2,f#3,b3]@5]/8", // D5 E5 F#5 C5 B5 F#5 C5 B5 …
  T: "[~@3 [b3,f#4,b4]@8 [d3,a3,d4]@2 [c#3,g#3,c#4]@2 [d3,a3,d4]@2 [c#3,g#3,c#4]@2 [d3,a3,d4]@2 [c#3,g#3,c#4]@2 [d3,a3,d4]@4 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [e3,b3,e4]@4 [f#3,c#4,f#4]@32 [d3,a3,d4]@2 [c#3,g#3,c#4]@2 [d3,a3,d4]@2 [c#3,g#3,c#4]@2 [d3,a3,d4]@2 [c#3,g#3,c#4]@2 [d3,a3,d4]@4 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [e3,b3,e4]]/6", // B5 D5 C#5 D5 C#5 D5 C#5 D5 …
  U: "[~ [d#3,a#3,d#4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [e3,b3,e4]@4 [f#3,c#4,f#4]@32 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]]/8", // D#5 E5 D#5 E5 F#5 F5 E5 F#5 …
  V: "[~ [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 [e2,b2,e3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f2,c3,f3]@2 ~@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]]/8", // E5 F#5 F5 F#5 F5 E5 F#5 F5 …
  W: "[~ [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [c3,g3,c4]@2 [a2,e3,a3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [g2,d3,g3]]/6", // A5 F#5 C5 A5 F#5 C5 A5 F#5 …
  X: "[~@3 [d3,a3,d4]@4 [d#3,a#3,d#4]@4 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@8 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 [d3,a3,d4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]@2 ~@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [d#3,a#3,d#4]]/8", // D5 D#5 E5 D#5 D5 E5 D#5 E5 …
  Y: "~ [d3,a3,d4]@2 [e3,b3,e4]@8 ~@5", // D5 E5
})).s("gm_overdriven_guitar").gain(0.64)

// bass · electric bass finger
const bass = note(`<
  ~@4 A@13 B C@2 D E F@4 G H@5 I@4 J@2 K@2 L@8 M@8 N@8 O@4 P@8 Q@8 R@8 S@24 T@8 P@8 Q@8 U@8 V
>`.pickRestart({
  A: "f#1!2 f1 e1 f#1!2 f1 ~", B: "f#1@2 f#1@2 f1@2 e1@2 ~ f#1@2 f#1@2 f1@2 ~",
  C: "~ f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~", D: "~ f#1!2 c2 a1 f#1!2 c2", E: "a1 f#1!2 c2 a1 f#1!2 c2",
  F: "[a1@2 f#1@2 f#1@2 c2@2 ~ a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 ~ a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2]/4",
  G: "c2 a1 f#1!2 c2 a1 f#1!2",
  H: "[c2@2 a1@2 f#1@2 f#1@2 g1@2 ~ g1@2 g#1@2 g#1@2 a1@2 a1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 ~ g1@2 c2@14 d2@10 a1@2]/5",
  I: "[a#1@2 a1@2 g1@2 c2@14 ~ d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 ~ d2@10]/4", J: "[a1 a#1 a1 g1 c2@7 d2@5]/2",
  K: "[~ a1@2 a#1@2 a1@2 g1@2 c2@14 d2@9]/2",
  L: "[~ a1@2 a#1@2 ~ a1@2 g1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 ~ d2@10 d2@4 d#2@4 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1]/8",
  M: "[~ d1@2 e1@8 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1]/8",
  N: "[~ e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2]/8",
  O: "[~ a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 g1]/4",
  P: "[~ g1@2 g#1@2 g#1@2 a1@2 a1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@7]/8",
  Q: "[~@3 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@10 a1@2 a#1@2 a1@2 g1@2 c2@14 d2@7]/8",
  R: "[~@3 d2@4 d#2@4 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@8 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1]/8",
  S: "[~ e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1@2 e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 f1]/8",
  T: "[~ e1@2 f#1@2 f#1@2 f1@2 ~@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 c2@2 a1@2 f#1@2 f#1@2 g1]/8",
  U: "[~@3 d2@4 d#2@4 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@8 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1@2 d1@2 e1@2 e1@2 d#1@2 ~@2 e1@2 e1@2 d#1]/8",
  V: "~ d1@2 e1@8 ~@5",
})).s("gm_electric_bass_finger").gain(0.64)

// drums · kick
const kick = s("bd").struct(`<
  A@17 B C@2 D E F G@2 H@2 I J K L M N O P Q R S T U V W X Y Z AA@3 AB AC@12 G@7 AD Y AE Y AE Y AE Y AF Y AE Y AF Y AE Y
  Z AA@3 AB AC@28 G@7 AD Y AE Y AE Y AE Y AF Y AE Y AF Y AE Y Z AA@3 AG AA@3 AH
>`.pickRestart({
  A: "x!2 ~ x!3 ~@2", B: "x ~ x ~@3 x ~@2 x ~ x ~@4", C: "~ x ~ x ~@3 x ~ x ~ x ~@4", D: "~ x!2 ~ x!3 ~",
  E: "x!3 ~ x!3 ~", F: "x ~ x ~ x ~@4 x ~ x ~ x ~@2", G: "~ x ~ x ~ x ~@3 x ~ x ~ x ~@2", H: "~ x!3 ~ x!3",
  I: "~@2 x ~ x ~ x ~@4 x ~ x ~ x", J: "~@3 x ~ x ~@7 x ~@2", K: "~@3 x ~@3 x ~@5 x ~ x", L: "~@3 x ~@3 x",
  M: "~@2 x ~ x ~@2 x", N: "x ~@5 x ~@8 x", O: "~@5 x ~@3 x ~@5 x", P: "~ x ~@5 x ~@7 x", Q: "~@3 x ~ x ~@2",
  R: "~ x ~@2 x ~@3", S: "x ~@2 x ~ x ~@2", T: "~ x ~ x ~@5 x ~@6", U: "~ x ~@5 x ~@3 x ~@4", V: "~@3 x ~@6 x ~@5",
  W: "~ x ~@2 x ~ x ~", X: "~ x!2 ~@2 x ~@2", Y: "~@3 x ~@5 x ~@3 x ~@2", Z: "~@11 x!4 ~", AA: "x!7 ~@4 x!4 ~",
  AB: "x!4 ~@7 x ~ x ~@2", AC: "~ x ~ x ~ x ~@5 x ~ x ~@2", AD: "~ x ~ x ~ x ~@3 x ~ x ~@4", AE: "~@3 x ~ x ~@5 x ~@4",
  AF: "~@5 x ~@5 x ~@4", AG: "x!4 ~@7 x!4 ~", AH: "x!4 ~@12",
})).gain(0.64)

// drums · snare
const snare = s("sd").struct(`<
  A@17 B C@2 D@2 E F@2 G H@2 I@2 J K L M@2 A N B C@2 O D E F P F@3 Q F@27 R F@3 R F@3 P F@3 Q F@43 R F@3 R F@3 P F@3 Q
  F@3 ~
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@8 x ~@2", C: "~@5 x ~@7 x ~@2", D: "~@3 x ~@3 x", E: "~@6 x ~@8 x", F: "~@7 x ~@7 x",
  G: "~ x", H: "x!2", I: "~ x ~@7 x ~@6", J: "~ x ~@8 x ~@5", K: "~ x ~@3 x ~@2", L: "~@2 x ~@8 x ~@4",
  M: "~@3 x ~@7 x ~@4", N: "x ~ x!2 ~@2 x ~", O: "~ x ~@4 x ~ x ~@5 x ~", P: "~@3 x ~ x!6 ~@4 x", Q: "~@15 x",
  R: "~@3 x ~@3 x ~ x ~@5 x",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  A@17 B C@2 ~@8 D E ~ F ~ G ~ G ~ H ~ I ~ J ~ K ~@4 L M@11 N ~@8 K ~ K ~ K ~ K ~ K ~ K ~ K ~ K ~@4 L M@27 N ~@8 K ~ K ~
  K ~ K ~ K ~ K ~ K ~ K ~@9
>`.pickRestart({
  A: "x!7 ~", B: "x ~ x ~ x ~ x ~@2 x ~ x ~ x ~@2", C: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@2", D: "~@15 x", E: "x",
  F: "x!2 ~@14", G: "~ x!2 ~@13", H: "~@2 x!2 ~@12", I: "~@3 x!2 ~@11", J: "~@4 x!2 ~@10", K: "~@5 x!2 ~@9",
  L: "~@11 x ~ x ~ x", M: "~ x ~ x ~ x ~ x ~@3 x ~ x ~ x", N: "~ x ~ x ~ x ~ x ~@8",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@20 A B C D E F B G H I J K L M N O P Q R S T U V W X ~@15 Y D@3 Z D@3 AA W AB W AB W AB W AB W AB W AB W AB W X ~@31
  Y D@3 Z D@3 AA W AB W AB W AB W AB W AB W AB W AB W X ~@8
>`.pickRestart({
  A: "~@2 x!6", B: "x!8", C: "x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x", D: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
  E: "~ x ~@3 x ~ x ~ x ~ x ~ x ~ x", F: "~ x!7", G: "x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x", H: "~ x ~ x ~@5 x ~@6",
  I: "~ x ~@7 x ~@3 x ~@2", J: "~ x ~@8 x ~@5", K: "~ x ~@3 x ~ x", L: "~@2 x ~@8 x ~@4", M: "~@3 x ~@7 x ~@3 x",
  N: "~@3 x ~@7 x ~@4", O: "~ x ~ x", P: "x!2 ~ x", Q: "~@4 x ~@8 x ~@2", R: "~ x ~@3 x ~@7 x ~@2",
  S: "~@5 x ~@7 x ~@2", T: "~ x ~@4 x ~@7 x ~", U: "~@3 x ~@3 x", V: "~@2 x ~@3 x ~@8 x", W: "~@7 x ~@7 x",
  X: "~@3 x ~@3 x ~@8", Y: "~@13 x ~ x", Z: "~ x ~ x ~ x ~ x ~ x ~@3 x ~ x", AA: "~ x ~ x ~ x ~ x ~ x ~@5 x",
  AB: "~@3 x ~@3 x ~@7 x",
})).gain(0.64)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@28 A ~ B ~ C D C D ~ E ~ F ~ G ~ H ~@25 H ~ H ~ H ~ H ~ H ~ H ~ H ~ H ~@41 H ~ H ~ H ~ H ~ H ~ H ~ H ~ H ~@9
>`.pickRestart({
  A: "~@13 x!2 ~", B: "~@14 x!2", C: "~@15 x", D: "x", E: "x!2 ~@14", F: "~ x!2 ~@13", G: "~@2 x!2 ~@12",
  H: "~@3 x!2 ~@11",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@12 A ~@7 B ~@3 C ~@3 D C E F E D G E H E I G J H J I K L@3 C ~@11 M ~@3 M ~@3 M I M I M I M I M I M I M I M I K L@3
  C ~@27 M ~@3 M ~@3 M I M I M I M I M I M I M I M I K L@3 N L@3 C
>`.pickRestart({
  A: "x", B: "~ x ~@6", C: "~@3 x ~@12", D: "~@5 x ~@10", E: "~@3 x ~@4", F: "~ x ~@2", G: "~@7 x ~@8", H: "~ x",
  I: "~@9 x ~@6", J: "~@5 x ~@2", K: "~@11 x ~@3 x", L: "~@3 x ~@3 x ~@3 x ~@3 x", M: "~@11 x ~@4",
  N: "~@3 x ~@7 x ~@3 x",
})).gain(0.64)

stack(overdriven_guitar, bass, kick, snare, mid_tom, open_hat, high_tom, crash)

More by Nirvana