Strudelify
The Real Slim Shady cover art

2000 · The Marshall Mathers LP

The Real Slim Shady

Eminem

KeyC minorTempo105 bpm
0:00/0:00
// The Real Slim Shady — Eminem
// 105 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 116 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/4)

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

// bass · synth bass 2 · "Bass"
const bass = note(`<
  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 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 A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "c2 ~ d2 eb2 f2 ~@2 f2", B: "eb2 ~@2 eb2 d2 ~@2 g2",
})).s("gm_synth_bass_2").gain(0.51)

// chords · piano
const piano = note(`<
  ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3
  A ~@3 A ~@8
>`.pickRestart({
  A: "~@5 [c6,eb6] ~@2", // Cm
})).s("gm_piano").gain(0.51)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3
  A ~@3 A ~@8
>`.pickRestart({
  A: "~@6 [c6,eb6] ~", // Cm
})).s("gm_piano").gain(0.31)

// other · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
  ~@36 A B A B A B A B ~@20 A B A B A B A B ~@20 A B A B A B A B A B A B A B A B A B A B C D ~@2
>`.pickRestart({
  A: "g3 ~ c4 ~@5 c4 ~ eb4 ~ c4 ~ ab3 ~", B: "g3 ~@5 ab3 ~ g3 ab3 g3 ~ gb3 ~ g3 ~", C: "g3 ~@7 c4 ~ eb4 ~ c4 ~ ab3 ~",
  D: "g3 ~@15",
})).s("gm_acoustic_guitar_steel").gain(0.31)

// other · acoustic guitar steel · "Guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@113
  [~@6 ab3 ~ g3 ab3 g3 ~ gb3 ~ g3 ~]
  [g3 ~@7 c4 ~ eb4 ~ c4 ~ ab3 ~]
  [g3 ~@5 ab3 ~ g3 ab3 g3 ~ gb3 ~ g3 ~]
>`).s("gm_acoustic_guitar_steel").gain(0.1)

// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~@36 A B A B A B A B ~@20 A B A B A B A B ~@20 A B A B A B A B A B A B A B A B ~@8
>`.pickRestart({
  A: "c5 eb5", B: "c5 g4",
})).s("gm_string_ensemble_1").gain(0.36)

// other · flute
const flute = note("<~@100 A B A B A B A B A B A B A C ~@2>".pickRestart({
  A: "d6 c6 ab5 g5", B: "g5 eb5!2 c5", C: "g5 ~@3",
})).s("gm_flute").gain(0.51)

// other · flute · soft notes
const flute_soft = note("<~@113 [~ eb5!2 c5] [d6 c6 ab5 g5] [g5 eb5!2 c5]>").s("gm_flute").gain(0.15)

// 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 C 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 D 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 C A B A B A B A B A B A B A B
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x!2", C: "x ~@7 x ~@4 x ~@2", D: "x!3 ~",
})).gain(0.46)

// drums · snare
const snare = s("sd").struct("<~@7 A B@15 C B@11 C B@24 D B@2 C B@27 C B@9 C B@14>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@2 x ~@3 x!2", D: "~ x ~ x ~@2 x ~",
})).gain(0.46)

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

// drums · crash
const crash = s("cr").struct("<~@36 A ~@27 A ~@27 A ~@7 A ~@15>".pickRestart({
  A: "x",
})).gain(0.46)

stack(
  bass, piano, piano_soft, acoustic_guitar_steel, acoustic_guitar_steel_2, string_ensemble_1, flute, flute_soft, kick,
  snare, hihat, crash
)

More by Eminem