Strudelify
High and Dry cover art

1994 · The Bends

High and Dry

Radiohead

KeyE majorTempo87 bpm
0:00/0:00
// High and Dry — Radiohead
// 87 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 95 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/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 · acoustic guitar steel · "Track 1"
const acoustic_guitar_steel = note(`<
  ~@2 A@6 B@8 C@8 D@3 E F@3 E G H@2 I J@3 K L@3 K L@3 K L@3 K M@2 N E F@3 E F@3 E F@3 E F@3 O P Q@2 R S@2 T E F@3 E F@3
  E F@3 E U V ~
>`.pickRestart({
  A: "[~@8 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [f#3,b3,e4,f#4]@2 [f#3,b3,e4,f#4]@4 [b3,e4,f#4]@6 [b3,e4,f#4]@6 [b3,e4,f#4]@6 ~ [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [e3,b3,e4]@2 [e3,b3,e4]@4 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 ~@15 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 [b3,e4]@2 [b3,e4]@2 ~@10 [b3,e4]@6 ~ [b3,e4]@6 [b3,e4]@6 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [f#3,b3,e4,f#4]@2 [f#3,b3,e4,f#4]@4 [b3,e4,f#4]@6 [b3,e4,f#4]@12 ~ [g#3,e4,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,b3,e4,g#4]@2 [e3,b3,e4]@2 [e3,b3,e4]@4 [e3,b3,e4]@6, ~@22 f#3@18 ~@15 e3@18 [b3,e4]@14 ~@23 [b3,e4]@10 ~@33 f#3@18 ~ b3@6 ~@14, ~@79 [e2,e3]@33 [e2,e3]@27 ~@35 e4@4 ~@14]/6", // E Esus2 Bsus4 E E5 E Esus2 Bsus4 …
  B: "[[b3,e4]@12 ~@15 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 [b3,e4]@2 [b3,e4]@2 ~@10 [b3,e4]@6 ~ [b3,e4]@6 [b3,e4]@6 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [f#3,b3,e4,f#4]@2 [f#3,b3,e4,f#4]@4 [b3,e4,f#4]@6 [b3,e4,f#4]@6 [b3,e4,f#4]@6 ~ [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [e3,b3,e4]@2 [e3,b3,e4]@4 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 ~@15 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 [b3,e4]@2 [b3,e4]@2 ~@10 [b3,e4]@6 ~ [b3,e4]@6 [b3,e4]@6 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [f#3,b3,e4,f#4]@2 [f#3,b3,e4,f#4]@4 [b3,e4,f#4]@6 [b3,e4,f#4]@12 ~ [g#3,e4,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,b3,e4,g#4]@2 [e3,b3,e4]@2 [e3,b3,e4]@4, ~@12 [b3,e4]@14 ~@23 [b3,e4]@10 ~@33 f#3@18 ~@15 e3@18 [b3,e4]@14 ~@23 [b3,e4]@10 ~@33 f#3@18 ~ b3@6 ~@8, ~@18 [e2,e3]@33 [e2,e3]@27 ~@71 [e2,e3]@33 [e2,e3]@27 ~@35 e4@4 ~@8]/8", // E5 E Esus2 Bsus4 E E5 E Esus2 …
  C: "[[b3,e4]@6 [b3,e4]@12 ~@15 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 [b3,e4]@2 [b3,e4]@2 ~@10 [b3,e4]@6 ~ [b3,e4]@6 [b3,e4]@6 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [f#3,b3,e4,f#4]@2 [f#3,b3,e4,f#4]@4 [b3,e4,f#4]@6 [b3,e4,f#4]@6 [b3,e4,f#4]@6 ~ [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [e3,b3,e4]@2 [e3,b3,e4]@4 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 ~@15 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 [b3,e4]@2 [b3,e4]@2 ~@10 [b3,e4]@6 ~ [b3,e4]@6 [b3,e4]@6 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [f#3,b3,e4,f#4]@2 [f#3,b3,e4,f#4]@4 [b3,e4,f#4]@6 [b3,e4,f#4]@12 ~ [g#3,e4,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,b3,e4,g#4]@2, e3@18 [b3,e4]@14 ~@23 [b3,e4]@10 ~@33 f#3@18 ~@15 e3@18 [b3,e4]@14 ~@23 [b3,e4]@10 ~@33 f#3@18 ~ b3@6 ~@2, ~@24 [e2,e3]@33 [e2,e3]@27 ~@72 [e2,e3]@32 [e2,e3]@27 ~@35 e4@4 ~@2]/8", // E5 E Esus2 Bsus4 E E5 E Esus2 …
  D: "[[e3,b3,e4]@2 [e3,b3,e4]@4 [b3,e4]@6 [b3,e4]@12 ~@15 [b3,e4]@6 [b3,e4]@6 [b3,e4]@6 [b3,e4]@2 [b3,e4]@2 ~@10 [b3,e4]@6 ~ [b3,e4]@6 [b3,e4]@6 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2, ~@6 e3@18 [b3,e4]@14 ~@23 [b3,e4]@10 ~@25, ~@31 [e2,e3]@32 [e2,e3]@27 ~@6]/3", // E5 E E5 E
  E: "[g#3,b3,e4,g#4] [f#3,b3,e4,f#4] [f#3,b3,e4,f#4]@2 [b3,e4,f#4]@3 [b3,e4,f#4]@3 [b3,e4,f#4]@3 g#3!3, ~@4 f#3@9 [b3,e4]@3", // E Esus2 Bsus4 E5
  F: "[[g#3,b3,e4] [e3,b3,e4] [e3,b3,e4]@2 [b3,e4]@3 ~@3 [b3,e4]@3 ~@7 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!2 ~@5 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [g#3,b3,e4]@3, ~@4 e3@9 ~@3 [e2,e3]@16 [e2,e3]@13 ~@3, ~@7 [b3,e4]@3 ~@3 [b3,e4]@7 ~@11 [b3,e4]@5 ~@12, ~@2 a4 ~@9]/3", // E E5 E E5
  G: "~ [a3,c#4,e4]@31, [a2,e3]", // A A5
  H: "[~@4 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!2 ~@5 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [g#3,b3,e4,g#4]!3, [e2,e3]@15 [b3,e4]@5 ~@12, ~@16 [e2,e3]@13 ~@3]/2", // E5 E E5 E
  I: "[g#3,b3,e4,g#4] [f#3,b3,e4,f#4] [f#3,b3,e4,f#4]@2 [b3,e4,f#4]@3 [b3,e4,f#4]@3 [b3,e4,f#4]@3 [g#3,b3,e4,g#4]!3, ~@4 f#3@9 ~@3", // E Esus2 Bsus4 E
  J: "[[g#3,b3,e4,g#4] [e3,b3,e4] [e3,b3,e4]@2 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 ~@7 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!2 ~@5 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3, ~@4 e3@9 [b3,e4]@7 ~@11 [b3,e4]@5 ~@12, ~@16 [e2,e3]@16 [e2,e3]@13 ~@3]/3", // E E5 E
  K: "[f#3,b3,e4,f#4]@4 [b3,e4,f#4]@3 [b3,e4,f#4]@6 [b3,e4]!3, ~@4 f#3@9 ~@3", // Esus2 Bsus4 E5
  L: "[[b3,e4]@4 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!2 ~@5 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!2 ~@5 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!3, ~@15 [b3,e4]@5 ~@11 [b3,e4]@5 ~@12, ~@16 [e2,e3]@16 [e2,e3]@13 ~@3]/3", // E5 E
  M: "[[b3,e4]@4 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!2 ~@5 [b3,e4]@3 [b3,e4]@3 [b3,e4]@3 [b3,e4]!3, ~@15 [b3,e4]@5 ~@12, ~ [e2,e3]]/2", // E5 E
  N: "[b3,e4]!2 [b3,e4]@2 [b3,e4]@3 [b3,e4]@3 [b3,e4]@2 [b3,e4]!4, [e2,e3]@13 ~@3", // E5 E
  O: "[f#3,a3,b3,e4]@13 [f#3,a3,b3,e4]!3, [f#2,c#3]", P: "[e3,a3,e4]@13 [e3,a3,e4]!3, a2",
  Q: "[e4@9 ~ e4@22, [e2,g#3,b3], e3 ~]/2", // E
  R: "~@10 [a3,b3]@3 [f#3,a3,b3]!3, [f#2,c#3,e4], [a3,b3]@5 ~@3, ~ f#3@25 ~@6", // Asus2 B7 F#7 Asus2
  S: "[a2@20 ~@6 [e3,a3,b3]@2 [e3,a3,b3,e4]@2 [e3,b3,e4]@2 ~ e3@3 [e2,e3,b3]@4 [e2,e3,b3]@4 [e2,e3,g#3,b3]@4 [e2,e3,g#3,b3]@4 [e2,e3,g#3,b3]@4 [e2,e3,g#3,b3]@8, [e3,a3,b3,e4]@14 ~ a3@2 ~ g#3@4 ~@10, ~@10 a2@6 e4@9 ~ e4@6, ~@8 [e2,g#3,b3] ~@7]/2", // Esus4 E5 E Esus4 E
  T: "[e3,g#3,b3]@7 ~ [e3,g#3,b3]@6 g#3@2 g#3@2 [e3,g#3,b3]@2 [e3,g#3,b3]@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]@2, e2, e4@6 ~ [e3,b3,e4]@2 e4@2 ~@5", // E E5
  U: "[e3,b3,e4]", V: "[e3,g#3,b3,e4]",
})).s("gm_acoustic_guitar_steel").gain(0.64).pan(0)

// chords · electric guitar jazz · "Track 3"
const electric_guitar_jazz = note(`<
  ~@18 A@8 B ~@16 C D E@2 F G H I F J H K ~@8 L@2 M@2 L@2 N@2 ~@2 O@3 ~@11 P@2 Q@2 R S T ~
>`.pickRestart({
  A: "[~@28 e4@31 ~ [b3,e4]@32 ~ [g#3,b3,e4]@31 ~@2 [b3,e4]@31 ~@2 e4@31 ~ [b3,e4]@32 ~ [g#3,b3,e4]@31 e2, ~@26 [f#2,c#3]@33 [a2,e3,a3]@33 [e2,e3]@32 e2@33 [f#2,c#3]@33 [a2,e3,a3]@33 [e2,e3]@32 ~, ~@27 [f#3,a3,b3]@33 ~@65 [e3,g#3]@32 ~ [f#3,a3,b3]@33 ~@65]/8", // E5 E E5 E F#5 A5 E F#5 …
  B: "~ [b3,e4]@31, [e3,g#3]", C: "e3@3 d#3@5", D: "b4 g#4 e4 c#4@3 ~@2, c#3", E: "[c#4@3 b3@9 a3 b3@3]/2",
  F: "~ e4@3 [f#3,b3,e4]@3 [f#3,a3,b3]@3 f#3@4 f#3@2, f#2, c#3@5 [c#3,a3,b3]@3, ~ a3@13 e4@18, ~ [f#3,b3]@7 ~@24", // Esus2 B7 F#m B5
  G: "~ e4@3 [e3,a3,b3]@3 [e3,a3,b3]@3 [a2,e3,a3,b3]@6, a2@5 ~@3, e3 ~@3, ~ [a3,b3]@7 e4@24", // Esus4 Asus2
  H: "~ b3@3 [g#3,b3]@3 [g#3,b3]@3 [e3,g#3,b3,e4]@6, e2, ~ e3@19 ~@12, ~ g#3@7 ~@24, ~ e4@9 ~@6", // G#m E
  I: "~ b3@3 [e3,g#3,b3]@3 [e3,g#3,b3]@3 b3@4 [b3,e4]@2, e2, ~ [e3,g#3]@7 ~@12 [e3,g#3]@12, ~ e4@6 e4@7 ~@2", // E E5 E
  J: "~ e4@3 [e3,a3,b3]@3 [e3,a3,b3]@3 [a3,b3]@3 [a3,b3,e4]!3, a2@5 [a2,e3]@3, e3 ~@3, ~ [a3,b3]@7 e4@18 ~@6", // Esus4 Asus2 A5 Asus2
  K: "~ b3@3 [e3,g#3,b3]@3 g#3!2 [e3,g#3,b3]!2 [e3,g#3,b3,e4]!5, e2, ~ [e3,g#3]@7 ~@6 [e3,b3,e4]@4 ~@14, ~ e4@6 ~@2 e4@2 ~@5", // E E5
  L: "[e4!2 d#4 e4@2 e4 d#4 e4@2 e4 d#4 e4 f#4 e4 d#4!2]/2",
  M: "[e4!2 d#4 e4@2 e4 c#4 b3@2 [b3,e4] b3!2 c#4 d#4@2 d#4]/2", N: "[e4!2 d#4 e4@2 e4 c#4 b3@2 b3@7]/2",
  O: "[~@7 e5@10 ~@7, ~@3 b4 ~@8]/3",
  P: "[[a4,c#5]!2 [g#4,b4] [a4,c#5] g#4 f#4 e4 ~ c#5 [a4,c#5] [g#4,b4] [a4,c#5] g#4 f#4 e4 f#4, ~ b4 ~ b4, ~@7 a4@2 ~@7]/2", // A G#m A G#m A
  Q: "[g#4 e5@2 f#4 g#4 ~@5 a4 g#4@2 ~@3, ~ g#5@7 ~@8, ~@2 e5!2 ~@4, ~@5 f#4@2 e4@9]/2",
  R: "[a4,c#5]!2 [g#4,b4] [a4,c#5] g#4 f#4 e4 [g#3,a4], ~ b4", S: "[a3,e4,a4]",
  T: "~@2 b4@23 ~@7, e3@13 ~@3, ~ g#3@30 ~, ~ [b3,g#4]@26 ~@5", // E
})).s("gm_electric_guitar_jazz").gain(0.22).pan(1)

// other · ocarina · "Track 4"
const ocarina = note("<~@22 A@5 ~@25 B C@2 ~@40>".pickRestart({
  A: "[~@29 g#4@33 a4@33 b4@65]/5", B: "~@3 e4", C: "f#4/2",
})).s("gm_ocarina").gain(0.34).pan(0.1)

// chords · distortion guitar · "Track 5"
const distortion_guitar = note(`<
  ~@27 A B C@2 A D E@2 ~@20 A B C@2 A B C@2 A B C@2 A B C@2 ~@8 A B C@2 A B C@2 A B C@2 A F ~@2
>`.pickRestart({
  A: "[f#2,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2, c#3 ~@15", // F# F#5
  B: "[a2,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]!2, e3 ~@15", // A A5
  C: "[e2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]!2, b2 ~@15", // E E5
  D: "[a2,e3,a3]", E: "[e2, b2@27 ~@5, e3@25 ~@7, g#3@21 ~@11]/2", F: "[a2,e3,a3]@29 ~@3",
})).s("gm_distortion_guitar").gain(0.18)

// other · overdriven guitar · "Track 6"
const overdriven_guitar = note("<~@63 A@2 B@2 A@2 C@2 ~@8 A@2 D@2 A@2 C@2 E@2 F@2 G H ~@2>".pickRestart({
  A: "[e4!2 d#4 e4@2 e4 d#4 e4@2 e4 d#4 e4 f#4 e4 d#4!2]/2",
  B: "[e4!2 d#4 e4@2 e4 c#4 b3@2 [b3,e4] b3!2 c#4 d#4@2 d#4]/2", C: "[e4!2 d#4 e4@2 e4 c#4 b3@2 b3@7]/2",
  D: "[e4!2 d#4 e4@2 e4 c#4 b3@2 a3@2 g#3@4 d#4]/2", E: "[a4!2 g#4 a4 g#4 f#4 e4 a4@2 a4 g#4 a4 g#4 f#4 e4 f#4]/2",
  F: "[g#4 e5@2 f#4 g#4 f#4@2 e4@9]/2", G: "a4!2 g#4 a4 g#4 f#4 e4 g#3", H: "[a3,c#4]",
})).s("gm_overdriven_guitar").gain(0.51)

// bass · fretless bass · "Track 9"
const bass = note(`<
  ~@2 A B@2 C D E@2 F@8 G@4 H@6 I J K@2 I L M N O P Q R O P Q R S T Q R U V W K X V Y Z I J K@2 I J K@2 I J K@2 I J K@2
  O P AA@2 O P AA@2 I J K@2 I J K@2 I J K@2 AB L R ~
>`.pickRestart({
  A: "~@7 f#2@9", B: "[~@15 a2@32 e2@17]/2", C: "~ e1", D: "~@17 f#2@15", E: "[~@9 a2@16 e2@7]/2",
  F: "[~@19 e1@33 f#2@33 a2@32 e2@33 e1@33 f#2@33 a2@32 e2@8]/8", G: "[~@19 b1@6 e1@33 f#2@33 a2@33 e2@4]/4",
  H: "[~@22 b1@6 e1@33 f#2@33 a2@33 e2@28 f#2@4 g#2@4 f#2@8 ~ e2@20]/6", I: "f#1!8", J: "a1!8", K: "e1!8", L: "a1",
  M: "e2@3 e2@2 e2@2 b1", N: "e2 f#2@2 e2@2 d#2 b1@2", O: "f#2", P: "a2", Q: "e2", R: "e1", S: "e4@3 d#4@5, f#2",
  T: "[a2,c#4]", U: "f#2@2 f#2@2 f#2@2 f#2@2 f#2@2 f#2@2 f#2 g#2@3", V: "a2!8",
  W: "e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2 b1@3", X: "f#2!8", Y: "e2!7 f#2", Z: "g#2 f#2@2 e2@5", AA: "e2/2",
  AB: "f#1!7 g#1",
})).s("gm_fretless_bass").gain(0.64)

// 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@4 AC ~ AB@2 AD@19 AE AB@16 AF ~ AF AG AD@4 AB@13 AF ~@2
>`.pickRestart({
  A: "~@3 x ~@4", B: "~ x ~@5 x ~@5 x ~@18", C: "~ x ~@2 x ~@2 x ~@8", D: "~@2 x ~@6 x ~@5 x ~@16",
  E: "~@3 x ~@5 x ~@5 x ~@16", F: "~@2 x ~@2 x ~@2 x ~@7", G: "~@5 x ~@5 x ~@5 x ~@14", H: "~@5 x ~@6 x ~@5 x ~@13",
  I: "~@3 x ~@2 x ~@2 x ~@6", J: "~@7 x ~@5 x ~@5 x ~@12", K: "~@4 x ~@2 x ~@2 x ~@5", L: "~@8 x ~@6 x ~@5 x ~@10",
  M: "~@9 x ~@5 x ~@5 x ~@10", N: "~@5 x ~@2 x ~@2 x ~@4", O: "~@11 x ~@5 x ~@5 x ~@8", P: "~@11 x ~@6 x ~@5 x ~@7",
  Q: "~@6 x ~@2 x ~@2 x ~@3", R: "~@13 x ~@5 x ~@5 x ~@6", S: "~@7 x ~@2 x ~@2 x ~@2", T: "~@14 x ~@6 x ~@5 x ~@4",
  U: "~@15 x ~@5 x ~@6 x ~@3", V: "~@8 x ~@2 x ~@2 x ~", W: "~@17 x ~@5 x ~@5 x ~@2", X: "~@17 x ~@6 x ~@5 x ~",
  Y: "~@18 x ~@5 x ~@6 x", Z: "~@19 x ~@5 x ~@5 x", AA: "~@5 x ~@2", AB: "x ~@3 x!2 ~@2", AC: "x ~@6 x!2 ~@7",
  AD: "x ~@9 x ~@2 x ~@2", AE: "x ~@9 x!2 ~ x ~@2", AF: "x", AG: "x ~@4 x ~@2",
})).gain(0.78)

// drums · rim
const rim = s("rim").struct("<A@2 B C D@2 E F G@2 H I J@2 K ~ L M@2 N O P@2 Q R S@2 ~@48 T@3 U ~@16>".pickRestart({
  A: "~@21 x ~@10", B: "~@11 x ~@4", C: "~@23 x ~@8", D: "~@3 x", E: "~@25 x ~@6", F: "~@13 x ~@2", G: "~@27 x ~@4",
  H: "~@7 x", I: "~@29 x ~@2", J: "~@15 x", K: "~@31 x", L: "x", M: "~ x ~@30", N: "~ x ~@14", O: "~@3 x ~@28",
  P: "~ x ~@6", Q: "~@5 x ~@26", R: "~@3 x ~@12", S: "~@7 x ~@24", T: "~ x ~ x", U: "~ x ~@2",
})).gain(0.78)

// drums · snare
const snare = s("sd").struct(`<
  ~ A B C@2 D E F@2 G H I@2 J K L@2 M N O@2 P Q R@2 S T U@4 V ~ U W X@19 V U@7 Y U@7 Y ~@3 Z ~@3 AA U@7 Y U@4 AB ~@3
>`.pickRestart({
  A: "~@5 x ~@26", B: "~@3 x ~@12", C: "~@7 x ~@24", D: "~ x ~@2", E: "~@9 x ~@22", F: "~@5 x ~@10", G: "~@11 x ~@20",
  H: "~@3 x ~@4", I: "~@13 x ~@18", J: "~@7 x ~@8", K: "~@15 x ~@16", L: "~ x", M: "~@17 x ~@14", N: "~@9 x ~@6",
  O: "~@19 x ~@12", P: "~@5 x ~@2", Q: "~@21 x ~@10", R: "~@11 x ~@4", S: "~@23 x ~@8", T: "~@8 x ~@3 x!4",
  U: "~@4 x ~@2 x ~@4 x ~@3", V: "~@4 x ~@3 x!2 ~@2 x!4", W: "~@4 x ~@2 x!2 ~@3 x!4", X: "~ x ~ x",
  Y: "~@4 x ~@2 x!5 ~@4", Z: "~@7 x!2 ~@7", AA: "~@8 x!8", AB: "~@4 x ~@2 x ~@4 x!3 ~",
})).gain(0.78)

// drums · low tom
const low_tom = s("lt").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 ~@4 AB ~@3 AC@20 ~@7 AD ~@7 AD AE ~ AE AF AC@4 ~@7 AD ~@4 AG
  ~@3
>`.pickRestart({
  A: "~@3 x ~@4", B: "~ x ~@5 x ~@5 x ~@18", C: "~ x ~@2 x ~@2 x ~@8", D: "~@2 x ~@6 x ~@5 x ~@16",
  E: "~@3 x ~@5 x ~@5 x ~@16", F: "~@2 x ~@2 x ~@2 x ~@7", G: "~@5 x ~@5 x ~@5 x ~@14", H: "~@5 x ~@6 x ~@5 x ~@13",
  I: "~@3 x ~@2 x ~@2 x ~@6", J: "~@7 x ~@5 x ~@5 x ~@12", K: "~@4 x ~@2 x ~@2 x ~@5", L: "~@8 x ~@6 x ~@5 x ~@10",
  M: "~@9 x ~@5 x ~@5 x ~@10", N: "~@5 x ~@2 x ~@2 x ~@4", O: "~@11 x ~@5 x ~@5 x ~@8", P: "~@11 x ~@6 x ~@5 x ~@7",
  Q: "~@6 x ~@2 x ~@2 x ~@3", R: "~@13 x ~@5 x ~@5 x ~@6", S: "~@7 x ~@2 x ~@2 x ~@2", T: "~@14 x ~@6 x ~@5 x ~@4",
  U: "~@15 x ~@5 x ~@6 x ~@3", V: "~@8 x ~@2 x ~@2 x ~", W: "~@17 x ~@5 x ~@5 x ~@2", X: "~@17 x ~@6 x ~@5 x ~",
  Y: "~@18 x ~@5 x ~@6 x", Z: "~@19 x ~@5 x ~@5 x", AA: "~@10 x ~@2 x ~@2", AB: "~@7 x ~@2 x!2 ~@4",
  AC: "x ~@9 x ~@2 x ~@2", AD: "~@12 x!4", AE: "x", AF: "x ~@12 x!2 ~", AG: "~@15 x",
})).gain(0.78)

// drums · hihat
const hihat = s("hh").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@5 ~@3 AC@20 AB@20 AC@4 AB@13 AD ~@2
>`.pickRestart({
  A: "~@12 x ~ x ~@2 x ~@3 x ~@3 x ~ x ~ x ~@2", B: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~ x ~",
  C: "~ x ~ x ~ x ~ x ~ x ~ x ~ x!3", D: "~@2 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~ x ~ x",
  E: "~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~ x ~", F: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x",
  G: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~ x", H: "~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~",
  I: "x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x", J: "~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4",
  K: "x!3 ~ x ~ x ~ x ~ x ~ x ~ x ~", L: "x ~ x ~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
  M: "~ x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~", N: "~ x!3 ~ x ~ x ~ x ~ x ~ x ~ x",
  O: "~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", P: "~@3 x ~ x ~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3",
  Q: "x ~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@2", R: "~ x ~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
  S: "~ x ~@4 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~", T: "~@2 x ~@3 x ~ x ~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x",
  U: "~@3 x ~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@4 x ~@3", V: "x ~ x ~ x!3 ~ x ~ x ~ x ~ x ~",
  W: "x ~@3 x ~@4 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@2", X: "~ x ~@3 x ~@3 x ~ x ~ x ~@3 x ~@4 x ~@3 x ~@3 x ~",
  Y: "~@2 x ~@3 x ~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@4 x", Z: "~@3 x ~@3 x ~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x",
  AA: "~@3 x ~@3 x ~@4 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3", AB: "x!8", AC: "x ~ x ~ x ~ x!3 ~ x ~ x ~ x ~", AD: "x",
})).gain(0.78)

// drums · open hat
const open_hat = s("oh").struct(`<
  A ~@31 B C@2 ~@12 B ~@7 B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~@9 B ~ B ~ B ~ B ~ B ~ B ~ B@2 ~@2
>`.pickRestart({
  A: "~@3 x ~@4", B: "x", C: "x!4",
})).gain(0.78)

// drums · crash
const crash = s("cr").struct(`<
  A ~@25 B ~@5 C ~@14 C ~@6 A C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@7 C ~ C ~ C ~ C ~ C ~ C ~ C@2 ~@2
>`.pickRestart({
  A: "~@3 x ~@4", B: "~@7 x ~@24", C: "x",
})).gain(0.78)

// drums · ride
const ride = s("rd").struct("<~@32 x ~@62>").gain(0.78)

stack(
  acoustic_guitar_steel, electric_guitar_jazz, ocarina, distortion_guitar, overdriven_guitar, bass, kick, rim, snare,
  low_tom, hihat, open_hat, crash, ride
)

More by Radiohead