Strudelify

Get Over It

Eagles

KeyD minorTempo169 bpm
0:00/0:00
// Get Over It — Eagles
// 169 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 141 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(169/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
const bass = note(`<
  ~@11 A@2 B@2 C D E F G H I J K L M N O P Q@2 R@2 S@2 T@2 R U R@2 S@2 T@2 E F G H I J K L M N O P Q@2 R@2 S@2 T@2 R U
  R@2 S@2 T@2 R U R@2 S@2 T@2 R U V W X ~ Y@2 Z AA AB AC G H I J K L M N O P Q@2 R@2 S@2 T@2 R U R@2 S@2 T@2 AD ~ R@2
  S@2 T@2 R U R@2 S@2 T@2 AD AE@4 ~
>`.pickRestart({
  A: "[d2@3 ~ d2 ~ d2@6 d2 ~ d2@4 d2@2 ~@2 d2@4 c2@2 a1@2 c2@2]/2",
  B: "[d2@6 d2 ~@3 d2 ~@3 d2@4 d1@2 d2 ~ d2@4 c2@2 a1@4]/2", C: "d2@5 ~ d2@2 ~@2 d2@2 ~@2 d2@2",
  D: "~@2 d2@2 ~@2 d2@4 c2@2 g1@2 c2 ~", E: "d2@3 ~ d2 ~@3 d2@2 c2@2 a1@2 d2@2", F: "d1 ~@7",
  G: "d2@4 ~@2 d2 ~@5 a1@2 d2 ~, ~@5 d2@2 ~", H: "d2@4 d2 ~ d2 ~ d2@2 d2@4 a1@2", I: "d2@3 ~ d2@3 ~ d2 ~ d2@4 d2@2",
  J: "d2@2 ~ d2 ~ d2 c2 a1", K: "d2@5 ~ d2@2 ~@4 c2@2 a1@2, ~@5 d2@2 ~", L: "d2@4 d2 ~ d2@2 ~@2 d2 ~ d2@2 c2@2",
  M: "d2@4 d2@2 ~@2 d2 ~ d2@3 ~ d2 ~", N: "d2@4 d2 ~ d2@3 ~ d2@2 c2@2 d2@2", O: "g1@4 g2@2 g1@2 g2 ~ g2@4 g1@2",
  P: "g2@2 g2@3 ~ g2@4 g1@2 ~@2 d2@2, ~@3 g2", Q: "[a1@4 a2@2 a1@2 a2 ~ a2@3 ~ a2@4 a1@2 a2 ~ a2@4 a1@2 d2@2 a2 ~]/2",
  R: "d1 d2 d1 d2 d1 d2 d1 d2", S: "f1 f2 f1 f2 f1 f2 f1 f2", T: "g1 g2 g1 g2 g1 g2 g1 g2",
  U: "d1@2 d2@2 d1@2 d2@3 ~ d2@2 c2@2 a1@2", V: "c2@3 ~ c2@4 c2@3 ~ c2@3 ~", W: "c2@3 ~ c2@3 ~ c2@3 ~ c2 ~ c2@2",
  X: "~@2 d2 ~ d2@2 ~@2 d2@3 ~@5", Y: "[c2@23 ~ c2@3 ~ c2@4]/2", Z: "a1@3 ~ a1@4 a1@3 ~ a1@3 ~",
  AA: "a1@3 ~ a1@3 ~ a1@3 ~ a1@4", AB: "a1 a2 ~ a2 a1 a2 a1 a2, ~ a1 ~@2",
  AC: "a1@2 a2@2 a1@2 a2@2 a1@2 a2@2 a1@2 a2 ~", AD: "d2 ~@7", AE: "[a2@2 ~ g2@2 ~ f2@2 d2@54 ~@2]/4",
})).s("gm_electric_bass_finger").gain(0.4).pan(0.6)

// chords · epiano2
const epiano2 = note(`<
  ~@11 A@2 B@4 C D E@4 F@4 G@2 H@2 I@2 J@2 K@2 L@2 I@2 J@2 K@2 C D E@4 F@4 G@2 H@2 I@2 J@2 K@2 L@2 I@2 J@2 K@2 L@2 I@2
  J@2 K@2 L@2 M@3 ~ N@2 O@2 P@2 E@4 F@4 G@2 H@2 I@2 J@2 K@2 L@2 I@2 J@2 K@2 ~@2 I@2 J@2 K@2 L@2 I@2 J@2 K@2 Q R@5
>`.pickRestart({
  A: "[a2@13 ~@2 d2, [a3,d4], d2@15 ~, d3@7 d3, ~@13 a2@3]/2", // D5
  B: "[~@2 d3@4 ~ a3@2 ~@7 d2@5 d2@2 ~@3 [d3,d4] [d3,a3,d4] d2 ~@2 a3, d2@14 [d2,a2]@2 ~@9 d2@3 ~@2 d2@2, ~@9 a3@2 [a3,d4]@2 [d3,a3,d4]@2 d4@8 ~@9, ~@10 a2@2 a2@2 ~ a3@7 ~@10, ~@15 d3@5 ~@3 [d3,a3,d4]@3 ~@3 [d3,a3,d4]@2 ~]/4", // D D5
  C: "[d3,a3,d4] ~@6 d2, ~ d2@4 d2@2 ~, ~@2 [d3,a3,d4]!2", D: "[d3,a3,d4] ~@7",
  E: "[[d2,a2]@23 ~@3 [d3,a3,d4] ~@3 [d3,a3]@28 d3@2 a2 ~ d3@2, d3@18 ~@12 d4@31 ~@3]/4", // D5
  F: "[d2@26 [a3,d4] ~@3 [d3,a3,d4]@32 ~@2, ~@13 d3 ~@18]/4", G: "[[g2,d3,g3]@23 ~ [g2,d3,g3]@7 ~]/2",
  H: "[[a2,e3]@8 [a2,e3]@8 [a2,e3,a4]@11 ~@5, a3@27 ~@5, ~@8 e4@19 ~@5]/2", I: "[d3,a3,d4]/2", J: "[f3,c4,f4]/2",
  K: "[[g3,b3,d4], g2@11 ~@5]/2", // G
  L: "[d4@12 ~@14 [d4,a4,d5]@3 ~@3, a3@29 ~@3, d3@18 d3@6 d3@5 ~@3, ~@7 a4@3 [d4,a4,d5]@3 ~@3]/2", // D5
  M: "[[c3,g3,c4]@30 ~@4 [d3,a3,d4]@2 [d3,a3,d4]@3 ~ [d3,a3,d4]@2 ~@6, ~@5 [c3,g3,c4] ~@2]/3", N: "[[c3,g3,c4]@31 ~]/2",
  O: "[[a2,e3,a3]@5 ~ [a2,e3,a3] ~@21 [a2,e3]@4, ~@5 [a2,e3]@3 [a2,e3]@3 [a2,e3]@3 ~@2, ~@6 a3@3 a3@3 a3@4]/2", // A5
  P: "[~@2 [e4,a4]@2 [e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 ~@14 [a2,e3]@2 [a3,e4,a4] ~, [a2,e3]@4 [a2,e3]!3 ~, ~@7 [a3,e4,a4]@2 b3@6 ~, ~@9 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 ~]/2", // A5
  Q: "[d3,d4] ~@3, a3 ~@7", // D
  R: "[a3 ~@2 g3 ~@2 f3 ~@2 d3@2 d2@2 ~ d3 d3@3 d3@2 d4@3 ~@2 [a3,d4]@2 d4 [d3,d4]@3 ~@16 c4@24 ~@9, ~@7 d2@16 ~@17, ~@28 a3@5 ~@6 d3@5 d3@27 ~@9, ~@42 d4@29 ~@9]/5", // D5 D
})).s("gm_epiano2").gain(0.4).pan(0.8)

// chords · epiano2 · soft notes
const epiano2_soft = note(`<
  ~@13 A@2 B C ~@20 D@2 ~@26 D@2 ~@6 D@2 ~@6 D@2 ~@8 E ~@19 D@2 ~@14 D@2 ~@7 F G@4
>`.pickRestart({
  A: "[~@6 [d3,a3] d3@2 d3@2 d3@2 ~@3]/2", B: "~@4 d3@2 [d3,a3] ~", C: "~@2 a3 ~@4 [d3,d4]",
  D: "[~@7 d5@3 ~@6, ~@3 d4@2 ~@3]/2", E: "~ a3!2 ~@5", F: "~@13 d2 ~@2, ~@6 d3 ~",
  G: "[~@5 d3@2 [d3,d4]@2 d3@2 [d3,a3] ~@3 d3@3 ~@3 c4@10 ~@33, ~@15 d4@11 ~@38, ~@9 a3@16 ~@7, ~@19 d3@4 ~@41]/4", // D D5
})).s("gm_epiano2").gain(0.25).pan(0.8)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~ A B@4 C@4 D E@2 F@2 G@2 H I J K L M N O J P Q R S T U V W@2 X@2 Y Z AA AB AC AD AE AF AG AH J K L M N O J P Q R S T
  U V W@2 X@2 Y Z AI@4 AJ@2 AK AL AM@2 AN@4 AO AP AQ@3 ~ AR@2 AS@4 J K L M N O J P Q R S T U V W@2 X@2 Y Z U V W@2 X@2
  AT AU AV AW AX@2 AY AZ BA BB BC BD@2 BE BF BG BH BI@5
>`.pickRestart({
  A: "~@8 a3@2 ~ c4@2 ~ d4 ~", B: "[~ eb4@4 ~ eb4@13 ~ d4@30 ~@6 d4@2 f4@2 ~ g4@2 ~]/4",
  C: "[~ g4@26 ~ g4@7 f4@3 d4@22 ~@4]/4", D: "f4 d4 c4 a3 g3 f3 d3 c3", E: "[[d3,a3,d4]@7 [c4,g4,c5]@8 ~]/2",
  F: "[[d3,a3]@14 [c4,g4,c5]@17 ~]/2", G: "[[d3,a3,d4]@7 [c4,g4,c5]@9]/2", H: "[d3,a3,d4]@3 ~@13",
  I: "[d4,a4,d5]@3 ~@13", J: "~@2 [d3,a3,d4] ~@5 [d3,a3,d4] ~@7",
  K: "d3 ~ [d3,a3,d4] ~@3 [d3,a3,d4] ~@3 d3@2 [a3,d4]@2 d3@2", L: "~@4 [d3,a3,d4] ~@5 [d3,a3,d4] ~@5",
  M: "[d3,a3,d4] ~@5 d4@4 d3@2 c4@3 ~, ~@3 a3@5, ~@3 d3 ~@4", N: "d3 ~ [d3,a3,d4] ~@5 [d3,a3,d4] ~@7",
  O: "~@2 [d3,a3,d4] ~@5 [a3,d4]@4 d3@2 a3@2, ~@4 d3 ~@3", P: "~@2 [d3,a3,d4] ~@5 [a3,d4]@4 d3@3 ~, ~@8 d3@3 ~@5",
  Q: "g2@2 [d3,g3] ~@5 [d3,g3]@5 ~@3, ~@6 g2@7 ~@3", R: "~@2 [d3,g3] ~@3 g2@2 [d3,g3]@4 g2@3 ~",
  S: "~@2 [e3,a3]@7 ~ [e3,a3] ~@3 [e3,a3]@2, a2@9 ~@7", T: "a2@2 [e3,a3] a2@2 a2 [e3,a3] ~", U: "[d3,a3,d4]@13 ~@3",
  V: "[g4,c5]@15 ~", W: "[[f2,c3,f3]@6 ~ [g4,c5]@7 ~@2]/2", X: "[~@7 [g4,c5]@7 ~@2, [g2,d3,g3]@17 ~@15]/2",
  Y: "[a3,d4]@9 ~@7, d3@11 ~@5", Z: "~@2 [d3,d4] ~@5 [d3,d4]@4 ~@4", AA: "[a4,c5]@4 f4 g4 f4@2", AB: "d4@4 ~ d4 f4 d4",
  AC: "g4@3 bb4 ~@2 bb4@2 g4@2 ~ bb4 ~@2 bb4@2", AD: "~ g4@10 ~@3 d4@2",
  AE: "[g4,b4]@2 [f4,a4]@4 d4 ~ [g4,b4]@2 [f4,a4]@4 d4@2", AF: "[g4,b4] [f4,a4]@2 d4 a4 g4 d4 f4",
  AG: "g4@2 ~ g4@2 ~ f4@2 g4@2 ~ f4@2 ~ d4@2", AH: "c4@3 ~@13",
  AI: "[c4@11 c4@2 d4 c4 f4@3 f4@2 f4@2 f4@3 e4@3 d4@4]/4", AJ: "[~ g4@3 g4@3 d4@6 d4 g4 d4]/2",
  AK: "g4@3 ~ bb4@2 g4@4 bb4@2 g4@4", AL: "bb4@2 g4@4 bb4@2 g4 ~ bb4 ~ bb4 ~ bb4@2",
  AM: "[c5@3 ~ c5@14 c5@4 a4@2 c5@4 d5@4]/2",
  AN: "[d5@5 ~ d5@12 f5@5 ~ f5@4 d5@6 f5@4 d5@2 f5@4 d5@2 f5@4 d5@2 f5@4 d5@2 f5@2 ~@2 f5@2, ~@15 d5]/4",
  AO: "g5@3 ~ g5@6 ~@4 f5@2, ~@5 g5@3", AP: "d5 f5 d5 c5 d5 c5 a4 g4",
  AQ: "[[c3,g3,c4]@29 ~ [c3,g3,c4]@4 [d3,a3,d4] ~ [d3,a3,d4]@3 ~ [d3,a3,d4]@2 ~@6]/3", AR: "[c3,g3,c4]/2",
  AS: "[a3@12 ~@20 [a3,e4,a4]@4 [a3,e4,a4]@3 ~ [a3,e4,a4]@4 [a3,e4,a4]@4 [a3,e4,a4]@2 a2@2 [a3,e4,a4]@2 a2@2 [a3,e4,a4]@2 a2@2 [a3,e4,a4]@2 a2 ~, e3 ~, a2@8 a2@3 a2@3 a2@11 ~@7, ~@6 a3@3 a3@3 a3@4 ~@16]/4", // A5
  AT: "d3 ~@7", AU: "~@10 [d5,f5] ~ [d5,f5] ~ [d5,f5] ~", AV: "[d5,f5]@4 [d5,f5]@3 ~ [d5,f5]@4 [d5,f5]@4",
  AW: "[d5,f5] e5 d5 d5@3 d5@2", AX: "[c5@6 c5@5 ~ c5@6 ~@4 a4@2 c5@4 a4@3 ~, ~@9 c5@3 ~@4]/2",
  AY: "g4@4 g4 ~ g4@4 f4@2 g4@4", AZ: "f4@5 ~ f4@4 d4@3 ~ f4@2", BA: "~@2 c4@3 ~ d4@3 ~ c4@3 ~ d4@2",
  BB: "~@2 c4@4 d4@2 c4 ~ d4 ~ c4 ~ d4 ~", BC: "c6@7 ~ c6@2 b5@2 a5 ~ b5@2",
  BD: "[~@2 a5@2 ~@2 g5@7 ~ g5@4 f5@2 g5@6 f5@2 d5@2 f5@2]/2", BE: "d5 f5 d5 c5@4 ~", BF: "f5@2 d5 a4 f5@2 d5 a4",
  BG: "f5 d5 a4 c5 d5 c5 a4 d5", BH: "d5 ~@2 c5 ~@2 a4 ~@2 g4 ~ f4 d4@3 c4, ~@4 ab4 ~@3",
  BI: "[~ g4@2 g4@2 ~ f4@2 ~ d4@8 c5@3 c5@3 ~ c5@7 a4@2 g4@36 ~@11]/5",
})).s("gm_overdriven_guitar").gain(0.4).pan(0.4)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@11 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 U V W X Y Z AC H I J K L M N O P Q R S T U V W X Y Z AA
  AB U V W X Y Z AA AB U V W X Y Z AA AB AD@3 ~ AE@2 AF AG@3 I J K L M N O P Q R S T U V W X Y Z AA AB U V W X Y Z ~@2 U
  V W X Y Z AA AB U V W X Y Z AH AI@4 ~
>`.pickRestart({
  A: "[d2,d3,a3]@3 ~ [d3,b3]@2 d2@2 [d3,a3]@2 d2@2 [d3,b3] ~ [d3,a3]@2", // D5 G D5 G D5
  B: "d2 ~ a3@2 [d3,b3]@2 d2@2 ~@2 d2@2 [d3,b3]@2 d2 ~, ~@2 d3 ~@5 [d3,a3]@4 ~@4", // G D5
  C: "[d2,d3,a3]@4 [d3,b3]@2 d2 ~ [d3,a3]@4 [d3,b3] ~ [d3,a3]@2", // D5 G D5 G D5
  D: "~@2 [d3,a3]@2 [d2,d3,b3]@4 [d3,a3]@2 d2@2 d3 ~ d2@2, ~@3 b3", // D5 G D5
  E: "[d3,a3]@3 ~ [d3,b3]@2 d2 ~ [d3,a3]@3 ~ [d3,b3] ~ [d3,a3]@2, d2 ~@3", // D5 G D5 G D5
  F: "~@2 [d3,a3] ~ [d3,b3]@2 d2@2 [d3,a3]@2 d2@2 [d3,b3]@2 d2@2", // D5 G D5 G
  G: "[d3,a3]@3 ~ [d3,b3]@2 d2 ~ [d3,a3]@2 d2 ~ [d3,b3]@2 d2@2", H: "[d3,a3] ~@7",
  I: "[d3,a3]@4 b3 ~@3 [d3,a3] ~ [d3,a3]@2 b3@2 [d3,a3]@2", // D5
  J: "~@2 [d3,a3]@2 b3@2 ~@2 [d3,a3] ~@3 b3@2 [d3,a3] ~, ~@5 [d3,a3]@2 ~", // D5
  K: "[d3,a3]@4 b3 ~@3 [d3,a3]@3 ~ b3 ~ [d3,a3] ~", L: "~@2 [d3,a3] ~ b3@2 [d3,a3] ~@3 [d3,a3]@2 b3@2 [d3,a3] ~",
  M: "[d3,a3]@4 b3@2 ~@2 [d3,a3] ~ [d3,a3] ~ b3 ~ [d3,a3]@2", // D5
  N: "~@2 [d3,a3]@2 b3@2 ~@2 [d3,a3] ~ [d3,a3]@2 b3@2 [d3,a3] ~", // D5
  O: "[d3,a3]@4 b3@2 ~@2 [d3,a3] ~ [d3,a3] ~ b3 ~ [d3,a3] ~", P: "~@2 [d3,a3]@2 b3@2 [d3,a3]@3 ~ [d3,a3]@2 b3@3 ~",
  Q: "[g2,d3]@4 e3@2 ~@2 [g2,d3] ~ [g2,d3]@2 e3@2 [g2,d3]@2", R: "~@2 [g2,d3]@2 e3@2 ~@2 [g2,d3] ~ [g2,d3]@2 e3@2 ~@2",
  S: "[a2,e3]@4 gb3@2 ~@2 [a2,e3] ~ [a2,e3]@2 gb3 ~ [a2,e3]@2", // A5
  T: "~@2 [a2,e3]@2 gb3@2 [a2,e3]@2 ~@2 [a2,e3]@2 gb3@2 [a2,e3] ~", U: "[d3,a3]@4 b3@2 ~@2 [d3,a3]@4 b3 ~ [d3,a3]@2",
  V: "~@2 [d3,a3]@2 b3@3 ~ [d3,a3] ~ [d3,a3]@2 b3@3 ~", W: "[f2,c3]@4 d3@2 ~@2 [f2,c3]@4 d3 ~ [f2,c3]@2",
  X: "~@2 [f2,c3]@2 d3@2 ~@2 [f2,c3] ~ [f2,c3]@2 d3@2 [f2,c3] ~", Y: "[g2,d3]@2 e3 ~ [g2,d3]@2 e3 [g2,d3]",
  Z: "~@2 [g2,d3]@2 e3@2 ~@2 [g2,d3]@4 e3 ~@3", AA: "[d3,a3]@4 b3 ~@3 [d3,a3]@4 b3 ~ [d3,a3]@2",
  AB: "~@2 [d3,a3]@2 b3 ~@3 [d3,a3] ~ [d3,a3]@2 b3 ~ [d3,a3] ~", // D5
  AC: "[d3,a3]@3 ~ [d3,b3]@2 d2 ~ [d3,a3]@2 d2 ~ [d3,b3]@2 d2@2, d2 ~@15", // D5 G D5 G
  AD: "[[c3,g3]@16 [c3,g3]@2 [c3,g3]@9 ~@3 [c3,g3,c4]@4 [d3,a3,d4] ~ [d3,a3,d4]@2 ~@2 [d3,a3,d4]@2 ~@6, c4@9 ~@7]/3", // C5 D5
  AE: "[c3,g3,c4]/2", AF: "~@7 a3, [a2,e3]@3 [a2,e3], ~@4 a3@3 ~",
  AG: "[a2@2 a3@2 a2@2 a3@2 a2@2 a3@2 a2@2 ~@6 a3@4 ~@10 [e4,a4]@2 [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~, ~@7 a3@3 ~@2 a3@6 ~@6, ~@4 a2@3 a2@2 ~@3]/3", // A5
  AH: "[d3,a3,d4] ~@7", // D5
  AI: "[a3 ~@2 g3 ~@2 f3 ~ d3@3 ~@5 d3@2 d3@2 d3@2 ~@2 d3@2 [d3,a3]@2 ~ d3@2 ~ d3@2 ~@4 a3@25 ~, ~@11 d4@2 d4@2 d4@32 ~@17, ~@12 d3@2 d3@2 ~@6 d3@2 ~@11 d3@28 ~, ~@23 a3@3 ~@2 a3@3 a3@3 a3@4 ~@26]/4", // D5
})).s("gm_electric_guitar_jazz").gain(0.35).pan(0.2)

// drums · kick
const kick = s("bd").struct("<~@10 A B@7 ~ B@27 ~ B@36 C@6 D B D B@27 E ~ B@14 E F ~@4>".pickRestart({
  A: "~@5 x!3", B: "x!2", C: "x!4", D: "x!3 ~", E: "x", F: "x ~@2 x ~ x ~@2 x ~@7",
})).gain(0.45)

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@10 A ~@27 B ~@27 B ~@7 B ~@7 B A@6 ~ B ~ B ~@19 B ~@5 C ~@9 B ~@5 D ~ E ~@4
>`.pickRestart({
  A: "~@7 x", B: "~ x ~ x ~@4", C: "~@5 x ~ x", D: "~@5 x ~@2", E: "~@5 x ~@10",
})).gain(0.5)

// drums · hihat
const hihat = s("hh").struct("<A@2 ~@7 A B C@7 A C@27 A C@88 A D ~@4>".pickRestart({
  A: "x!4", B: "~ x ~ x", C: "x!8", D: "~@3 x ~@12",
})).gain(0.35)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@10 A ~@27 B ~@27 B ~@7 B ~@7 B A@6 ~ B ~ B ~@19 B ~@5 C ~@9 B ~@5 C ~ D ~@4
>`.pickRestart({
  A: "~@3 x", B: "~@2 x ~@2 x ~@2", C: "~ x ~ x", D: "~@3 x ~@12",
})).gain(0.45)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@17 A ~@11 B C ~@7 A ~@6 A ~@11 B C ~@7 A ~@7 A ~@7 A ~@7 A ~ A ~@10 B C ~@7 A ~@15 A ~@7 D E F ~@2
>`.pickRestart({
  A: "~@3 x ~ x ~ x", B: "~@7 x", C: "~@3 x ~@4", D: "x ~@4 x ~@2 x ~@6 x", E: "~@7 x ~@8", F: "~@2 x ~@4 x ~@8",
})).gain(0.45)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@136 [~@10 x ~ x!2 ~@2] [~ x ~ x ~ x ~@3 x ~ x ~ x!2 ~] [~ x ~@14] ~@2>")
  .gain(0.25)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@10 A ~@26 B C ~@26 B C ~@6 B C ~@6 B C A@6 B C B C ~@18 B C ~@5 D ~@8 B C ~@5 D ~ E ~@4
>`.pickRestart({
  A: "~@5 x ~@2", B: "~ x ~@2 x ~@2 x", C: "~ x ~@2 x ~@3", D: "~ x ~ x!2 ~@3", E: "x",
})).gain(0.45)

// drums · crash
const crash = s("cr").struct(`<
  ~@11 A ~@3 A ~@3 A ~@11 A ~@3 A ~@3 A ~@3 A ~@3 A ~@11 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@5 A ~@11 A ~@3 A
  ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2 B ~@4
>`.pickRestart({
  A: "x", B: "~ x",
})).gain(0.45)

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

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@136 [~@11 x ~ x ~@2] [~@2 x!2 ~ x!2 ~] x ~@2>").gain(0.25)

stack(
  bass, epiano2, epiano2_soft, overdriven_guitar, electric_guitar_jazz, kick, snare, low_tom, hihat, mid_tom, open_hat,
// … 2 more lines

More by Eagles