Strudelify

The Reflecting God

Marilyn Manson

KeyE minorTempo89 bpm
0:00/0:00
// The Reflecting God — Marilyn Manson
// 89 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(89/4)

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

// bass · electric bass pick · "Bass"
const bass = note("<A@27 B@4 ~@4 A@4 C@2 D C@3 D C A@7 B@8 E@3 F@22>".pickRestart({
  A: "e1!6 ~ e1!3 ~ d2 ~ f2 ~ f2", B: "e1@2 ~@2 e1@2 ~@2 a#1!4 a1 g1@2 f#1", C: "e1!6 ~ e1 g2!3 f2 ~ e2 ~ d2, e2 ~",
  D: "c2@4 a1@3 a#1", E: "e1", F: "e2!3 f2!3 e2!3 f2!3 e2!2 d2!2",
})).s("gm_electric_bass_pick").gain(0.58)

// chords · distortion guitar · "Guitar"
const distortion_guitar = note("<~@20 A B A B A B C D@4 ~@16 A B A B A B C D@8 B@4 ~@21>".pickRestart({
  A: "[e3,b3,e4]@4 [c3,g3,c4]@3 [a2,e3,a3]", B: "[e2,b2,e3]", C: "[e3,b3,e4]@8 [c3,g3,c4]@7 ~",
  D: "[e2,b2,e3]@2 ~@2 [e2,b2,e3]@2 ~@2 [a#2,f3,a#3]!4 [a2,e3,a3] [g2,d3,g3]@2 [f#2,b2,f#3]", // E5 A#5 A5 G5 B5
})).s("gm_distortion_guitar").gain(0.64)

// drums · kick
const kick = s("bd").struct("<A@26 B C@3 D E@4 A@18 B C@8 F@2 G@23>".pickRestart({
  A: "x!4 ~ x ~@2 x!2 ~@3 x ~@2", B: "x!6 ~@2 x!2 ~@2 x!2 ~@2", C: "~@2 x ~@3 x ~@3 x ~@3 x!2", D: "~ x ~ x ~ x ~ x",
  E: "x!2 ~@5 x ~ x!2 ~@5", F: "x", G: "x!8",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  [~@4 x ~@2 x ~@3 x ~@3 x]!27
  [x!4]!4
  [~@4 x ~@2 x ~@4 x ~@2 x]!4
  [~@4 x ~@2 x ~@3 x ~@3 x]!19
  [x!4]!8
  x!2
  ~@23
>`).gain(0.4)

// drums · hihat
const hihat = s("hh").struct("<[x!8]!27 ~@4 [x!8]!23 ~@33>").gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@64 [~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x ~ x]!23>").gain(0.4)

// drums · open hat
const open_hat = s("oh").struct("<~@27 [~ x ~ x ~ x ~ x]!4 ~@23 [~ x ~ x ~ x ~ x]!8 ~@25>").gain(0.4)

// drums · high tom
const high_tom = s("ht").struct("<~@64 [x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~]!23>").gain(0.4)

// drums · crash
const crash = s("cr").struct("<~@20 A B A B A B C@5 ~@16 A B A B A B C@9 B@25>".pickRestart({
  A: "x!2", B: "x", C: "x!4",
})).gain(0.4)

stack(bass, distortion_guitar, kick, snare, hihat, mid_tom, open_hat, high_tom, crash)

More by Marilyn Manson