Strudelify
Roadhouse Blues cover art

1970 · Morrison Hotel

Roadhouse Blues

The Doors

KeyE majorTempo123 bpm
0:00/0:00
// Roadhouse Blues — The Doors
// 122.5 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 121 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122.5/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 · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@2 A@3 B@2 C D E@2 F G B@2 C G B@2 C G B@2 C ~@4 G B@2 C G B@2 C G B@2 C H I J@2 K L M N ~@8 G B@2 C ~@6 G B@2 C G
  B@2 C G B@2 C ~@4 G B@2 C G B@2 C G B@2 C ~@4 G B@2 C G B@2 C G B@2 C H I J@2 K L M ~@4
>`.pickRestart({
  A: "[~@6 [b2,c3,d3,g#3]@2 ~@4 e2@5 ~ [d3,a3]@3 ~@7 b2 ~ [b2,d3,g#3]@2 ~@2 b2@2 ~@6 [d3,g#3]@4 b2@2 a4@2 b4 ~ b4 ~ [e4,b4] ~ b4 ~ [e4,b4] ~ [e4,b4]@3 ~ [e4,b4]@4 ~@2 e4@2, e2@10 [d3,g#3]@7 ~ e2@4 [d3,g#3]@6 ~@6 [d3,g#3]@6 ~@6 e4@5 ~@21, ~@5 b2@2 ~@2 b2@4 ~@8 b2 ~@14, ~@24 e2@11 ~ e2@11 ~@25]/3", // G#dim D5 G#dim Ddim E5 Ddim
  B: "[a4@2 b4 ~ [e4,b4] ~ [e4,b4] ~ [e4,b4] ~ b4 ~ [e4,b4]@3 ~ b4@2 a4@2 g4@2 ~@2 b4@2 ~@2 [e4,b4]@2 a4@2 g4@2 e4 ~ [e4,b4]@2 ~@2 [e4,b4]@2 a4@2 g4@2 e4 ~, ~@11 e4@2 ~@11]/2", // E5
  C: "[b3,g4]@4 e4@2 d4@4 b3@5 ~ b3@2 d4@4 b3 ~", // Em
  D: "~@4 b4@2 e4@2 ~@2 [e4,b4]@5 ~ [e4,b4]@2 ~@2 g4@2 e4@2, ~@4 e4 ~@13 a4@4 ~@2", // E5
  E: "~@4 [e4,b4]@2 e4@2 ~@2 [e4,b4]@5 ~ [e4,b4]@2 a4@2 g4@2 e4@2", // E5
  F: "~@4 b4@2 e4@3 ~ [e4,b4]@5 ~ [e4,b4]@2 a4@2 g4@2 e4 ~, ~@4 e4 ~@19", // E5
  G: "a4@2 b4 ~ b4 ~ [e4,b4] ~ b4 ~ [e4,b4] ~ [e4,b4]@3 ~ [e4,b4]@4 ~@2 e4@2", // E5
  H: "a2@4 [a3,c#4] ~ [a2,a3,c#4,g4]@5 ~ a2@4 ~@2 a2@4 a3@2, ~@6 f#4 ~@5 c#4@12, ~@6 f#4@5 ~, ~@3 a3@2 ~, ~@16 e4@7 ~", // A A7
  I: "[a2,c#4,g4]@5 ~ a2@4 ~@2 a2@4 ~@2 a2@4 a3 ~, a3@7 ~ a3@2 ~@2, ~@6 [c#4,f#4]@17 ~, ~@10 e4@13 ~", // A7 F#5
  J: "[[a2,a3,c#4,g4]@4 ~@2 [a2,c#4,g4]@5 ~ [a2,f#4]@4 f#4 ~ a2@4 ~@2 [a2,g4]@5 ~ a2@4 ~@2 a2@4 ~@6 a3 ~, ~@6 a3@14 ~@2 a3@17 ~ a3@4 ~@4, ~@6 c#4@6 c#4@11 ~, ~@16 e4@7 ~@7 f#4@10 ~@2 a2@6, ~@17 e4@6 ~]/2", // A7 D A7
  K: "[a2,a4,d#5] ~ [a4,d#5,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~", // Adim A A5
  L: "[a4,d#5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~ [a4,e5] ~", // Adim A5
  M: "[b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~", // B
  N: "[g4,c5,e5]@3 ~ [g4,c5,e5]@3 ~ [g4,c5,e5]@2 ~@2 [f#4,b4,d#5]@3 ~@9", // C B
})).s("gm_electric_guitar_clean").gain(0.42).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@2 A B C D ~ E ~@4 C D ~ E C D ~ E C D ~ E ~@4 C D ~ E C D ~ E C D ~ E ~@2 F ~@13 C D ~ E ~@6 C D ~ E C D ~ E C D ~ E
  ~@4 C D ~ E C D ~ E C D ~ E ~@4 C D ~ E C D ~ E C D ~ E ~@2 F ~@8
>`.pickRestart({
  A: "~@4 b2 ~@11 b2 ~@5 f#3 ~", B: "~@22 d3 ~", C: "~@4 e4 ~@3 e4 ~@13 b4 ~", D: "~@2 e4 ~@7 e4 ~@5 e4@3 ~@5",
  E: "a4 ~@23", F: "~@10 f#4 ~",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.3)

// bass · slap bass 2 · "SLAPBASS 2"
const bass = note(`<
  ~@2 A B A B A B C B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B D@6 E F A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B D@6 E G H@2 I
>`.pickRestart({
  A: "e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~ e1@2 ~@2 e1@2 a1@2 a#1@2 b1@2",
  B: "e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~",
  C: "e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~ e1@3 ~ e1@2 a1@2 a#1@2 b1@2", D: "a1 ~ a1 c2@2 c#2 e2 ~ e2 f#2@2 e2",
  E: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1@2", F: "c2@3 ~ c2@2 ~@2 c2@4 b1@4 ~@8, b1 ~@23",
  G: "b1@3 ~ b1@4 c2@4 c#2@4 d2@4 d#2@4", H: "[e2@47 ~]/2", I: "e1 ~@5, f1 ~@23",
})).s("gm_slap_bass_2").gain(0.22)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@2 A B C D E@3 F@2 G C D H@2 C D H@2 C D H@2 I J@2 K@2 D H@2 C D H@2 C D H@2 L@4 M N O P Q R S@2 T U V@2 W X Y@2 Z@2
  AA@4 C D H@2 C D H@2 C D H@2 I J@2 K@2 D H@2 C D H@2 C D H@2 I J@2 K@2 D H@2 C D H@2 C D H@2 L@4 M N O AB AC@2 AD
>`.pickRestart({
  A: "~@6 [b4,e5,g#5]@3 ~@9 [e5,a5]@3 ~ g#5@2, e4@5 [e5,g#5]@3 ~@4, ~@5 b4@2 ~@2 b4@3, ~@12 e4@11 ~", // E A5 E
  B: "e4@2 [b4,e5,g#5] e4@2 ~@4 b4 ~ b4, ~@5 [e5,g#5]@3 ~ [e5,g#5]@3, ~@5 b4@2 ~@5, ~@6 e4@5 ~", // E
  C: "e4@4 [b4,e5,g#5]@2 e4@4 ~@8 [e5,a5]@3 ~ g#5@2, ~@10 [e5,g#5]@7 ~@7, ~@5 b4@2 ~@2 b4@3, ~@6 e4@5 ~", // E A5 E
  D: "e4@2 [b4,e5,g#5] e4@2 ~@4 g#5@2 b4, ~@10 [e5,g#5]@7 ~ e5@6, ~@5 b4@2 ~@2 b4 ~@2, ~@6 e4@5 ~", // E
  E: "[e4@4 [b4,e5,g#5]@2 e4@3 ~@9 [e5,a5]@3 ~@3 e4@4 ~@2 e4@4 b4@2 ~@6 b4@2 ~@2 b4@2 e4@4 [b4,e5,g#5]@2 e4@4 f#5 ~@7 [e5,a5]@3 ~ g#5@2, ~@10 [e5,g#5]@7 ~@5 g#5@4 ~@8 [e5,g#5]@6 ~@2 [e5,g#5]@8 ~@8 [e5,g#5]@6 ~@8, ~@10 b4@4 ~@4 b4@7 ~@3 [b4,e5,g#5]@4 ~@26 b4@4 ~@4 b4@6, ~@6 e4@5 ~@7 e4@5 ~@7 e4@5 ~]/3", // E A5 E A5 E
  F: "[e4@4 [b4,e5,g#5]@2 e4@4 ~@8 g#5@4 ~@2 e4@4 [b4,e5,g#5]@2 ~@12 [b4,e5,a5]@3 ~ g#5@2, ~@10 [e5,g#5]@7 ~ e5@8 ~@8 [e5,g#5]@6 ~@6 e5 ~, ~@5 b4@2 ~@2 b4 ~ b4@2 ~@4 b4@2 ~@5, ~@6 e4@5 ~@7 e4@5 ~]/2", // E Esus4 E
  G: "~@4 [b4,e5,g#5]@3 ~@3 b4@2 ~@6 [e5,g#5]@4 b4@2, e4@5 [e5,g#5]@3 ~ b4 ~@2, ~@6 e4@5 ~", // E
  H: "[e4@4 [b4,e5,g#5]@2 [e4,g#5]@3 ~ a5@2 ~@6 [e5,a5]@2 g5@2 ~@2 e4@4 e5@2 e4@4 b4@2 ~@4 d5@2 [b4,e5]@2 d5@2 [b4,e5]@2, ~@10 e5@7 ~@5 [e5,g#5]@4 ~@4 e5@2 ~@2 [e5,g#5]@6 ~@8, ~@10 b4@4 ~@4 b4@7 ~@3 [b4,g#5]@4 ~@4 e4@10 ~@2, ~@10 g#5 ~ [e4,b5]@10 ~@2 g5@6 ~@12 g#5@6]/2", // E A5 E5 E E5
  I: "e4@4 [c5,e5,f#5] ~ e4@4 ~@8 [d5,e5,a5]@3 ~ [e5,a5] ~, ~@4 [b4,g#5]@2 ~@4 [e5,g#5]@7 ~ g#5 ~@3 g#5@2, ~@5 b4@2 ~@2 b4@3, ~@6 e4@5 ~", // F#m7b5 Dsus2 A5 E
  J: "[e4@4 [b4,e5,a5] ~ e4@4 f#5 ~@7 [d5,e5,g#5,a5]@4 b4@2 e4@4 [b4,e5,g#5] ~ e4@3 ~ f#5 ~@7 [b4,d5,e5,a5]@3 ~ [b4,g#5]@2, ~@4 g#5@2 ~@4 [e5,g#5]@7 ~@5 e5@4 ~@8 [e5,g#5]@6 ~@6 [e5,f#5] ~, ~@10 b4@4 ~@4 b4@2 ~@2 g#5 ~@13 e4@10 ~@2, ~@6 e4@5 ~@6 b4@2 ~@5]/2", // Esus4 Dsus2 E Bm7 E Esus2
  K: "[e4@4 [b4,e5,f#5,g#5] ~ e4@4 b4@2 ~@6 [d5,e5,g#5,a5]@4 b4@2 e4@4 [b4,e5,g#5]@2 e4@4 ~@8 [e5,a5]@3 ~ g#5@2, ~@6 e5 ~@3 [e5,g#5]@6 ~@2 b4@2 ~@2 [e5,g#5]@4 ~@8 [e5,g#5]@7 ~@7, ~@6 e4@5 ~@6 b4@2 ~@2 b4@3, ~@18 e4@5 ~]/2", // E Dsus2 E A5 E
  L: "[[a3,e4,a4,c#5]@10 ~@8 e4@3 ~@7 [e4,a4,c#5]@7 ~ [e4,a4,c#5]@5 ~ e4@2 ~@14 [e4,a4,c#5]@7 ~ a3@4 ~@6 [e4,a4,c#5]@5 ~ [e4,a4,c#5]@7 ~ [a3,a4,c#5]@4 e4 ~, ~@10 [a4,c#5]@7 ~ [a4,c#5]@8 ~@16 [a4,c#5]@15 ~@9 [a4,c#5]@8 ~@22, ~@10 e4@4 ~@8 e4@4 ~@20 e4@11 ~@9 e4@2 ~@2 e4@4 ~@16 e4@2 ~@4, ~@12 a3@10 ~@2 a3@11 ~ a3@10 ~@2 a3@17 ~@7 a3@17 ~@7]/4", // A
  M: "[a3,a4]@5 ~@4 e4 ~ e4, [e4,c#5]@8 ~@2 [e4,a4,c#5]@7 ~ [a4,c#5]@6, ~@6 a3@5 ~", // A C#m A
  N: "~@4 [e4,a4,c#5]@3 ~@3 [e4,a4,c#5]@7 ~ a4@4 e4 ~, a3@17 ~ [a3,c#5]@6, ~@18 e4 ~@5", // A
  O: "[b3,f#4,b4,d#5]@11 ~ [b3,f#4,b4,d#5]@11 ~", // B
  P: "[c4,g4,c5,e5]@3 ~ [c4,g4,c5,e5]@3 ~ [c4,g4,c5,e5]@4 [b3,f#4,b4,d#5]@3 ~@9", // C B
  Q: "[e6,b6] ~ [e6,b6] ~ [b4,e5,g#5]@2 [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e5,a5]@2 [e6,b6] ~ [e6,b6] ~, e4@4 [e6,b6] ~ e4@4 [e5,g#5]@7 ~ [e6,b6] ~@3 g#5@2, ~@5 b4@2 ~@2 b4@3, ~@6 e4@5 ~", // E5 E E5 A5 E5 E E5
  R: "[e6,a#6] ~ [e6,a#6,b6] ~ [b4,e5,g#5]@2 [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,b6] ~, e4@4 [e6,b6] ~ e4@4 [e5,g#5]@7 ~ e5@6, ~@5 b4@2 ~@2 g#5@2 ~, ~@6 e4@5 ~, ~@9 b4 ~ b4", // Edim E E5 E
  S: "[[e6,a#6] ~ [e6,b6] ~ [b4,e5,g#5]@2 [e6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,a#6] ~ [e6,b6] ~ [e6,b6] ~ [e5,a5]@2 [e6,b6] ~ [e6,b6] ~ a#6 ~ b6 ~ [e6,b6] ~ [e6,a#6,b6] ~ [e6,b6] ~ [e6,b6] ~ [e6,a#6] ~ [e6,b6] ~ [e6,b6] ~ [e6,a#6] ~ [e6,b6] ~ [b4,e6,b6]@2, e4@4 [e6,b6] ~ e4@2 ~@2 [e5,g#5]@7 ~ [e6,b6] ~@3 g#5@4 ~@8 [e5,g#5]@6 ~@2 [e5,g#5]@6, ~@10 b4@4 ~@4 b4@7 ~@3 [b4,e5,g#5]@4 ~@2 b4@2 ~@6 b4@2 ~@4, ~@6 e4@5 ~ [e4,e6]@2 ~ e4@2 ~ e4@5 ~]/2", // Edim E5 E E5 Edim E5 A5 E5 …
  T: "[b5,d#6] ~ [b5,d#6,e6] ~ [b4,e5,g#5]@2 [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [e5,a5,b5,e6]@2 d6@2 [g#5,b5]@2, e4@4 [b5,e6] ~ e4@4 [e5,g#5]@7 ~@7, ~@5 b4@2 ~@2 b4@3, ~@6 e4@5 ~", // B Emaj7 E E5 Esus4 G#m E5 E
  U: "[b5,d#6] ~ [b5,e6] ~ [b4,e5,g#5]@2 [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b5,e6] ~ [b4,b5]@2 d6@2 [b5,e6] ~, e4@4 [b5,e6] ~ e4@4 [e5,g#5]@7 ~ e5@6, ~@5 b4@2 ~@2 [g#5,e6]@2 ~, ~@6 e4@5 b4", // B E5 E E5 B E5 E C#m
  V: "[[f5,a#5] ~ [a#5,b5,c6] ~ [b4,e5,g#5]@2 [e5,b5] ~ [e5,b5] ~ [e5,b5] ~ [e5,b5] ~ [e5,b5] ~ [e5,b5] ~ [e5,b5] ~ g5@2 e5 ~ [e4,g5]@4 e5@2 [e4,d5]@4 b4@2 d5@4 b4 ~ d5@4 b4 ~, e4@4 ~@2 e4@2 ~@2 b4@4 ~@4 b4@7 ~@3 [b4,g#5]@4 ~@10 b4@2 ~@4, e5@2 e5@2 b5 ~@5 g#5@6 ~@2 a5@2 ~@2 g#5@4 ~@8 [e5,g#5]@6 ~@2 [e5,g#5]@6, ~@6 e4@5 ~@7 e4@5 ~]/2", // A#5 E E5 Em E7 E
  W: "~@2 c#6@2 [b4,e5,g#5,e6]@2 ~@2 c#6@2 e6@2 b5@2 c#6 ~ e6 ~ [e5,a5,b5]@2 c#6@2 [g#5,e6]@2, [e4,b5]@4 ~@2 [e4,b5]@4 [e5,g#5]@7 ~@7, ~@5 b4@2 ~@2 b4@3, ~@6 e4@5 ~", // E Esus4 C#m E5 E
  X: "~ c#6 [b4,e5,g#5,e6] ~ c#6 e6 b5 c#6 e6 b4 c#6 [b4,e6], [e4,b5]@4 ~@2 [e4,b5]@4 [e5,g#5]@7 ~ e5@6, ~@5 b4@2 ~@2 [g#5,b5]@2 ~, ~@6 e4@5 ~", // E E5 E G#m
  Y: "[~ c#6 [b4,e5,g#5,e6] [e4,b5] c#6 e6 b5 c#6 e6 [e5,a5,b5] c#6 e6 ~ c#6 e6 ~ c#6 [b4,e6] b5 c#6 e6 [b4,b5] c#6 b4, [e4,b5]@4 ~@6 [e5,g#5]@7 ~@5 g#5@4 ~@8 [e5,g#5]@6 ~@2 [e5,g#5]@6, ~@10 b4@4 ~@4 b4@7 ~@3 [b4,e5,g#5]@4 ~@14 e6 ~, ~@6 e4@5 ~ [e4,b5]@2 ~ [e4,b5]@2 ~ e4@5 ~]/2", // E E5 Esus4 E5 B E5 E E5
  Z: "[~@21 b5@7 d6@2 a5@6 g5@4 e5 ~@7, ~@21 a5 ~@26]/2",
  AA: "[~@22 b5@6 d6@2 a5@6 g5@4 e5@2 ~@4 [e3,b4,e5,g#5]@24 f#5 ~@5 [e5,g#5] ~@5 [b4,e5,g#5]@7 ~ [e5,a5]@3 ~ [e5,g#5] ~, ~@22 a5 ~@47 [b4,e5,g#5]@5 ~ b4@2 ~@12 b4@6, ~@71 e3@24 ~]/4", // E A5 E
  AB: "b4 ~ b4@2 c5@2 c#5@2 d5@2 d#5@2", AC: "[e5@15 ~]/2", AD: "[e3,b4,e5,g#5]@5 ~@19, f#5 ~@23",
})).s("gm_rock_organ").gain(0.3).pan(0.8)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
  ~@2 A ~ B C D@2 E F G H B C I ~ B C I ~ B C I ~@2 J K ~ B C I ~ B C I ~ B C I ~@9 B C D@2 B C I ~ B C D@2 ~@6 B C I ~
  B C I ~ B C I ~@2 J K ~ B C I ~ B C I ~ B C I ~@2 J K ~ B C I ~ B C I ~ B C I ~@12
>`.pickRestart({
  A: "~@10 f#5 ~@11 e5@2", B: "~@11 e5", C: "~@16 b4 ~@5 g#5 ~", D: "[~@4 f#5 ~@5 f#5 ~@5 b4 ~@5 e5@4 ~@22]/2",
  E: "~@4 f#5 ~@17 e5@2", F: "~@11 g#5", G: "~@6 e4@3 ~ f#5 ~@5 b4 ~ g#5 ~@3 b4@2", H: "~@18 f#5 ~@5",
  I: "~@4 f#5 ~@5 f#5 ~@5 b4 ~@7", J: "~@16 b4 ~@7", K: "~@4 f#5 ~@11 b4 ~@7",
})).s("gm_rock_organ").gain(0.15).pan(0.8)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C D A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C E
  F ~@2
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~@2 x ~ x", B: "x!4", C: "x!12", D: "x ~ x ~ x ~ x ~@2 x ~@2", E: "x!6", F: "x",
})).gain(0.09)

// drums · snare
const snare = s("sd").struct("<~@2 [~ x ~ x]!44 [~ x!11] [x ~ x ~ x ~ x ~@2 x ~@2] [~ x ~ x]!68 [~ x!11] x ~@3>")
  .gain(0.09)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@117 [x!2] ~@3>").gain(0.1)

// drums · mid tom
const mid_tom = s("mt").struct("<~ A ~@21 B ~@15 C ~@7 D ~@11 B ~@5 B ~@11 C ~@15 B ~@15 C ~@7 E ~@3>".pickRestart({
  A: "~@6 x ~ x!4", B: "~@5 x ~@3 x!3", C: "~ x!3", D: "~@3 x", E: "~@4 x!2",
})).gain(0.09)

// drums · high tom
const high_tom = s("ht").struct("<~ A ~@21 B ~@15 C ~@7 D ~@11 B ~@5 B ~@11 C ~@15 B ~@15 C ~@7 E ~@3>".pickRestart({
  A: "~@5 x ~@6", B: "~ x ~@2 x ~", C: "~ x!3", D: "~@3 x", E: "~ x",
})).gain(0.09)

// drums · crash
const crash = s("cr").struct("<~@46 [x!2]!2 ~@68 [x!2] ~ x ~ x>").gain(0.09)

// drums · ride
const ride = s("rd").struct("<~@2 [x ~ x!2 ~ x!2 ~ x!2 ~ x]!44 ~@2 [x ~ x!2 ~ x!2 ~ x!2 ~ x]!68 ~@5>").gain(0.07)

stack(
  electric_guitar_clean, electric_guitar_clean_2, bass, rock_organ, rock_organ_soft, kick, snare, pedal_hat, mid_tom,
  high_tom, crash, ride
)

More by The Doors