Strudelify

Antichrist Superstar

Marilyn Manson

KeyC majorTempo175 bpm
0:00/0:00
// Antichrist Superstar — Marilyn Manson
// 175 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 194 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(175/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@8 B C B C B C B D B C B C B C B D E@16 B C B C B C B D B C B C B C B D F G H@2 F G H@2 F G H@2 F G H@2 B D B D B D B
  D E@16 B C B C B C B D B C B C B C B D F G H@2 F G H@2 F G H@2 F G H@2 ~@2 I@16 F G H@2 F G H@2 F G H@2 F G H@2 F G
  H@2 F G H@2 F G H@2 F G H@2 I@16
>`.pickRestart({
  A: "g2!2 ~@2", B: "g2!2 g#2 g2", C: "~ b2 b2@2", D: "b2 a2 g2 ~", E: "g2@4 g#2@2 g2 ~", F: "[c#2,g2,c3]",
  G: "[d2,f#2,b2] [c#2,f2,b2]", H: "[c2,e2,a2]/2", I: "[c#2,g2,c3]!2 ~@2",
})).s("gm_electric_bass_finger").gain(0.19)

// chords · overdriven guitar · "Guitar"
const overdriven_guitar = note(`<
  A@8 B C B C B C B D B C B C B C B D E@16 B C B C B C B D B C B C B C B D F G H@2 F G H@2 F G H@2 F G H@2 B D B D B D B
  D E@16 B C B C B C B D B C B C B C B D F G H@2 F G H@2 F G H@2 F G H@2 ~@2 I@16 F G H@2 F G H@2 F G H@2 F G H@2 F G
  H@2 F G H@2 F G H@2 F G H@2 I@16
>`.pickRestart({
  A: "[c#2,c3]!2 ~@2", B: "[c#2,c3]!2 [d2,d3] [c#2,c3]", C: "~ [f2,e3] [f2,e3]@2", D: "[f2,e3] [e2,d3] [d2,c3] ~",
  E: "[c#2,c3]@4 [d2,d3]@2 [c2,c3] ~", F: "[c#2,g2,c3]", G: "[d2,f#2,b2] [c#2,f2,b2]", H: "[c2,e2,a2]/2",
  I: "[c#2,g2,c3]!2 ~@2", // C
})).s("gm_overdriven_guitar").gain(0.45)

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

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

// drums · clap
const clap = s("cp").struct("<[~ x]!8 ~@122 [~ x]!16 ~@32 [~ x]!16>").gain(0.4)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@8 A@32 B@16 C D ~@2 C D ~@2 C D ~@2 C D ~@2 A@24 B@16 C D ~@2 C D ~@2 C D ~@2 C D ~@20 C D ~@2 C D ~@2 C D ~@2 C D
  ~@2 C D ~@2 C D ~@2 C D ~@2 C D ~@18
>`.pickRestart({
  A: "x!4", B: "~ x ~ x", C: "~ x", D: "~ x ~@2",
})).gain(0.4)

// drums · china
const china = s("cr").struct("<[~ x]!8 ~@122 [~ x]!16 ~@32 [~ x]!16>").gain(0.4)

// drums · vibraslap
const vibraslap = s("vibraslap:0").struct("<[~ x]!8 ~@122 [~ x]!16 ~@32 [~ x]!16>").gain(4.76)

stack(bass, overdriven_guitar, kick, snare, clap, open_hat, china, vibraslap)

More by Marilyn Manson