Strudelify

Ruff Ryder's Anthem

DMX

KeyB♭ minorTempo90 bpm
0:00/0:00
// Ruff Ryder's Anthem — DMX
// 90 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 79 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

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

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B C@3 B C@3 B C@3 B C@2 D B C@3 B D C D B C@3 B C@3 B D C D B D C D B D ~ E B C@3 B D C D ~@3 A C@4 B D C@2 B D
  C@3 D C@2 B C ~
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~@4 x ~@7 x ~@2 x", C: "~ x ~ x", D: "~ x ~@2", E: "~@3 x",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  A ~@2 B@16 C ~@8 B@9 D B D ~@4 B@6 E F ~@4 A ~@2 B@6 D B@3 D B@2 ~@4 B@2 ~
>`.pickRestart({
  A: "x", B: "x!8", C: "x!3 ~@3 x ~", D: "x!3 ~@5", E: "~@4 x!4", F: "x!4 ~@4",
})).gain(0.64)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@20 A B C D E F G H ~@12 E F G H ~@8 I J K ~@17 L M L M ~@3>".pickRestart({
  A: "~@2 x!2", B: "x ~@3 x ~@3 x ~@2 x!2 ~@2 x", C: "x ~@3 x ~@2 x!2 ~@3 x ~@3", D: "x!4", E: "x!8", F: "x!3 ~ x ~@11",
  G: "x ~@2 x!2 ~ x!2 ~@4 x ~@3", H: "x ~@2 x!2 ~@11", I: "x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2", J: "x!3 ~@5",
  K: "x ~ x ~ x ~ x!2 ~@8", L: "~@8 x ~@3 x ~@2 x", M: "x ~@3 x ~@2 x!2 ~@7",
})).gain(3.24)

// drums · triangle
const triangle = s("triangles:30").struct(`<
  ~@3 A@16 B ~@8 A@9 B A B ~@4 A@6 C D ~@7 A@6 B A@3 B A@2 ~@4 A@2 ~
>`.pickRestart({
  A: "x!8", B: "x!3 ~@5", C: "~@4 x!4", D: "x!4 ~@4",
})).gain(5.57)

stack(kick, snare, hihat, cabasa, triangle)

More by DMX