Strudelify
The Beautiful People cover art

Antichrist Superstar

The Beautiful People

Marilyn Manson

KeyD minorTempo110 bpm
0:00/0:00
// The Beautiful People — Marilyn Manson
// 110 bpm, 3/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/4 at bar 1, 2/16 at bar 57, 3/4 at bar 57, 2/16 at bar 81, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 2 "Guitar" distortion guitar (copy of ch 1 "Guitar" distortion guitar)
// note: Full arrangement: all 129 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/3)

// 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.

// chords · distortion guitar · "Guitar"
const distortion_guitar = note(`<
  ~@4 A@4 B C ~ C ~ C ~ C D E D E D E D E ~@8 F G F G F G H@4 I J K L M N O P@6 Q@2 R@14 S T U V U V U W@2 X@3 Y@6 Z AA
  Z AA Z AA Z AB ~ AC ~ AC ~ AC ~ AD@8 AE@16 AF
>`.pickRestart({
  A: "[d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~@3 [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~@3", // D5
  B: "[d1,a1] ~@23", C: "~@6 [d1,a1,d2,a2] [f1,c2,f2,c3]@2 [d1,a1,d2,a2] ~@2",
  D: "[d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4", // D5 Ab5 D5 Ab5 D5 Ab5
  E: "[d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4", // D5 Ab5 D5 F5 D5
  F: "[a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~@3 [a1,d2] ~@4 [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2]", // D5
  G: "~ [a1,d2] ~@3 [a1,d2] ~@5 [a1,d2] ~ [a1,d2] ~@3 [a1,d2] ~@6", // D5
  H: "[[a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ d2@4 [a1,d2] ~@4 [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~@3 [a1,d2] ~@5 [a1,d2] ~ [a1,d2] ~@3 [a1,d2] ~@5 [d2,d3,a3,d4]@24 [db2,db3,ab3,db4]@24 ~, ~@8 d3@39 ~@49, ~@8 a1 ~@87]/4", // D5 Db5
  I: "[c2,c3,g3,c4]", J: "[b1,b2,gb3,b3]", K: "~ [d2,d3,a3,d4]@23", L: "~ [db2,db3,ab3,db4]@23",
  M: "~ [c2,c3,g3,c4]@11", N: "~@15 [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1], ~ [b1,b2,gb3,b3]@11",
  O: "~@2 [d1,a1] ~@5 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~", // D5 Ab5 D5 Ab5 D5
  P: "[~@2 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~]/2", // D5 Ab5 D5 Ab5 D5 F5 D5 Ab5 …
  Q: "[~@2 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@20]/2", // D5 Ab5 D5 Ab5 D5 F5 D5
  R: "[~@16 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [f1,c2,f2]@4 [d1,a1,d2]@3 ~@19]/2", // D5 F5 D5
  S: "~@16 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~", // D5
  T: "[d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~@5 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4", // D5 Ab5 D5 Ab5
  U: "[d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3", // D5 Ab5 D5 Ab5 D5
  V: "[d1,a1,d2,a2] [f1,c2,f2,c3]@2 [d1,a1,d2,a2] ~@2 [d1,a1,d2,a2] [ab1,eb2,ab2,eb3]@2 [d1,a1,d2,a2] [ab1,eb2,ab2,eb3]@2", // D5 F5 D5 Ab5 D5 Ab5
  W: "[[d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 ~@2 d2@2 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3, ~@7 [ab1,eb2,ab2,eb3]@2 ~@15, ~ d3@2]/2", // D5 F5 D5 Ab5 D5 Ab5 D5 Ab5 …
  X: "[[d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@3 [d2,d3,a3,d4]@24 [db2,db3,ab3,db4]@24 [c2,c3,g3,c4]@13]/3", // D5 F5 D5 Db5 C5
  Y: "[~@12 [b1,b2,gb3,b3]@24 [d2,d3,a3,d4]@24 ~ [db2,db3,ab3,db4]@24 [c2,c3,g3,c4]@24 ~ [b1,b2,gb3,b3]@24 ~@5 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@3]/6", // B5 D5 Db5 C5 B5 D5 Ab5
  Z: "~ [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@3", // D5 Ab5 D5 Ab5 D5 Ab5
  AA: "~ [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@3", // D5 F5 D5 Ab5
  AB: "~ [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@9", // D5 F5 D5
  AC: "~@3 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [f1,c2,f2]@4 [d1,a1,d2]@3 ~@8", // D5 F5 D5
  AD: "[~@3 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~@5 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]]/8", // D5 Ab5 D5 Ab5 D5 Ab5 D5 Ab5 …
  AE: "[~ [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]]/8", // Ab5 D5 F5 D5 Ab5 D5 Ab5 D5 …
  AF: "~ [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@5", // Ab5 D5 F5 D5
})).s("gm_distortion_guitar").gain(0.59).pan(0)

// bass · electric bass pick · "Bass"
const bass = note(`<
  ~@4 A@4 B ~@2 C ~ C ~ C D@8 E@2 D@14 F G H I J K L@3 M@6 N@2 O@6 N@2 O@6 P@3 Q@6 R@3 S@6 T U T U T U T V ~@7 W@8 X@16
  Y
>`.pickRestart({
  A: "[d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~@3 [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~ [d1,a1] ~@3", // D5
  B: "[d1,a1] ~@23", C: "~@14 f1@3 d1@4 ~@3, ~@3 d1 ~@2",
  D: "[~@2 ab1@3 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@3, d1@2 ~@7 d1@2 ~@7 d1@2 ~@4]/2",
  E: "[d1@2 ab1@3 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@3, ~@9 d1@2 ~@7 d1@2 ~@4]/2", F: "d1",
  G: "db1", H: "~ c1@23", I: "~ g2@23", J: "~ d1@11", K: "~ db1@11",
  L: "[~@3 c1@24 g2@24 ~@6 ab1@4 d1@3 ~@2 d1@4 ~@2, ~@14 d1 ~ ab1 ~]/3",
  M: "[~@4 ab1@3 d1@3 ~@2 d1@4 ~@6 f1@3 d1@4 ~@4 ab1@4 d1@3 ~@2 d1@4 ~@2, ~ d1@2 ~@2 ab1@2 ~@3 d1@2 ~@4 d1@2 ~@2 ab1@2 ~@2]/2",
  N: "[~@4 ab1@3 d1@3 ~@2 d1@4 ~@6 f1@3 d1@4 ~@3 d1@2 ab1@3 d1@3 ab1@3 d1@4 ~, ~ d1@2 ~@2 ab1@2 ~@3 d1@2 ~@12]/2",
  O: "[~@4 ab1@3 d1@3 ~@2 d1@4 ~@6 f1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~, ~ d1@2 ~@2 ab1@2 ~@3 d1@2 ~@4 d1@2 ~@6]/2",
  P: "[~@4 ab1@3 d1@3 ~@2 d1@4 ~@6 f1@3 d1@4 ~@8 ab1@4 d1@3 ~@2 d1@4 ~@6 ab1@3 d1@3 ~@2 d1@4 ~@4, ~ d1@2 ~@2 ab1@2 ~@3 d1@2 ~@6 d1@2 ~@2 ab1@2 ~@3 d1@2 ~@2 ab1@2 ~@3]/3",
  Q: "[~@2 f1@3 d1@4 ~@4 ab1@4 d1@3 ~@2 d1@4 ~@6 ab1@3 d1@3 ~@2 d1@4 ~@4, d1@2 ~@4 d1@2 ~@2 ab1@2 ~@3 d1@2 ~@2 ab1@2 ~@3]/2",
  R: "[~@2 f1@3 d1@4 ~@3 d1@24 db1@24 c1@12, d1 ~@17]/3",
  S: "[~@13 g2@24 d1@24 ~ db1@24 c1@24 ~ g2@24 ~@5 ab1@4, ~@139 d1@4 ~]/6",
  T: "d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3, ~@13 d1@4 ~@7", U: "d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4, ~@7 d1@4 ~@8 d1@4 ~",
  V: "d1@4 ~@5 f1@3 d1@4 ~@8, ~@7 d1@4 ~@13",
  W: "[~@24 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@2, ~@23 d1@4 ~@14 d1@4 ~@14 d1@4 ~@8 d1@4 ~@14 d1@4 ~@14 d1@4 ~@8 d1@4 ~@14 d1@4 ~@14 d1@4 ~@8 d1@4 ~@14 d1@4 ~@3]/8",
  X: "[~ ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@3 ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4 ab1@4 d1@3 ab1@3 d1@4 ~@5 ab1@3 d1@2, ~@11 d1@4 ~@8 d1@4 ~@14 d1@4 ~@14 d1@4 ~@8 d1@4 ~@14 d1@4 ~@14 d1@4 ~@8 d1@4 ~@14 d1@4 ~@14 d1@4 ~@8 d1@4 ~@14 d1@4 ~@3]/8",
  Y: "~ ab1@3 d1@4 ~@5 f1@3 d1@4 ~@4, ~@11 d1@4 ~@9",
})).s("gm_electric_bass_pick").gain(0.8).pan(0.6)

// chords · lead 2 sawtooth · "Sawtooth"
const lead_2_sawtooth = note(`<
  ~@32 A B A B A B A B ~@8 C D@6 E@2 F@14 G H I J I J I J I K ~@7 L M N M N M N M O ~ P ~ P ~ P ~ Q@8 R@16 S
>`.pickRestart({
  A: "[a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2] ~@3 [a1,d2] ~@4 [a1,d2] ~ [a1,d2] ~ [a1,d2] ~ [a1,d2]", // D5
  B: "~ [a1,d2] ~@3 [a1,d2] ~@5 [a1,d2] ~ [a1,d2] ~@3 [a1,d2] ~@6", // D5
  C: "~@8 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~", // D5 Ab5 D5 Ab5 D5
  D: "[~@2 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~]/2", // D5 Ab5 D5 Ab5 D5 F5 D5 Ab5 …
  E: "[~@2 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@20]/2", // D5 Ab5 D5 Ab5 D5 F5 D5
  F: "[~@16 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [f1,c2,f2]@4 [d1,a1,d2]@3 ~@19]/2", // D5 F5 D5
  G: "~@16 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~", // D5
  H: "[d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~@5 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4", // D5 Ab5 D5 Ab5
  I: "[d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3", // D5 Ab5 D5 Ab5 D5
  J: "[d1,a1,d2,a2] [f1,c2,f2,c3]@2 [d1,a1,d2,a2] ~@2 [d1,a1,d2,a2] [ab1,eb2,ab2,eb3]@2 [d1,a1,d2,a2] [ab1,eb2,ab2,eb3]@2", // D5 F5 D5 Ab5 D5 Ab5
  K: "[d1,a1,d2,a2] [f1,c2,f2,c3]@2 [d1,a1,d2,a2] ~@8", L: "~@19 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@3",
  M: "~ [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@3", // D5 Ab5 D5 Ab5 D5 Ab5
  N: "~ [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@3", // D5 F5 D5 Ab5
  O: "~ [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@9", // D5 F5 D5
  P: "~@3 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [f1,c2,f2]@4 [d1,a1,d2]@3 ~@8", // D5 F5 D5
  Q: "[~@3 [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~ [d1,a1,d2] ~@5 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]]/8", // D5 Ab5 D5 Ab5 D5 Ab5 D5 Ab5 …
  R: "[~ [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]]/8", // Ab5 D5 F5 D5 Ab5 D5 Ab5 D5 …
  S: "~ [ab1,eb2,ab2,eb3]@4 [d1,a1,d2,a2]@3 ~@3 [d1,a1,d2,a2]@2 [f1,c2,f2,c3]@4 [d1,a1,d2,a2]@2 ~@5", // Ab5 D5 F5 D5
})).s("gm_lead_2_sawtooth").gain(0.48)

// chords · overdriven guitar
const overdriven_guitar = note("<~@62 A@4 B@2 C@5 ~@47 D@6 E@3>".pickRestart({
  A: "[d5@13 d4@11]/4", B: "[~ d6@11, d5@11 ~]/2", C: "[d5@52 ~ eb6@51 ~@16, ~@13 d6@13 ~@4]/5",
  D: "[~@60 eb6@7 d6@48 f5@29, ~@19 d5@48 ~@77]/6", E: "[~@11 a5@8 ~@24 g5@24 ~@5, ~@19 [ab5,a5]@48 ~@5]/3",
})).s("gm_overdriven_guitar").gain(0.71)

// drums · kick
const kick = s("bd").struct(`<
  A@40 B C@2 D E F G H I J@7 K@15 L M N@7 O P Q R S T@2 U V W@7 X ~@7 Y Z@23 AA
>`.pickRestart({
  A: "~ x!3 ~@3 x!3 ~@2", B: "x ~@4 x ~@2 x ~@2 x", C: "~@11 x ~@5 x ~@5 x", D: "~@5 x ~@6 x ~@5 x ~@5", E: "x!4",
  F: "x ~@11 x ~@6 x ~@4", G: "~ x ~@11 x ~@5 x ~@4", H: "~ x ~@5 x ~@5 x ~ x ~ x ~ x ~ x ~ x",
  I: "~ x!2 ~ x ~@3 x ~ x ~", J: "~ x!2 ~ x!2", K: "~@2 x!3 ~@3 x!3 ~", L: "~@2 x!3 ~@3 x!4", M: "x!5 ~ x ~@3 x ~",
  N: "x ~ x!2 ~ x", O: "x ~@3 x!3 ~@4 x", P: "~@2 x ~@2 x ~@5 x", Q: "~@4 x ~@5 x ~@12 x", R: "~@5 x ~@5 x ~@5 x ~@5 x",
  S: "~@5 x ~@5 x ~@5 x ~@6", T: "x!3 ~", U: "x ~@6 x ~@5 x ~@5 x ~@4", V: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@3 x ~@4",
  W: "~@3 x ~@3 x ~@7 x ~@3 x ~@4", X: "~@3 x ~@3 x ~@7 x ~ x ~@6", Y: "~@5 x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@3 x",
  Z: "~@7 x ~@3 x ~@7 x ~@3 x", AA: "~@7 x ~@3 x ~@12",
})).gain(0.8)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@48 A@8 ~@16 B@8 ~@8 C D@7 E ~@7 F G@23 H>".pickRestart({
  A: "~ x ~ x", B: "~@5 x ~@5 x", C: "~@17 x ~@6", D: "~@5 x ~@11 x ~@6", E: "~@5 x ~@18", F: "~@7 x", G: "~@3 x ~@3 x",
  H: "~@3 x ~@4",
})).gain(0.48)

// drums · snare
const snare = s("sd").struct(`<
  A@40 B C@2 D E F G H I@7 J I@15 K L M@7 B@2 N C O E@2 G P Q@7 R ~@7 S T@7 U T@7 U T@7 U
>`.pickRestart({
  A: "x ~ x!2 ~ x", B: "~ x ~ x", C: "~@7 x ~@11 x ~@4", D: "~@7 x ~@6 x ~@5 x ~@3", E: "~@2 x ~@2 x",
  F: "~@8 x ~@12 x ~@2", G: "~@3 x ~@3 x", H: "~@9 x ~@5 x ~ x ~ x ~ x ~ x", I: "~ x ~@3 x ~ x ~@3 x",
  J: "~ x ~@3 x ~ x ~@4", K: "~ x ~@3 x ~ x ~@2 x!2", L: "x!4 ~@3 x ~ x ~@2", M: "~ x ~ x ~@3 x ~ x ~@2",
  N: "~@6 x ~@12 x ~@4", O: "~ x ~@5 x ~@11 x ~@4", P: "~@3 x ~ x ~ x ~ x ~ x ~ x ~@7 x ~@2",
  Q: "~ x ~@7 x ~@3 x ~@7 x ~@2", R: "~ x ~@11 x ~@10", S: "~@5 x ~ x ~ x ~ x ~ x ~ x ~ x ~@6",
  T: "~ x ~@3 x ~@7 x ~@3 x ~@6", U: "~ x ~@3 x ~@11 x ~@6",
})).gain(0.8)

// drums · open hat
const open_hat = s("oh").struct("<~@48 A@8 B ~@15 C D@7 E ~@7 F G@7 H ~@7 I J@23 K>".pickRestart({
  A: "~@2 x ~@2 x ~@2 x ~@2 x", B: "~ x ~@4", C: "~@4 x ~@2 x ~@2 x ~", D: "~ x ~@2 x ~@2 x ~@2 x ~",
  E: "~ x ~@2 x ~@7", F: "~@5 x ~ x", G: "~ x ~ x ~ x ~ x", H: "~ x ~ x ~ x ~@2", I: "~@19 x ~@4",
  J: "~ x ~@5 x ~@5 x ~@5 x ~@4", K: "~ x ~@5 x ~@5 x ~@10",
})).gain(0.8)

// drums · crash
const crash = s("cr").struct("<~@39 A@2 ~ B C D@3 E ~@32 F G F H I J K L ~ M@8 ~@15 N O@8 ~@8>".pickRestart({
  A: "~@23 x", B: "x!2 ~@22", C: "~ x ~@22", D: "~ x!2 ~@21", E: "~ x ~@3 x ~@6", F: "~ x", G: "~@11 x!2 ~@11",
  H: "~@12 x!2 ~@10", I: "~@13 x ~@10", J: "~@13 x!2 ~@9", K: "~@7 x ~@4", L: "~@14 x!2 ~@6 x ~", M: "~@3 x ~@4",
  N: "~@19 x ~@4", O: "~ x ~@11 x ~@10",
})).gain(0.64)

// drums · ride bell
const ride_bell = s("rd").struct("<~@40 A B C D E F G H ~@32 I J K C@2 E@2 L M N@8 ~@16 O@8 ~@8>".pickRestart({
  A: "~ x!3", B: "x ~@6 x ~@5 x ~@5 x ~@4", C: "~ x ~@5 x ~@5 x ~@5 x ~@4", D: "~ x ~@5 x ~@6 x ~@5 x ~@3",
  E: "~ x ~@2 x ~@2 x ~@2 x ~", F: "~@2 x ~@5 x ~@5 x ~@6 x ~@2", G: "~ x ~ x ~ x ~ x", H: "~ x ~ x ~ x ~@2",
  I: "~@3 x", J: "x!4", K: "x ~@5 x ~@5 x ~@6 x ~@4", L: "~@2 x ~@6 x ~@5 x ~@5 x ~@2", M: "~ x ~@6", N: "~@3 x ~@4",
  O: "~ x ~@11 x ~@10",
})).gain(0.72)

// drums · guiro
const guiro = s("guiro:0").struct("<~@96 [~@19 x ~@4] [~ x ~@5 x ~@5 x ~@5 x ~@4]!7 [~ x ~@22] ~@24>").gain(15.21)

stack(
  distortion_guitar, bass, lead_2_sawtooth, overdriven_guitar, kick, kick_soft, snare, open_hat, crash, ride_bell, guiro
)

More by Marilyn Manson