Strudelify
Love Her Madly cover art

1971 · L.A. Woman

Love Her Madly

The Doors

KeyA minorTempo154 bpm
0:00/0:00
// Love Her Madly — The Doors
// 153.6 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 "OVERDRIVE" overdriven guitar (copy of ch 4 "STEEL GTR" acoustic guitar steel)
// note: Full arrangement: all 114 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(153.6/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 · piano · "A.PIANO 1"
const piano = note(`<
  ~@2 A@2 B C B D E C E F G@2 B H I J K L B M N O P Q R S T U V W X Y Z AA AB AC AD@2 AE@2 AD@2 AF@2 AG@2 AH@2 AI@2 AJ
  AK ~@10 I J K L R S T U AD@2 AE@2 AD@2 AF@2 AG@2 AH@2 AI@2 AJ AK ~@2 A@2 E C E F G@2 B H I J K L E C E F E C AL AM@2 ~
>`.pickRestart({
  A: "[[e3,a3,c4]@31 ~]/2", B: "[e3,a3,c4]@3 ~ [g3,b3,d4]@3 ~ [a3,c4,e4]@3 ~ [g3,b3,d4]@3 ~",
  C: "[e3,a3,c4]@3 ~ [g3,b3,d4] ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@4 ~@2", // Am G Am
  D: "[e3,a3,c4]@3 ~ [g3,b3,c4,d4] ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@3 a3 ~@2", // Am G Am
  E: "[e3,a3,c4]@3 ~ [g3,b3,d4]@2 ~@2 [a3,c4,e4]@2 ~@2 [g3,b3,d4]@2 ~@2", // Am G Am G
  F: "[e3,a3,c4]@2 ~@2 [g3,b3,d4] ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@4 ~@2", // Am G Am
  G: "[[a3,d4,f#4]@2 ~@2 [d4,f#4]@2 a3 ~ [a3,c4,e4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@4 a3 ~ [d4,f#4]@2 a3 ~ [a3,c4,e4] ~ [a3,d4,f#4]@4 ~@2, ~@4 a3 ~@15 a3 ~@11]/2", // D Am D Am D
  H: "[e3,a3,c4]@3 ~ [g3,b3,d4] ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~ a3 ~@2", I: "a2 a3 c4 ~@2 a3 c4 e4, ~@3 e4@3 ~@2",
  J: "c3 c4 e4 ~@2 c4 e4 g4, ~@3 g4@3 ~@2", K: "~ a3 ~@4 c4 f4, f2@3 f4@3 ~@2, ~@2 c4@3 a3@2 ~",
  L: "d3@2 ~@2 d4@2 ~ d4@3 ~@2 d4@2 f#4 ~, ~ a3@2 f#4@3 ~@2, ~@5 a3@2 ~",
  M: "[e3,a3,c4]@3 ~ [g3,b3,d4] ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~@4", // Am G Am
  N: "a2@4 ~ a2 ~@8 a3@2, g2 ~@3 [e3,c4]@12, ~@4 a3@9 ~@3", O: "e2@4 g#3@9 ~ g#3 ~, ~ [e3,b3]@3",
  P: "a2@3 ~ [e3,a3,c4]@12", Q: "a2@3 ~ a3@9 ~ a3@2, ~ [e3,c4]@3, ~@4 a2 ~@11", R: "a2@4 e3@9 ~ e3@2, ~ [a3,c4]@3",
  S: "e2@4 [g#3,b3]@9 ~ g#3@2, ~ e3@3, ~@14 b3 ~", T: "a2@4 a3@9 ~ a3 ~, ~ [e3,c4]@3, ~@4 a2 ~@11",
  U: "a2@4 [e3,a3,c4]@10 e3 ~", V: "~@4 [d4,f#4]@3 ~ [a3,c4,e4] ~ [a3,d4,f#4] ~ [c4,e4]@2 a3 ~, a3@7 ~@5 a3 ~@3",
  W: "[d4,f#4]@2 a3@2 [c4,e4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@4 a3 ~", // D C D
  X: "[e3,a3,c4]@3 ~ [e3,a3,c4]@3 ~ [e3,g3,b3] ~ [e3,a3,c4] ~ [g3,b3]@2 e3 ~, ~@12 e3 ~@3", // Am Em Am G
  Y: "[a3,c4]@2 e3@2 [g3,b3] ~ [e3,a3,c4]@3 ~ [e3,a3,c4]@3 ~@3, e3 ~@15", // Am G Am
  Z: "[e3,a3,c4]@3 ~ [e3,a3,c4]@3 ~ [a3,c4] ~ [a3,c4]@5 e3, ~@7 e3@2 ~ e3@3 ~@3", // Am
  AA: "[b3,e4,g#4]@3 ~ [e4,g#4]@2 b3@2 [b3,e4,g#4] ~ [e4,g#4]@4 b3 ~, ~@4 b3 ~@5 b3@2 ~@4", // E
  AB: "[e3,a3,c4]@3 ~ [a3,c4]@2 e3 ~ [e3,g#3,b3] ~@2 [d3,a3] ~@2 e3 ~, ~@4 e3 ~@5 [e3,g#3,b3]@4 ~@2", // Am E D5 E
  AC: "[e3,a3,c4] ~@7", AD: "[[d3,a3,d4,f#4]@31 ~]/2", AE: "[[d3,a3,d4,f#4]@15 ~]/2",
  AF: "[[d3,a3,d4,f#4]@27 ~ [d3,a3,d4,f#4]@4]/2", // D
  AG: "[g2@4 g3@2 ~@2 g3 ~ [g3,b3,d4]@2 g2@2 g3@2 g2@4 g3@2 ~@2 g3 ~ g3@2 ~@2 g3@2, ~@2 [b3,d4]@2 ~@3 [b3,d4]@2 ~ [b3,d4]@2 ~ [b3,d4]@3, ~@6 g2@4 ~@12 g2@5 ~ g2@4]/2", // G Bm
  AH: "[c3@4 g3@2 c3@2 g3 ~ [g3,c4,e4]@2 c3@2 g3@2 c3@4 g3@2 ~@2 g3 ~ [g3,c4]@2 b2 ~ [g3,c4]@2, ~@2 [c4,e4]@2 ~@3 [c4,e4]@2 ~ [c4,e4]@2 ~ e4@3, ~@11 c3@2 ~ c3@2]/2", // C C5 C
  AI: "[~@2 a3 ~ a3@2 ~@2 a3 ~ [a3,c#4,e4]@2 a2@2 a3@2 ~@2 a3 ~ a3@2 ~@2 a3 ~ a3@2 ~@2 a3@2, a2@2 [c#4,e4]@2 ~@3 [c#4,e4]@2 ~ [c#4,e4]@2 ~ [c#4,e4]@3, ~@6 a2@4 ~@6 a2@5 ~ a2@5 ~ a2@4]/2", // A C#m
  AJ: "d3@4 a3@2 ~@2 a3 ~ a3@2 d3@2 a3 ~, ~@4 [d4,f#4]@4 ~@2 [d4,f#4]@5 ~, ~@3 d3@2 ~@3", // D
  AK: "[c4,f4,a4]@2 ~@2 [a3,d4,f#4]@2 ~@2 [g3,b3,d4]@3 ~ [e3,g#3,b3]@3 ~", // F D G E
  AL: "[e3,a3,c4]@3 ~ [a3,c4]@2 e3@2 [g3,b3]@2 e3@2 [g3,b3]@2 e3@2, ~@4 e3 ~@11", AM: "[e3,a3,c4]/2",
})).s("gm_piano").gain(0.42).pan(0.2)

// bass · electric bass pick · "PICK BASS"
const bass = note(`<
  ~@2 A B C@3 D C@4 E@2 C@2 F G H I J K L M L@3 M L N O P Q R S@2 T U V@2 W@2 V@2 X@2 Y Z AA@2 AB@2 AC AD AE AF C@3 AG
  C@3 AH F G H I L M L N V@2 W@2 V@2 X@2 Y Z AA@2 AB@2 AC AD ~@2 A B C@4 E@2 C@2 F G H I C@6 AI AJ@2 AK
>`.pickRestart({
  A: "a2@15 ~", B: "a2@2 g2@2 d2 e2 g2@2, g2 ~@15", C: "a1 c2 d2 e2", D: "a1@4 c2@4 d2@4 e2@3 ~", E: "d2 f#2 g2 a2",
  F: "a1 e1 g1 a1@2 g1 a1 b1", G: "c2 g1 a1 c2@2 b1 c2 e2", H: "f2@2 c2@2 d2@2 f2@4 c2@2 d2@2 f2 ~",
  I: "f#2 c#2 d2 f#1@2 e1 g1 g#1", J: "a1@2 e1@2 g1@2 a1 ~ a1@2 e1@2 g1@2 a1 ~",
  K: "a1@2 e1@2 g1@2 a1@3 ~ a1@2 e1@2 ~@2", L: "a1 ~ a1 e1 g1 a1@2 e1", M: "e2 ~ e2 b1 d2 e2@2 b1",
  N: "a1@3 ~ a1@2 e1@2 a1 ~ a1@2 c2 ~ c2@2", O: "d2 ~ d2@2 b1@2 ~@2 a1@4 c2@2 a1@2",
  P: "d2 ~ d2@2 b1@2 ~@2 a1@2 e1@2 g1@2 g#1@2", Q: "a1 ~ a1@2 f#1@2 ~@2 e1@4 g1@2 e1@2",
  R: "a1 ~ a1@2 f#1@3 ~ e1@4 g1@2 e1 ~", S: "[a1@3 ~ a1@4 c2@2 d2@2 d#2@2 e2@5 ~ e2@4 e1@4 g1@2 e1@2]/2",
  T: "a1@3 ~ a1@4 e1 ~ e1@2 g1@2 e1@2", U: "a1 ~@7", V: "[d1@11 g1 a1 d2@2 a1, ~@22 d1 ~@9]/2",
  W: "[d1@24 g1 a1@3 g1 a1@3]/2", X: "[~@16 d2 ~ d2@2 c2 ~ c2@2 b1 ~ b1 ~ a1 ~ a1@2, d1@9 ~@7]/2",
  Y: "g2@2 e2 b1 d2@2 e2 d2", Z: "g2@2 e2 b1 d2 g1 a1 b1", AA: "c2@2 a1 e1 g1@2 a1 g1", AB: "a1@2 f#1 d1 e1@2 f#1 e1",
  AC: "d2@4 b1@2 g1 ~ a1@4 b1@2 a1 ~", AD: "f2 ~ d2 ~ g1 ~ e1 ~", AE: "a1@7 g1", AF: "~ a1@13 g1@2", AG: "a1 e1 g1 g#1",
  AH: "~ a2@3 ~ a2@3 g2 a2@3 g2 a2@2 ~, g2 ~ g2 ~@5", AI: "a2@3 ~ a2@2 e2@2 g2@2 e2@2 c2@2 b1@2", AJ: "[a1@31 ~]/2",
  AK: "a1 ~@3",
})).s("gm_electric_bass_pick").gain(0.29)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@16 A@6 ~@2 B C ~@2 D E ~@16 F@2 G@2 H I J K ~@2 L M N O P Q R ~ S@4 ~@2 D E ~@8 F@2 G@2 H I J K ~@12 S@4 ~@10
>`.pickRestart({
  A: "[a5@15 ~ g5@15 ~ f5@15 ~ [f#5,d6]@15 ~ [e5,c6]@31 ~, c6@47 ~@49, e5@31 ~ a5@63 ~]/6", // D C
  B: "~@4 d6 e6@3 d6 c6 a5@2 c6@4", C: "a5 g5 e5 d#5 d5 c5 a4 g4", D: "~@4 d6 ~@3 d6@2 c6@2 a5@2 ~ a5, ~@2 e6@3 ~@2 g5",
  E: "a5 ~@7",
  F: "[[b5,d6]@4 [a5,c6]@2 [g5,b5]@3 ~ [g5,b5]@2 [a5,c6]@2 [b5,d6]@4 g5@2 [a5,c6]@2 ~@2 [a5,c6]@2 ~@2 [a5,c6]@2 [b5,d6]@2, ~@11 [b5,d6]@2 [g5,b5]@2 ~]/2", // Bm Am G Am Bm Am Bm G
  G: "[[e6,g6]@4 [d6,f6]@2 [c6,e6]@3 ~ [c6,e6]@2 [d6,f6]@2 [e6,g6]@4 c6@2 [d6,f6]@2 [e6,g6]@2 [d6,f6]@2 [c6,e6]@2 [d6,f6]@2 g6@2, ~@30 e6 ~]/2", // Em Dm C Dm Em Dm Em Dm …
  H: "[c#6,e6] a5 [b5,d6] [c#6,e6]@2 a5 [b5,d6] [c#6,e6]", // C#m Bm C#m Bm C#m
  I: "[b5,d6]@2 [a5,c#6]@2 [b5,d6]@2 [c#6,e6]@4 a5@2 [b5,d6]@2 [c#6,e6] ~", // Bm A Bm C#m Bm C#m
  J: "[a5,d6,f#6]@2 ~@2 [a5,d6,f#6]@3 ~ [a5,d6,f#6] ~ [d6,f#6]@4 a5 ~, ~@10 a5@3 ~@3", // D
  K: "[c6,f6,a6]@2 ~@2 [a5,d6,f#6]@2 ~@2 [g5,b5,d6]@2 ~@2 [e5,g#5,b5]@3 ~", // F D G E
  L: "[a5,c6]@4 [g5,b5]@2 [a5,c6]@2 [e5,a5] ~@3 [a5,c6]@4", // Am G Am A5 Am
  M: "g5@2 [a5,c6]@2 [e5,a5] ~@3 [a5,c6]@4 a5@2 ~@2, b5 ~@11 e5 ~@3", // Am A5 Am
  N: "[c6,e6]@4 b5@2 [c6,e6]@2 [a5,c6] ~@3 [c6,e6]@4, ~@4 d6 ~@11", // C Am C
  O: "b5@2 [c6,e6]@2 [a5,c6] ~@3 [c6,e6]@2 b5@2 [a5,c6] ~@3, d6 ~@9 d6 ~@5", // C Am C Am
  P: "[e6,g6]@4 f#6@2 g6@2 c6@2 ~@2 [b5,d6]@2 [c6,e6] ~, ~@4 d6 ~ e6 ~ e6 ~@7", // Em Bm C
  Q: "[e6,g6] c6 b5 [c6,e6]@3 [b5,d6] c6, ~@4 d6 ~@9 e6 ~", // Em C Bm
  R: "[e6,g6]@4 d6@2 [e6,g6]@2 c6@2 ~@2 [d6,f#6] ~ [e6,a6]@2, ~@4 f#6 ~@11", // Em D A5
  S: "[a5@15 ~ g5@15 ~ f5@15 ~ [f#5,d6]@15 ~, c6@47 ~@17, e5@31 ~ a5@32]/4", // D
})).s("gm_rock_organ").gain(0.41)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B@7 C@4 D@2 C E F G H I J K L M N@2 O P Q@2 R@2 S@2 T U V W X Y X Y X Y Z AA ~@8 A B ~@8 F G H I O P Q@2 X Y X Y X Y
  Z AA ~@8 A B@3 C@4 D@2 C E F G H I C@6 AB@3 ~
>`.pickRestart({
  A: "[e3,a3,c4] ~ [e3,a3,c4]@2 ~@2 [e3,a3,c4]@2 ~@2 [e3,a3,c4]@3 ~ [e3,g3,b3] ~", // Am Em
  B: "[e3,a3,c4] ~ [e3,a3,c4]@3 ~ [e3,a3,c4]@3 ~ [e3,a3,c4]@3 ~ [e3,g3,b3] ~", // Am Em
  C: "a2 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]", // Am
  D: "d3 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]", // D
  E: "a2@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4] ~", // Am
  F: "~ [e3,a3,c4] ~ [e3,a3,c4] ~ [e3,a3,c4] ~ [e3,a3,c4]", G: "~ [e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4]",
  H: "~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4]", // F
  I: "~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]", // D
  J: "~@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2", // Am
  K: "~@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~@2 [a3,c4,e4] ~", // Am
  L: "~@4 [a3,c4]@2 ~@2 a3 ~ a3@2 ~@2 a3@2, [a4,c5]@15 ~, [a2,e4]@3 ~@2 [c4,e4]@3, ~@3 a2", // Am A5 C
  M: "b4 ~ e3 ~@3 e2@2 e3 ~ e3@2 e2@2 e3@2, g#4@15 ~, e2@4 [e3,g#3,b3]@3 ~@3 [g#3,b3]@6, ~@5 b4@10 ~", // E G#m
  N: "[a2@3 ~ [a3,c4]@2 a2 ~ [a3,c4] ~ a3@2 a2@2 a3@2 a2@2 ~@2 [c4,e4]@2 a2@2 a3 ~ a3@2 a2@2 a3@2, [a4,c5]@31 ~, e4@7 ~@3 [c4,e4]@8 ~@2 a3 ~@5 [c4,e4]@6]/2", // Am C Am C
  O: "a2@2 ~@2 [a3,c4,e4]@2 a2 ~ a3 ~ a3@2 ~@2 a3@2, [a4,c5]@15 ~, e4 ~@9 [c4,e4]@6, ~@3 a2", // Am C
  P: "e2@3 ~ [e3,g#3,b3]@2 e2@2 e3 ~ e3@2 ~@2 e3 ~, [g#4,b4]@15 ~, ~@10 [g#3,b3]@5 ~, ~@3 e2", // E G#m
  Q: "[a2@2 ~ a2 a3@2 a2 ~ a3 ~ a3@2 a2@2 a3@2 a2@2 ~@2 [c4,d4] ~@3 d4@2 c4@2 a3@2 g3 ~, [a4,c5], ~@4 [c4,e4]@4 ~@2 [c4,e4]@7 ~@3 e4@4 ~@8, ~@10 a3 ~@5]/2", // Csus2 Am C
  R: "[[a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 a4 ~ [a4,d5,f#5] ~ [a4,d5,f#5]@3 ~ [d5,f#5]@4 a4 ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~ [d5,f#5]@4 a4 ~, ~@14 a4@3 ~@9 a4@2 ~@4]/2", // D
  S: "[[a4,c5,e5]@2 ~@2 [a4,c5,e5]@2 a4 ~ [a4,c5,e5] ~ [a4,c5,e5]@3 ~ [a4,c5,e5]@4 a4 ~ [a4,c5,e5]@2 a4 ~ [a4,c5,e5] ~ [c5,e5]@4 a4 ~, ~@13 a4 ~@2]/2", // Am C
  T: "[a4,c5,e5]@2 ~@2 [a4,c5,e5]@2 a4 ~ [a4,c5,e5] ~ [c5,e5]@4 a4 ~, ~@5 a4 ~@2", // Am C
  U: "[b4,e5,g#5]@3 ~ [b4,e5,g#5]@2 b4 ~ [b4,e5,g#5] ~ [e5,g#5]@4 b4 ~, ~@5 b4 ~@2", // E
  V: "[a4,c5,e5]@3 ~ [a4,c5,e5]@2 a4 ~ [e4,g#4,b4] ~ [g#4,b4]@4 e4 ~, ~@10 e4 ~@5", W: "[e4,a4,c5] ~@15",
  X: "[c4,c5]@2 [e4,e5]@2 [c4,c5] [f#4,f#5]@2 [c4,c5]", Y: "[g4,g5]@2 [c4,c5] [f#4,f#5]@2 [c4,c5] [e4,e5]@2",
  Z: "[c4,c5]@2 [g4,g5]@2 [c4,c5] [f#4,f#5]@2 [c4,c5]", AA: "[e4,e5]@4 [c4,c5]@2 [e4,e5]@4 [c4,c5]@2 [f#4,f#5]@3 ~",
  AB: "[[e3,a3,c4]@3 ~ [e3,a3,c4]@2 e3@2 [g3,b3]@2 e3@2 [g3,b3]@2 ~@2 [a3,c4]@32, ~@7 e3@17]/3", // Am G Am
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.8)

// drums · kick
const kick = s("bd").struct(`<
  A@4 B@18 C@8 B@8 D E D E D E D E B@7 C A@2 B@12 C@4 D E D E D E D E B@7 C A@4 B@19 A ~@2
>`.pickRestart({
  A: "x", B: "x!2", C: "x!4", D: "x ~@2 x!2 ~@2 x", E: "x ~@2 x!2 ~@3",
})).gain(0.14)

// drums · snare
const snare = s("sd").struct(`<
  A@3 B C@11 D C@13 E C@7 ~@9 C@7 F A@2 C@7 D C@7 E ~@8 C@7 F A@3 B C@7 D C@11 G ~@2
>`.pickRestart({
  A: "~ x!3", B: "~@4 x ~@3 x!5 ~ x ~", C: "~ x ~ x", D: "~@2 x ~@2 x ~ x", E: "~ x ~@2", F: "x!4", G: "x",
})).gain(0.14)

// drums · low tom
const low_tom = s("lt").struct("<~@29 A ~@7 B ~@3 C ~@2 D ~@26 A ~@3 C ~@2 D ~@35>".pickRestart({
  A: "~@6 x!2", B: "~@3 x", C: "~@7 x", D: "x",
})).gain(0.14)

// drums · low tom · soft notes
const low_tom_soft = s("lt").struct("<~@29 A ~@11 A ~@29 A ~@3 A ~@38>".pickRestart({
  A: "~@15 x",
})).gain(0.09)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@3 A ~@49 B ~@33 B ~@3 A ~@22>".pickRestart({
  A: "~ x ~@2", B: "x!4",
})).gain(0.14)

// drums · mid tom
const mid_tom = s("mt").struct("<~@29 A ~@7 B ~@3 C ~ D ~ D ~@25 A ~@3 C ~ D ~ D ~@34>".pickRestart({
  A: "~@7 x ~@2 x ~@5", B: "~ x ~ x ~ x ~@2", C: "~@3 x", D: "~@6 x!2",
})).gain(0.14)

// drums · high tom
const high_tom = s("ht").struct("<~@29 A ~@7 B ~@3 C ~ D ~ E ~@25 A ~@3 C ~ D ~ E ~@34>".pickRestart({
  A: "~@4 x!3 ~@9", B: "x", C: "~@3 x ~ x ~@2", D: "~@8 x!4 ~@4", E: "~@2 x ~@2 x ~@2",
})).gain(0.12)

// drums · crash
const crash = s("cr").struct("<~@16 A@4 ~@17 A ~@26 A@4 ~@32 A@4 ~@7 A ~@2>".pickRestart({
  A: "x",
})).gain(0.09)

// drums · ride
const ride = s("rd").struct(`<
  ~@4 A@11 B C@4 D E A@15 ~ F@8 A@7 ~@3 A@7 B C@4 A@4 F@8 A@7 ~@5 A@7 B C@4 A@7 ~@3
>`.pickRestart({
  A: "x!8", B: "x!5 ~@3", C: "~@2 x!2 ~ x ~ x", D: "x!3 ~ x!4", E: "x ~ x!6", F: "~ x ~ x",
})).gain(0.09)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@38
  [x!2 ~ x!3 ~ x]!7
  [x!2 ~ x!3 ~@2]
  ~@26
  [x!2 ~ x!3 ~ x]!7
  [x!2 ~ x!3 ~@2]
  ~@34
>`).gain(0.53)

stack(
  piano, bass, rock_organ, acoustic_guitar_steel, kick, snare, low_tom, low_tom_soft, pedal_hat, mid_tom, high_tom,
  crash, ride, cabasa
)

More by The Doors