Strudelify

Murder Was the Case (DeathAfterVisualizingEternity)

Snoop Dogg

KeyD minorTempo87 bpm
0:00/0:00
// Murder Was the Case (DeathAfterVisualizingEternity) — Snoop Dogg
// 87 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 85 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/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.

// other · tubular bells · "Tube Bell"
const tubular_bells = note(`<
  A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A
  ~@3 A ~@3 B
>`.pickRestart({
  A: "d4@3 ~", B: "d4 ~@15",
})).s("gm_tubular_bells").gain(0.51).pan(0.1)

// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@35 A B C D E F@2 ~@17 A B C D E B C D E ~@17>".pickRestart({
  A: "~@7 c6", B: "d6@2 a6 ab6@4 c6", C: "d6@2 a6 ab6@4 d6", D: "~@2 g6 ab6@4 d6, db6@3 ~@5", E: "db6@2 g6 ab6@4 c6",
  F: "[d6@15 ~]/2",
})).s("gm_string_ensemble_1").gain(0.62)

// bass · fretless bass · "Bass"
const bass = note("<[d1@3 d2@2 c2 ab1 g1]!84 ~>").s("gm_fretless_bass").gain(0.8)

// chords · epiano1 · "Rhodes"
const epiano1 = note(`<
  ~@11 A B C D E B C F E B C F E G C F E B C D E B C F E G C D E B C F E ~@8 G C F E G C F E G C F E G C F E G C F E G C
  F E G C F E G C F E ~
>`.pickRestart({
  A: "~@7 c4", B: "d4@3 [e4,f4,a4]@4 c4", C: "d4@3 [e4,f4,a4]@4 d4", D: "db4@3 [e4,f4,a4]@4 d4",
  E: "db4@3 [e4,f4,a4]@4 c4", F: "db4@3 [e4,a4]@4 d4, ~@6 f4@5 ~@5", G: "d4@3 [e4,f4,a4]@4 c4, c4 ~@15",
})).s("gm_epiano1").gain(0.31).pan(0.6)

// other · whistle · "Whistle L"
const whistle = note("<~@48 A@2 B C D ~@32>".pickRestart({
  A: "[d5@2 a5 ab5@3 db6 c6@3 d6 ab5@3 b5@2]/2", B: "c6@2 d5@3 a5@3 ab5@3 db6@3 c6@2", C: "~ ab5@3 b5@3 a5@3 g5@3 c5@3",
  D: "d5!4 ~@4",
})).s("gm_whistle").gain(0.46)

// other · whistle · "Whistle L" · soft notes
const whistle_soft = note("<~@52 [~@8 d5@2 d5 d5@2 d5@2 ~] ~@32>").s("gm_whistle").gain(0.2)

// other · piano · "Saw Lead"
const piano = note("<~@20 A@6 B@2 ~@57>".pickRestart({
  A: "[d5 d6 db6 c6@6 bb5 a5 ab5@5]/2", B: "[d5 d6 db6 c6@6 bb5 a5 ab5@5, ab5 ~@31]/2",
})).s("gm_piano").gain(0.8)

// drums · kick
const kick = s("bd").struct("<[x!6 ~@4 x!3 ~ x ~]!44 ~@3 [x!6 ~@4 x!3 ~ x ~]!37 ~>").gain(0.36)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<[~@6 x!3 ~@4 x ~@2]!44 ~@3 [~@6 x!3 ~@4 x ~@2]!37 ~>").gain(0.15)

// drums · snare
const snare = s("sd").struct("<[x ~@3 x!5 ~@3 x!4]!44 ~@3 [x ~@3 x!5 ~@3 x!4]!37 ~>").gain(0.31)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<[~ x!3 ~@5 x!3 ~@4]!44 ~@3 [~ x!3 ~@5 x!3 ~@4]!37 ~>").gain(0.1)

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

// drums · ride
const ride = s("rd").struct("<[x!8]!44 ~@3 [x!8]!37 ~>").gain(0.46)

stack(
  tubular_bells, string_ensemble_1, bass, epiano1, whistle, whistle_soft, piano, kick, kick_soft, snare, snare_soft,
  crash, ride
)

More by Snoop Dogg