Strudelify

Role Model

Eminem

KeyB♭ minorTempo92 bpm
0:00/0:00
// Role Model — Eminem
// 92 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "Echo" electric guitar clean (copy of ch 2 "Guitar" electric guitar clean, 0.25 beats late)
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(92/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3
>`.pickRestart({
  A: "~@13 bb1 ~ bb1", B: "bb1@2 ~@11 bb1 ~ bb1", C: "bb1@2 ~@2 b1@4 ~@5 bb1 ~ bb1",
})).s("gm_electric_bass_finger").gain(0.51)

// other · pad sweep · "Eery"
const pad_sweep = note("<~@33 A@4 ~@24 A@8 ~@7>".pickRestart({
  A: "[eb4,eb5]/2", // Eb
})).s("gm_pad_sweep").gain(0.51)

// drums · kick
const kick = s("bd").struct(`<
  ~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C ~ A B A B A B
  A B A B A B A B A B A B A B A B A
>`.pickRestart({
  A: "x!2", B: "x!2 ~@2 x ~@3", C: "~ x",
})).gain(0.46)

// drums · snare
const snare = s("sd").struct("<[~@3 x] [~ x ~ x]!50 ~ [~@3 x] [~ x ~ x]!23>").gain(0.46)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[~@6 x!2] [x!8]!50 ~ [x!8]!24>").gain(0.46)

stack(bass, pad_sweep, kick, snare, pedal_hat)

More by Eminem