Strudelify

Kings and Queens

Aerosmith

KeyF minorTempo123 bpm
0:00/0:00
// Kings and Queens — Aerosmith
// 123 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "Bass" electric bass pick (copy of ch 1 "Bass" electric bass finger); ch 11 "Vocals" baritone sax (copy of ch 4 "Vocals" tenor sax, 0.108 beats late); ch 13 "Lead Guitar" distortion guitar (copy of ch 14 "Lead Guitar" distortion guitar, 0.1 beats early)
// note: Full arrangement: all 130 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): jazz guitar, mute guitar, Rythm Guitar.
setcpm(123/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 · "Bass"
const bass = note(`<
  A@2 B C B D E@3 F B C B D E@4 G H B C B D E@3 F B C B D E@4 I J K L M@5 N O P Q R S T U V W X Q R S T U V Y Z AA AB
  E@3 F Y Z AA AB E@4 A@3 AC AD ~ AE@2 AF@6 AG@2 AH AI AJ AK@3 AL@8 AM@8 AN@7 AO@2 AP@4 AQ
>`.pickRestart({
  A: "c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~", B: "f1@11 ~ f1@11 ~", C: "f1@9 ~@3 f1@11 ~",
  D: "f1@11 ~ eb2@11 ~", E: "db2@11 ~ db2@11 ~", F: "db2@11 ~ eb2@11 ~", G: "c2@8 ~ c2@3 c2@11 ~",
  H: "c2@3 bb1@3 ab1@2", I: "c2@7 ~@2 c2 ~@2 c2@11 ~", J: "c2@7 ~@2 c2 ~@2 c2@9 ~@3",
  K: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2", L: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2@3 ~@2 bb1@3 ~ ab1@3",
  M: "[f1@18 c2@3 db2@19 ~@2 f1@3 gb1@20 ~ g1@3 ab1@19 ~@2 ab1@3 bb1@14 ~ bb1@2 ~ bb1 ~@2 bb1@2 ~ bb1@2 ~]/5",
  N: "bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~",
  O: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2@2 ~ c2@2 ~",
  P: "c2@2 ~ c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2", Q: "f1@5 ~ f1@11 ~ f1@5 ~",
  R: "f1@8 ~ f1@5 ~ f1 ~@2 f1@2 ~ f1@2 ~", S: "bb1@9 bb1@5 ~ bb1@8 ~", T: "bb1@8 ~ bb1@5 ~ bb1@2 ~ bb1@5 ~",
  U: "g1@5 ~ g1@8 ~ g1 ~@2 g1@2 ~ g1@2 ~, gb1 ~@23",
  V: "ab1@2 ~ ab1 ~@2 ab1 ~@2 ab1@2 ~ ab1@2 ~ ab1 ~@2 ab1@2 ~ ab1@2 ~", W: "f1@5 ~ f1@2 ~ f1@5 ~ f1 ~@2 f1 ~@2 f1 ~@2",
  X: "f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2", Y: "f1@10 ~@2 f1@9 ~@3", Z: "f1@9 ~@3 f1@8 ~@4",
  AA: "f1@2 ~ f1@2 ~", AB: "f1@9 ~@3 eb2@10 ~@2", AC: "c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~ c2@3 ~@2 bb1@3 ~ ab1@3",
  AD: "f1@11 ~", AE: "[f2@3 c3@2 ~ g3@34 ~@2 f3@2 ~ c3@2 ~]/2",
  AF: "[db2@2 ab2@3 eb3@34 ~@2 db3@2 ab2@3 c2@6 ~ b2@5 ~ bb2@5 ~ ab2@5 ~ c2@5 ~ ab2@5 ~ g2@5 ~ gb2@5 ~ f2@2 c3@2 ~ g3@34 ~@2 f3@2 ~ c3@2 ~ db2@2]/6",
  AG: "[~ ab2@3 eb3@34 ~@2 db3@3 ab2@3 bb1@2]/2", AH: "~ bb1@3 bb1@3 bb1@3 bb1@3 bb1@3 bb1@3 bb1@3 bb1@2",
  AI: "~ bb1@3 bb1@3 bb1@3 bb1@3 bb1@3 bb1@3 bb1@3 c2@2", AJ: "~ c2@3 b2@3 b2@3 bb2@3 bb2@3 ab2@3 ab2@3 c2@2",
  AK: "[c2@3 ab2@3 ab2@3 g2@2 g2@2 g2@2 gb2@2 gb2@2 gb2@2 f1@10 ~@2 f1@9 ~@3 f1@9 ~@3 f1@8 ~@4 f1@3]/3",
  AL: "[~@9 f1@8 ~@4 f1@9 ~@3 eb2@10 ~@2 db2@10 ~ db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 eb2@10 ~@2 f1@10 ~@2 f1@9 ~@3 f1@9 ~@2 f1@8 ~@4 f1@5]/8",
  AM: "[~@7 f1@8 ~@4 f1@9 ~@3 eb2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~ db2@10 ~@2 db2@10 ~@2 f1@10 ~@2 f1@9 ~@3 f1@9 ~@3 f1@8 ~@4 f1@6]/8",
  AN: "[~@6 f1@8 ~@4 f1@9 ~@3 eb2@10 ~ db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 eb2@10 ~@2 f1@10 ~@2 f1@9 ~@2 f1@8]/7",
  AO: "~ f1@2 ~ f1@2", AP: "[~@4 eb2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~@2 db2@10 ~ db2@10 ~@2 db2@9]/4",
  AQ: "~@3 db2@10 ~@11",
})).s("gm_electric_bass_finger").gain(0.8)

// other · electric guitar jazz · "jazz guitar" · F5
const electric_guitar_jazz = note(`<
  ~@36
  [f4@2 ~ [c3,f4]@2 ~ [c3,f4]@2 ~ f4@3 f4@2 ~ f4@3 [c3,f4]@3 f4@3, ~@15 c3 ~@5 c3 ~@2]
  [f4!8, ~@3 c3 ~@2 c3 ~@8 c3 ~@2 c3 ~@2 c3 ~@2]
  [f4@2 ~ f4@2 ~ f4@2 ~ f4@3 ~@12]
  [~@15 c3 ~@2 c3 ~@2 c3 ~@2]
  ~@90
>`).s("gm_electric_guitar_jazz").gain(0.48).pan(0.7)

// other · electric guitar muted · "mute guitar"
const electric_guitar_muted = note("<~@102 A ~@8 B ~@5 C D ~@8 E F ~>".pickRestart({
  A: "~@21 [db2,db3] ~@2", B: "~@19 [db2,db3] ~@2 db2 ~", C: "~@18 [db2,db3] ~@5", D: "~@3 db2 ~@8", E: "~@4 db2 ~@19",
  F: "~ db2 ~@22",
})).s("gm_electric_guitar_muted").gain(0.8).pan(0.3)

// chords · distortion guitar · "Lead Guitar"
const distortion_guitar = note(`<
  A B C D E F C D E G@2 D E F C D E F H I C D E F C D E G@2 D E F C D E F J K L M N@5 O P@2 ~@14 Q R S T U@3 V Q R S T
  U@3 W ~@2 X Y Z ~@6 AA@4 AB AC AD@2 AE@2 AF AG AH AI AJ AK@2 AL AM AN AO AP@2 AQ AR AS AT AU AV AW@2 AX AY AZ BA BB BC
  BD@2 BE BF
>`.pickRestart({
  A: "~@6 [c3,g3,c4]!2", B: "[c3,g3,c4]!8", C: "f3@3 ab3@3 c4@3 ~@6 c4@8 ~", D: "f3@3 ~@3 c4@3 ~@6 c4@8 ~",
  E: "f3@3 ~@3 c4@3 f3@3 ~@3 c4@8 ~", F: "f3@3 ab3@3 c4@4 ~@2 f3@3 c4@6 ab3 ~@2",
  G: "[f3@3 ab3@3 c4@4 ~@2 g3@3 ab3@3 g3@3 ab3@2 ~ f3@3 ab3@3 c4@3 ~@6 c4@8 ~, ~@23 g3@2 ~@23]/2",
  H: "[c3,f4]@2 ~ [c3,f4]@2 ~ [c3,f4]@2 ~ f4@3 [c3,f4]@2 ~ f4@3 [c3,f4]@3 f4@3, ~@9 c3 ~@5 c3 ~@5 c3 ~@2", // F5
  I: "f4!8, c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2", J: "c2@7 ~@2 c2 ~@2 c2@11 ~",
  K: "c2@7 ~@2 c2 ~@2 c2@9 ~@3", L: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2",
  M: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c3@3 ~@2 bb2@3 ~ ab2@3",
  N: "[f2@17 ~ c3@3 db3@19 ~@2 f2@3 gb2@20 ~ g2@3 ab2@20 ~ ab2@3 bb2@14 ~ bb2@3 bb2@3 bb2@3 bb2@3]/5", O: "bb2!8",
  P: "c3!8", Q: "~@12 ab3 ~@2 [f3,c4,eb4,g4]@9", R: "~@12 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@9",
  S: "~@12 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@8 ~", T: "~@12 [ab3,ab4]@2 ~ [f3,c4,eb4,g4]@7 ~@2",
  U: "db2 ~@2 db2 ~@4 db2 ~@3 db2 ~@11", V: "db2 ~@2 db2@2 ~@3 db2 ~@3 [eb2,bb2,eb3]@12",
  W: "db2 ~@2 db2@2 ~@3 db2 ~@3 db2 ~@11", X: "~ [c3,g3,c4]!7",
  Y: "[c3,g3,c4]@3 [c3,g3,c4]@3 [c3,g3,c4]@3 [c3,g3,c4]@3 c2@3 ~@2 bb1@3 ~ ab1@3", Z: "f1@11 ~",
  AA: "[~@23 f5@18 g5@18 c5@11 c5@24 ab4 ~]/4", AB: "f4@10 ab4@3 c5@3 f5@6 f5@2",
  AC: "~ f5@6 f5@3 ~ c5@2 ~ ab4@2 ~ f4 ~ eb4 c4 ~ bb3 c4, ~@10 eb5@2 ~ bb4@2 ~ g4@2 ~@6",
  AD: "[~ eb4 c4 ~ eb4 f4 ~ ab4 g4 ~ ab4 bb4 ~ ab4 bb4 ~ c5 bb4 ~ ab4 bb4 ~@10 eb5@3 c5@12 eb5@2, ~@11 c5@6 ~@7]/2",
  AE: "[c5@3 bb4 ~ ab4 f4 ~ ab4 bb4 ~ c5 ~ eb5 ~ f5@3 eb5@3 ~@12 ab3 ~@2 [f3,c4,eb4,g4]@9 ~@3, ~@7 f5@8 ~]/2", // Cm
  AF: "~@9 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@9 ~@3", AG: "~@9 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@8 ~@4",
  AH: "~@9 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@7 ~@2 db2 ~@2", AI: "db2 ~@4 db2 ~@2 db2 ~@12 db2 ~ db2",
  AJ: "~@5 db2 ~@2 db2 ~@12 db2 ~ db2", AK: "[~@4 db2 ~@3 db2 ~@11 db2 ~@2 db2@2 ~@3 db2 ~@3 [eb2,bb2,eb3]@12 ~@4]/2",
  AL: "~@8 ab3 ~@2 [f3,c4,eb4,g4]@9 ~@4", AM: "~@7 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@9 ~@5",
  AN: "~@7 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@8 ~@6", AO: "~@7 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@7 ~@2 db2 ~@2 db2 ~",
  AP: "~@3 db2 ~@3 db2 ~@11 db2 ~@2 db2 ~", AQ: "~@3 db2 ~@2 db2 ~@11 db2 ~@2 db2@2 ~", AR: "~@3 db2 ~@2 db2 ~@17",
  AS: "~@6 ab3 ~@2 [f3,c4,eb4,g4]@9 ~@6", AT: "~@6 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@9 ~@6",
  AU: "~@6 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@8 ~@7", AV: "~@6 [ab3,ab4] ~@2 [f3,c4,eb4]@7 ~@2 db2 ~ db2 ~@3, ~@8 g4@7 ~@9",
  AW: "~@2 db2 ~@2 db2 ~@11 db2 ~@2 db2 ~@3", AX: "~ db2 ~@3 db2 ~@11 db2 ~@2 db2@2 ~@2",
  AY: "~ db2 ~@3 [eb2,bb2,eb3]@12 ~@7", AZ: "~@5 ab3 ~@2 [f3,c4,eb4,g4]@9 ~@7",
  BA: "~@4 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@9 ~@8", BB: "~@4 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@8 ~@9",
  BC: "~@4 [ab3,ab4] ~@2 [f3,c4,eb4,g4]@7 ~@2 db2 ~@2 db2 ~@4", BD: "db2 ~@3 db2 ~@11 db2 ~@2 db2 ~@4",
  BE: "db2 ~@2 db2 ~@11 db2 ~@2 db2@2 ~@4", BF: "db2 ~@2 db2 ~@20",
})).s("gm_distortion_guitar").gain(0.64).pan(0.7)

// chords · distortion guitar · "Lead Guitar" · soft notes
const distortion_guitar_soft = note(`<
  A ~ B C D E B C D E B C D E B C D E ~@2 B C D E B C D E B C D E B C D E ~@42 F@2 G ~@49
>`.pickRestart({
  A: "[c3,g3,c4]!6 ~@2", B: "~@3 f3 ab3 ~@2 ab3", C: "~ ab3 ~ f3 ab3 ~@2 ab3", D: "~@3 ab3@3 ~@6 ab3@4 ~@5 ab3 ~@2",
  E: "~@9 ab3@2 ~@13", F: "[c3,g3,c4]!8", G: "[c3,g3,c4] ~@7",
})).s("gm_distortion_guitar").gain(0.4).pan(0.7)

// chords · overdriven guitar · "Rythm Guitar"
const overdriven_guitar = note(`<
  ~@13 A ~@9 B ~@3 C ~@3 B ~@16 D@2 E@2 F G H@2 D@2 E@2 F G D@2 ~@2 I@4 ~@4 I@4 ~@3 J ~@12 K L@5 ~ M@2 N O@2 ~@4 P Q R
  S@3 ~ T U ~ V@2 ~@4 W X ~@2
>`.pickRestart({
  A: "~@2 c4, ~@15 eb4@8 ~", B: "~@5 [f3,eb4]@3", C: "~@5 [f3,c4,eb4]@3", D: "[f2,c3]/2", E: "[bb2,f3]/2", F: "[g2,d3]",
  G: "[ab2,eb3]", H: "[[f2,c3]@47 ~]/2", I: "~@9 [db2,db3] ~@14", J: "~@12 g2@3 ~@2 f2@3 ~ eb2@3",
  K: "~@19 [bb2,f3]@3 f3@2", // Bb5
  L: "[~ [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@3 [bb2,f3]@3 g2@47 c3@48 ~@3]/5", // Bb5
  M: "[~@23 [db2,db3]@3 ~@4 [db2,db3] ~@2 db2@2 ~@9 [db2,db3] ~@3]/2", N: "~@20 [db2,db3] ~@3", O: "~@5 [db2,db3] ~@18",
  P: "~@4 [db2,db3] ~@19", Q: "~@4 [db2,db3] ~ db3@2 ~@10 [db2,db3] ~@2 [db2,db3] ~@2", R: "~@4 db2 ~@19",
  S: "[~@3 [f2,c3]@8 ~]/3", T: "~@17 [db2,db3] ~@6", U: "~@3 db2 ~@20", V: "~@2 [db2,db3] ~@21", W: "~ [db2,db3] ~@22",
  X: "~ [db2,db3] ~ [db2,db3]@2 ~@10 [db2,db3] ~@2 [db2,db3] ~@5", // Db
})).s("gm_overdriven_guitar").gain(0.8).pan(0.3)

// chords · overdriven guitar · "Rythm Guitar" · soft notes · F7 Bb5
const overdriven_guitar_soft = note(`<
  ~@13
  [~@2 f3]
  ~@22
  [~@12 [f3,eb4] ~@11]
  ~@56
  [~@11 bb2]
  [~ bb2@3 [bb2,f3]@3 bb2@3 [bb2,f3]@3 f3@3 [bb2,f3]@3 ~@5]
  ~@35
>`).s("gm_overdriven_guitar").gain(0.48).pan(0.3)

// chords · tremolo strings · "Strings"
const tremolo_strings = note("<~@40 A@8 ~@12 B@2 C@8 ~@8 D@4 E@2 ~@9 F@7 ~@30>".pickRestart({
  A: "[c6,f6] ~ [c6,f6] ~ [c6,f6] ~ [c6,f6] ~", B: "[~ c5, [ab3,f4]@23 ~]/2", C: "[ab5 f5@3, f6]/8",
  D: "[[g5,g6]@7 ~, g3]/4", E: "[f4, f6@41 ~@7]/2", F: "[~@46 ab6@24 g6@47 ab5@48 ~@3, ~@11 f6@13 ~@60]/7",
})).s("gm_tremolo_strings").gain(0.35).pan(0.7)

// chords · tremolo strings · "Strings" · soft notes
const tremolo_strings_soft = note("<~@70 A@4 B@4 ~@21 C@6 D@8 E@8 F@8 ~>".pickRestart({
  A: "[~ f4@95, c3]/4", B: "db2/4", C: "[~@7 f5@41]/6", D: "[~@21 f4@94 db2@77, ~@20 c3@95 ~@77]/8",
  E: "[~@3 ab5@8 f5@21]/8", F: "[~@17 [c3,f4]@95 db2@80]/8",
})).s("gm_tremolo_strings").gain(0.14).pan(0.7)

// chords · piano
const piano = note("<~@84 A B C@8 ~@36>".pickRestart({
  A: "[g4,c5]@11 ~ [g4,c5]@11 ~, g5@7 ~@5 g5@7 ~@5", B: "[g4,c5]@5 ~ g5@3 f4@3, g5@7 ~@5 [g4,c5]@10 ~@2",
  C: "[[g4,c5]@11 ~ [g4,c5]@11 [g4,c5]@10 ~@2 g5@6 f4@6 [g4,c5]@11 ~ [g4,c5]@11 ~ [g4,c5]@10 ~@2 g5@6 f4@6 [g4,c5]@11 ~ [g4,c5]@11 ~ [g4,c5]@10 ~@2 g5@6 ~@5 [g4,c5]@11 ~ [g4,c5]@11 ~ [g4,c5]@10 ~@2 g5@6 f4@7 ~, g5@7 ~@5 g5@7 ~@4 g5@7 ~@5 [g4,c5]@10 ~@2 g5@7 ~@5 g5@7 ~@5 g5@6 ~@6 [g4,c5]@10 ~@2 g5@7 ~@5 g5@7 ~@5 g5@7 ~@5 [g4,c5]@10 ~ g5@7 ~@5 g5@7 ~@5 g5@7 ~@19, ~@137 f4@7 ~@34 [g4,c5]@10 ~@4]/8", // C5
})).s("gm_piano").gain(0.72).pan(0.3)

// chords · piano · soft notes
const piano_soft = note("<~@84 A B C D E D E D F G ~@36>".pickRestart({
  A: "~@6 f4@7 ~@5 f4@6", B: "~@6 f4@7 ~@11", C: "~@6 f4@7 ~@4 f4@7", D: "~@5 f4@7 ~@12", E: "~@5 f4@7 ~@5 f4@7",
  F: "~@4 f4@7 ~@5 f4@7 ~", G: "~@4 f4@7 ~@13",
})).s("gm_piano").gain(0.4).pan(0.3)

// other · distortion guitar · "Lead Guitar"
const distortion_guitar_2 = note("<~@90 A@2 B C@2 D@5 ~@30>".pickRestart({
  A: "[f5@3 g5@3 c5@2]/2", B: "c5@23 ab4",
  C: "[~ f4@10 ab4@3 c5@3 f5@6 f5@3 f5@6 f5@3 eb5@2 ~ bb4@2 ~@2 f4 ~ eb4 c4 ~ bb3, ~@37 c5@2 ~ ab4@2 ~@6, ~@41 g4@2 ~@5]/2",
  D: "[c4 ~ eb4 c4 ~ eb4 f4 ~ ab4 g4 ~ ab4 bb4 ~ ab4 bb4 ~ c5 bb4 ~ ab4 bb4 ~@10 eb5@3 c5@12 eb5@3 c5@3 bb4 ab4 f4 ~ ab4 bb4 ~ c5 ~ eb5 ~ f5@3 eb5@3 ~@12 ab3 ~@2 eb4@8 ~@27, ~@23 c5@12 ~@35 f5@50]/5",
})).s("gm_distortion_guitar").gain(0.8).pan(0)

// drums · kick
const kick = s("bd").struct(`<
  A@2 B@17 C B@18 D E F@4 G ~ H ~ G@14 B@3 I B@3 J B@3 K B@5 C L M H ~@6 N@2 O@3 P Q R S T@2 U V W@3 X W Y Z AA AB@2 AC
  AD AE@2 AF AG AH@3 AI AJ AK AL AM AK@2 AN H
>`.pickRestart({
  A: "x!8", B: "x ~@2 x ~@4", C: "x ~ x!2 ~@4", D: "x ~@5 x ~@2 x ~@13 x",
  E: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@4 x ~@3 x ~@2", F: "x ~@10 x!2 ~@2 x ~@5 x ~@2", G: "x!2 ~@2 x!2 ~@2", H: "x",
  I: "~ x", J: "x ~@2 x ~@2 x ~", K: "x ~@2 x!2 ~@3", L: "x!4 ~@4", M: "x ~@8 x ~@2 x ~@4 x ~@3 x ~@2", N: "~@23 x",
  O: "~@11 x", P: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", Q: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4",
  R: "~ x ~@22", S: "~@7 x", T: "~ x!2 ~@4 x", U: "~ x!2 ~@5", V: "~@3 x ~@3 x", W: "~@2 x ~@2 x ~@14 x ~@3",
  X: "~@2 x ~@2 x ~@8 x ~@5 x ~@3", Y: "~@2 x ~@2 x ~@13 x ~@4", Z: "~@4 x ~@14 x ~@2 x ~", AA: "~@7 x ~@11 x ~@4",
  AB: "~@4 x ~@14 x ~@4", AC: "~ x ~@4", AD: "x!2 ~ x ~@2 x ~", AE: "~ x ~@4 x ~", AF: "~ x ~@6",
  AG: "~@6 x ~@10 x ~@6", AH: "~@2 x ~@14 x ~@6", AI: "~@2 x ~@8 x ~@5 x ~@6", AJ: "~ x ~@6 x ~@3",
  AK: "~ x ~@14 x ~@7", AL: "~ x ~@14 x ~@2 x ~@4", AM: "~ x ~@2 x ~", AN: "x ~@4 x ~@2",
})).gain(0.8).pan(0.6)

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@46 A B ~@13 C ~@3 D ~@14 E F ~@6 G H ~@6 I J ~@6 K L ~@2 M N ~ O P Q ~@3 R ~@6 S T ~@4
>`.pickRestart({
  A: "~@5 x ~@8 x!2 ~@7 x", B: "~@12 x ~ x!7 ~@3", C: "x!8", D: "~@9 x!2 ~@13", E: "~@4 x!4", F: "x!4 ~@4", G: "~@23 x",
  H: "~@17 x ~@6", I: "~@10 x ~@2 x ~@5 x ~@2 x ~", J: "x ~@3 x ~@2 x ~@2 x!2 ~ x ~ x ~ x ~ x ~@4",
  K: "~@11 x ~@8 x ~@3", L: "~@2 x ~@8 x ~@2 x ~@9", M: "~@19 x!3 ~@2", N: "~ x!6 ~ x ~@15", O: "~@11 x",
  P: "~@7 x ~@7 x ~@8", Q: "x ~@8 x ~@4 x!2 ~ x ~@6", R: "~ x ~@6", S: "~@16 x!3 ~@3 x!2", T: "x!4 ~ x ~@18",
// … 54 more lines

More by Aerosmith