Strudelify

Seasons of Wither

Aerosmith

KeyG majorTempo98 bpm
0:00/0:00
// Seasons of Wither — Aerosmith
// 98 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 4 "Track 4" distortion guitar (copy of ch 3 "Track 3" acoustic guitar steel)
// note: Full arrangement: all 121 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(98/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.

// bass · electric bass finger · "Track 2"
const bass = note(`<
  ~@8 A B C B A D C E F@4 G@4 H@8 I@6 J K L M N O P Q L R S@3 T U@2 V@3 W@3 X@3 Y@8 Z@3 AA@8 AB AC AD@5 AE AF@2 AG@3 S@3
  AH@2 AI@4 AJ@2 AK@5 AL@6 AM@4
>`.pickRestart({
  A: "d2@4 ~@2 d2@7 ~@3", B: "d2@2 ~ d2 ~ c2@2 ~", C: "d2@2 ~ d2@4 ~", D: "d2@3 ~@3 d2@2 ~@2 c2@4 ~@2",
  E: "d2 ~ d2@2 ~@2 c2@2 ~@2 a#1@2 ~@2 f1@2", F: "[~ e1@9 f1@7 ~ f#1@7 ~ g1@6]/4",
  G: "[~@2 e1@7 ~ f1@7 ~ f#1@7 ~ g1@6]/4", H: "[~@2 e1@7 ~ f1@7 ~ f#1@7 ~ g1@7 ~ e1@7 ~ f1@7 ~ f#1@7 ~ g1@6]/8",
  I: "[~@4 e1@14 ~@2 f1@14 ~@2 f#1@14 ~@2 g1@4 ~@8 g2@3 ~@5 g2 ~ g2@4 ~@2 g2@2 ~@2 c2@10 ~@2, ~@29 g1@4 ~ g1@4 ~ g1@2 ~@7]/6",
  J: "c2 ~ b1@5 ~", K: "b1@4 e1@11 ~", L: "e1@2 ~@2 f1@11 ~", M: "f1 ~ g1@2 ~ g1 ~ g1",
  N: "~@2 g1 ~ g1@4 ~@2 g1@2 ~@2 g1@2", O: "~ g1 c2@5 ~", P: "c2 ~ b1@4 ~ f#2", Q: "b1@2 g1@2 e1@11 ~",
  R: "f1@2 ~@2 g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", S: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  T: "g1 ~ g1 ~ d2@4 ~@2 d2@6", U: "[~@2 d2@2 ~ d2 ~ c2@2 ~ d2@2 ~ d2@3]/2",
  V: "[~@2 d2@2 ~ d2 ~ c2@2 ~ d2@2 ~ d2@4 ~ d2@2 ~ d2 ~ c2]/3",
  W: "[~@2 d2@2 ~ d2@4 ~ d2@2 ~ d2 ~ c2@2 ~ d2@2 ~ d2@3]/3",
  X: "[~@4 d2@4 ~@2 d2@2 ~@2 c2@4 ~@2 d2@4 ~@2 d2@8 ~@2 d2 ~ d2@2 ~@2 c2@2 ~@2 a#1@2]/3",
  Y: "[~@2 f1@2 ~@2 e1@16 ~@2 f1@14 ~@2 f#1@14 ~@2 g1@14 ~@2 e1@11 ~ e1@2 ~@2 f1@11 ~ f1@2 ~@2 f#1@11 ~ f#1@2 ~@2 g1@8]/8",
  Z: "[~@4 g1@2 ~@2 e1@11 ~ e1@2 ~@2 f1@11 ~ f1@2 ~@2 f#1@8]/3",
  AA: "[~@4 f#1@2 ~@2 g1@11 ~ g1@2 ~@2 e1@11 ~ e1@2 ~@2 f1@11 ~ f1@2 ~@2 f#1@11 ~ f#1@2 ~@2 g1@11 ~ g1@2 ~@2 e1@10 ~@2 e1@2 ~@2 f1@11 ~ f1@2 ~@2 f#1@8]/8",
  AB: "~@2 f#1 ~ g1@2 ~ g1", AC: "~ g1 ~ g1 g2@2 g1 g2",
  AD: "[~@2 g2@3 ~ g1@2 c2@10 ~@2 c2@2 ~@2 b1@10 ~@2 b1@4 e1@10 ~@2 e1@2 ~@2 f1@11 ~ f1@2 ~@2 g1@4 ~@2 g1@2]/5",
  AE: "~@2 g1@2 ~@2 g1 ~ g1@4 ~@2 g1@2", AF: "[~@2 g1@2 ~@2 g1 ~ c2@11 ~ c2@2 ~@2 b1@8]/2",
  AG: "[~@2 f#2@2 b1@2 g1@2 e1@11 ~ e1@2 ~@2 f1@10 ~@2 f1@2 ~@2 g1 ~ g1 ~ g1 ~ g1 ~]/3",
  AH: "[g1 ~ g1 ~ g1 ~ g1 ~ d2@4 ~@2 d2@8 ~@2 d2@4 ~@2 d2@2]/2", AI: "[~ c2@2 ~ d2@2 ~ d2@4 ~ d2@2 ~ d2]/2",
  AJ: "[~@2 c2@4 ~@2 d2@4 ~@2 d2@8 ~@2 d2 ~ d2@2 ~@2 c2@2]/2",
  AK: "[~@2 a#1@2 ~@2 f1@2 ~@2 e1@18 f1@15 ~ f#1@14 ~@2 g1@20]/5", AL: "[~@10 g1!2 g2@31 ~ g1@31 ~ g1@15 ~ a1@4]/6",
  AM: "[~@2 a#1@5 ~ c2@2 ~@2 d2@48 ~@4]/4",
})).s("gm_electric_bass_finger").gain(0.53)

// chords · acoustic guitar steel · "Track 3"
const acoustic_guitar_steel = note(`<
  A B A B A B A C D E F E F E F G H@3 I J@3 K L@3 K M@3 N O@3 N P Q@7 R@8 S@8 T@3 U@8 V@8 W@5 X@7 Y@7 Z@2 AA@4 AB@2 AC
  AD AE AF AG AH AG AH AI AH AJ AK@3 ~
>`.pickRestart({
  A: "~ d3 g3 ~ d3 g3 ~ d3, g2@3 a#2@3 g2@2", B: "~ d3 g3 ~ d3 g3 ~ d3, a2@6 a#2@5 ~ a#2@4",
  C: "~ d3 g3 ~ d3 g3 c3 ~, a2@3 a#2@3 ~@2", D: "[d3,a3,d4]@2 ~ [a3,d4]@4 ~, ~@3 d3@3 ~@2",
  E: "[d3,a3,d4]@2 ~ [d3,a3,d4] ~ [c3,g3,c4]@2 ~", F: "[d3,a3,d4]@2 ~ [d3,a3,d4]@4 ~",
  G: "[d3,a3,d4] ~ [d3,a3,d4]@2 ~@2 [c3,g3,c4]@2 ~@2 [a#2,f3,a#3]@2 ~@2 [f2,c3,f3]@2", // D5 C5 A#5 F5
  H: "[~@3 d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3, ~@2 e2@7 ~ e2@9 ~ f2@5 ~ f2@9 ~ f#2@5 ~ f#2@5 ~]/3",
  I: "f#2 d3 ~ d3 g3 ~ d3 g3, ~@4 g2@5 ~ g2@5 ~",
  J: "[~@2 d3 ~@3 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 a3@2, g2@4 e2@5 ~ e2@9 ~ f2@5 ~ f2@10 f#2@5 ~ f#2@5 ~]/3",
  K: "~ d3 ~ d3 g3 ~ d3 g3, f#2@4 g2@5 ~ g2@5 ~",
  L: "[~ d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3, g2@4 e2@6 e2@10 f2@5 ~ f2@10 f#2@5 ~ f#2@5 ~]/3",
  M: "[~ d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3, g2@4 e2@5 ~ e2@10 f2@5 ~ f2@10 f#2@5 ~ f#2@5 ~]/3",
  N: "~ d3 ~ d3 g3 ~ d3 g3, f#2@4 g2@6 g2@5 ~",
  O: "[~ d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3, g2@4 e2@5 ~ e2@10 f2@6 f2@10 f#2@5 ~ f#2@6]/3",
  P: "~ d3 ~ d3 g3 ~ d3 g3, g2@4 g2@4 ~@2 g2@5 ~",
  Q: "[g2@2 d3 ~@3 d3@2 g3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 g3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 g3@2 ~@2 d3@2 g3@2, ~@4 c3@5 ~ c3@9 ~ b2@5 ~ b2@10 e2@5 ~ e2@10 f2@5 ~ f2@10 g2@5 ~ g2@9 ~ g2@5 ~ g2@9 ~ c3@5 ~ c3@6]/7",
  R: "[~@2 d3@2 ~@2 d3@2 g3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3 ~@3 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3 ~ [d3,a3,d4]@4 ~@2 [d3,a3,d4]@6, ~@4 b2@5 ~ b2@10 e2@5 ~ e2@10 f2@5 ~ f2@10 g2@4 ~@2 g2@9 ~ g2@5 ~ g2@9 ~ g2@5 ~ g2@9 ~ g2@5 ~ g2@9 ~@13]/8", // D5
  S: "[~@4 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@2 ~@2 [c3,g3,c4]@4 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@8 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@2 ~@2 [c3,g3,c4]@4 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@8 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@2 ~@2 [c3,g3,c4]@5 ~ [d3,a3,d4]@4 ~@2 [d3,a3,d4]@8 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@2 ~@2 [c3,g3,c4]@5 ~ [d3,a3,d4]@4 ~@2 [d3,a3,d4]@6]/8", // D5 C5 D5 C5 D5 C5 D5 C5 …
  T: "[~@4 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@2 ~@2 [c3,g3,c4]@4 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@8 ~@2 [d3,a3,d4] ~ [d3,a3,d4]@2 ~@2 [c3,g3,c4]@2 ~@2 [a#2,f3,a#3]@2]/3", // D5 C5 D5 C5 A#5
  U: "[~@2 [f2,c3,f3]@2 ~@6 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 a3@2 f#2@2 d3@2 ~@2 d3@2 g3@2 ~@2 d3@2 g3@2 ~@2 d3 ~@3 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 a3@2 ~@2 d3@2 ~@2 d3@2 g3@2 g2@2, ~@6 e2@7 ~ e2@9 ~ f2@5 ~ f2@9 ~ f#2@5 ~ f#2@5 ~@5 g2@5 ~ g2@5 ~ g2@4 e2@5 ~ e2@9 ~ f2@5 ~ f2@10 f#2@5 ~ f#2@5 ~ f#2@4 g2@5 ~@3]/8", // F5
  V: "[d3 g3 ~ d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3 ~ d3 ~ d3 g3 ~ d3 g3 ~ d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3 ~ d3 ~ d3 g3 g2, ~@4 g2@4 e2@6 e2@10 f2@5 ~ f2@10 f#2@5 ~ f#2@5 ~ f#2@4 g2@5 ~ g2@5 ~ g2@4 e2@5 ~ e2@10 f2@5 ~ f2@10 f#2@5 ~ f#2@5 ~ f#2@4 g2@6 ~@2]/8",
  W: "[d3 g3 ~ d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 g3@2 d3 ~ d3 a3 ~ d3 a3 ~ d3 ~ d3 g3 ~ d3 g3 ~ d3 ~ d3 g3 g2, ~@4 g2@4 e2@5 ~ e2@10 f2@6 f2@10 f#2@5 ~ f#2@6 f#2@4 g2@6 g2@5 ~ g2@4 g2@4 ~@4]/5",
  X: "[d3@2 g3@2 g2@2 d3 ~@3 d3@2 g3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 g3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 g3@2 c3@2, ~@8 c3@5 ~ c3@9 ~ b2@5 ~ b2@10 e2@5 ~ e2@10 f2@5 ~ f2@10 g2@5 ~ g2@9 ~ g2@5 ~ g2@9 ~ c3@5 ~@3]/7",
  Y: "[d3@2 g3@4 d3@2 ~@2 d3@2 g3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3 ~@3 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 ~@2 d3@2 g3@4 d3@2 ~@2 d3@2 a3@2 g2@2, ~@8 b2@5 ~ b2@10 e2@5 ~ e2@10 f2@5 ~ f2@10 g2@4 ~@2 g2@9 ~ g2@5 ~ g2@9 ~ g2@5 ~ g2@9 ~ g2@5 ~@3]/7",
  Z: "[d3@2 g3@4 d3 ~ [d3,a3,d4]@4 ~@2 [d3,a3,d4]@7 ~@3 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@2]/2", // D5
  AA: "[~ [c3,g3,c4]@2 ~ [d3,a3,d4]@2 ~ [d3,a3,d4]@4 ~ [d3,a3,d4]@2 ~ [d3,a3,d4]]/2", // C5 D5
  AB: "[~@2 [c3,g3,c4]@4 ~@2 [d3,a3,d4]@4 ~@2 [d3,a3,d4]@8 ~@2 [d3,a3,d4] ~ [d3,a3,d4]@2 ~@2 [c3,g3,c4]@2]/2", // C5 D5 C5
  AC: "~ [a#2,f3,a#3] ~ [f2,c3,f3] ~ e2@2 d3", AD: "a3 ~ d3 g3@2 d3 ~ d3, ~ e2@4 ~ f2@2",
  AE: "a3 ~ d3 g3@2 d3 ~ d3, ~@2 f2@9 ~ f#2@4", AF: "a3 ~ d3 a3 f#2 d3 ~ d3, ~@2 f#2@5 ~@5 g2@4",
  AG: "g3 ~ d3 g3 g2 d3 ~ d3, ~@2 a#2@5 ~@5 a2@4", AH: "g3 ~ d3 g3 a#2 d3 ~ d3, ~@2 a#2@5 ~@5 g2@4",
  AI: "g3 ~ d3 g3 g2 d3 ~ d3, ~ a#2@2 ~@3 a2@2", AJ: "g3 ~ d3 g3 g2 d3 a2 d3, ~@2 a#2@5 ~@9",
  AK: "[g3@2 a#2@2 d3@2 g3@2 c3@2 d3 ~ [d3,a3,d4]@28 ~@8]/3", // D5
})).s("gm_acoustic_guitar_steel").gain(0.47)

// chords · overdriven guitar · "Track 5" · Am
const overdriven_guitar = note("<~@58 [~@10 [a4,c5] ~ [a4,c5] ~ [a4,c5] ~] [[a4,c5] ~ [a4,c5] ~ [a4,c5]@6 ~@6] ~@61>")
  .s("gm_overdriven_guitar").gain(0.61)

// chords · accordion · "Track 7"
const accordion = note("<~@37 A@6 B@5 ~@73>".pickRestart({
  A: "[~@4 [c5,e5]@15 ~ d5@16 e5@15 ~ [c5,f5]@15 ~ [b4,d5,g5]@28, ~@4 g5@63 ~@29, ~@20 b4@31 ~@45]/6", // C F5 G
  B: "[~@4 [c5,e5]@15 ~ [b4,d5]@15 ~ [b4,e5]@15 ~ [c5,f5]@15 ~ [b4,d5,g5]@12, ~@4 g5@63 ~@13]/5", // C Bm E5 F5 G
})).s("gm_accordion").gain(0.17)

// chords · baritone sax · "Track 11"
const baritone_sax = note("<~@32 A@2 ~@30 B ~@7 B ~@7 B ~@40>".pickRestart({
  A: "[~@6 [d4,f#4]@3 ~@7]/2", B: "[d4,f#4]@3 ~@5",
})).s("gm_baritone_sax").gain(0.45)

// other · lead 2 sawtooth · "Track 13"
const lead_2_sawtooth = note("<~@98 A B C D E B F G H@2 I J@8 ~@4>".pickRestart({
  A: "~@8 a4 ~ a4 ~ g4@2 f#4@2", B: "g4@2 f#4@2 d4@3 ~ b4 ~ b4@2 a4@2 g4@2", C: "a4@7 ~ c5 ~ c5@2 b4@2 a4@2",
  D: "b4@2 a4@2 g4@3 ~ a4 ~ a4 ~ g4 ~ f#4 ~", E: "d4@6 ~@2 a4 ~ a4 ~ g4@2 f#4@2", F: "a4@6 ~@2 c5 ~ c5@2 b4@2 a4@2",
  G: "d5@5 ~@3 [d5,f#5] ~ [d5,f#5]@2 ~@2 [e5,g5]@2", // D Em
  H: "[~@2 [d5,f5]@2 ~@2 [c5,e5]@2 ~@2 [b4,d5]@13 ~@2 d5 e5 d5 a4@4]/2", I: "g4@5 ~ a4@2",
  J: "[~@3 a4@3 g5@58, ~@12 g4@25 ~@91]/8",
})).s("gm_lead_2_sawtooth").gain(0.57)

// drums · kick
const kick = s("bd").struct(`<
  ~@7 A B@7 C D ~@2 E F@22 G F@4 G H@2 ~ I@12 J ~@3 K L@27 M@3 N O@7 P Q@2 R ~ S ~ T ~ T ~ U ~@3
>`.pickRestart({
  A: "~@3 x ~@4", B: "x ~@2 x ~ x ~@2", C: "x ~@2 x ~ x ~ x", D: "~ x ~@6", E: "~@6 x!2", F: "~ x!2 ~@4 x",
  G: "~ x!2 ~@3 x!2", H: "~@2 x ~@3 x!2", I: "~@2 x ~@2 x ~ x", J: "~ x ~ x ~@4", K: "x!2 ~ x!2 ~@3",
  L: "~ x ~ x!2 ~@3", M: "x!2 ~@2 x ~@3", N: "~@4 x ~@2 x", O: "~ x ~@2 x ~@2 x", P: "~ x ~ x ~ x ~@2",
  Q: "~@2 x!2 ~@2 x ~", R: "~@2 x!2 ~ x!2 ~", S: "~@10 x!3 ~@3", T: "~@3 x", U: "x ~@2 x ~@2 x ~",
})).gain(0.57)

// drums · snare
const snare = s("sd").struct(`<
  ~@7 A B@7 C ~@4 D E@16 D E@5 D E@6 F G E@11 ~@4 H B@16 H B@5 H B@6 I J B@7 ~ E@2 K ~@6 J L ~@3
>`.pickRestart({
  A: "x", B: "~ x ~ x", C: "~ x ~@2", D: "x!2 ~@6 x ~@7", E: "x!2", F: "x ~@3 x!2 ~@10", G: "~ x",
  H: "~@4 x!2 ~@6 x ~@3", I: "~@4 x ~@3 x!2 ~@6", J: "~@3 x", K: "x ~@7 x!2 ~@6", L: "~@2 x ~@5 x!4 ~@4",
})).gain(0.57)

// drums · low tom
const low_tom = s("lt").struct("<~@7 [~@4 x ~@7 x!4] ~@42 [~@13 x!2 ~] [x!4 ~@12] ~@46 [~ x!2 ~ x!4 ~@8] ~@22>")
  .gain(0.57)

// drums · hihat
const hihat = s("hh").struct("<~@47 A B@3 C ~@42 D E@2 C ~@23>".pickRestart({
  A: "~@2 x!6", B: "x!8", C: "x!2 ~@6", D: "~@4 x!4", E: "x!2 ~@2 x!4",
})).gain(0.57)

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

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

// drums · ride
const ride = s("rd").struct(`<
  ~@8 A B C B C B C D ~@21 E B@9 F ~@3 G B H B H B H B H B H I ~@21 J B@9 K ~@4 A K A K A K L ~@15
>`.pickRestart({
  A: "~ x!7", B: "x!8", C: "~@5 x!3", D: "x!3 ~@5", E: "~@2 x!6", F: "x!2 ~@6", G: "~@7 x", H: "x!2 ~@5 x",
  I: "x!5 ~@3", J: "~@4 x!4", K: "x!4 ~@4", L: "~ x!6 ~",
})).gain(0.57)

stack(
  bass, acoustic_guitar_steel, overdriven_guitar, accordion, baritone_sax, lead_2_sawtooth, kick, snare, low_tom, hihat,
  mid_tom, crash, ride
)

More by Aerosmith