0:00/0:00
// Irresponsible Hate Anthem — Marilyn Manson
// 197 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 172 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(197/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.
// bass · electric bass pick · "bass"
const bass = note(`<
~@2 A B A C A B A D A B A E A B A E A B A E A B A E A B A E A B A D A B A E A B A E A B A E A B A E A B A E A B A D
F@6 G H F@6 G H A B A E A B A E A B A E A B A E A B A E A B A E A B A E A B A D F@6 G H F@6 G H I@3 B I@3 B I@3 B I@3
B I@3 B A B A E A B A D F@14 J K L@2 M@2 ~@2
>`.pickRestart({
A: "f#1!3 a1!3 b1!2", B: "c2!3 b1!3 a1!2", C: "e1!7 f1", D: "e2!6 f2@2", E: "e1!8", F: "[f#1@2 c2 b1@2 a1 b1 a1]/2",
G: "e1", H: "f1", I: "f#1!8", J: "e2!8", K: "f2!8", L: "f#1 ~@3 f#1 ~@3", M: "[f#1 e1@4 ~@3]/2",
})).s("gm_electric_bass_pick").gain(0.8)
// chords · distortion guitar · "guitar 1"
const distortion_guitar = note(`<
A@2 B C B D B C B E F@8 G@8 B C B H B C B E I@8 G@8 B C B H B C B E J@6 K L J@6 K L M@8 ~@4 N ~ N ~ G@8 B C B H B C B
E J@6 K L J@6 K L M@8 ~@12 B C B H B C B E J@14 O P Q@2 R@3 ~
>`.pickRestart({
A: "[~@3 g3@5]/2", B: "[f#2,c#3,f#3]!3 [a2,e3,a3]!3 [b2,f#3,b3]!2", C: "[c3,g3,c4]!3 [b2,f#3,b3]!3 [a2,e3,a3]!2",
D: "[e2,b2,e3]!7 [f2,c3,f3]", E: "[e3,b3,e4]!6 [f3,c4,f4]@2", F: "[a#3@3 g3@125]/8",
G: "~@4 [g3,b3,e4]@3 ~@5 [g3,b3,e4]@3 ~", H: "[e2,b2,e3]!8", I: "[a#3@3 [e2,g3]@125]/8",
J: "[[f#2,c#3,f#3]@2 [c3,g3,c4] [b2,f#3,b3]@2 [a2,e3,a3] [b2,f#3,b3] [a2,e3,a3]]/2", K: "[e2,b2,e3]", L: "[f2,c3,f3]",
M: "[f#2,c#3,f#3]/8", N: "c3", O: "[e3,b3,e4]!8", P: "[f3,c4,f4]!8", Q: "[f#2,c#3,f#3]@3 ~@5 [f#2,c#3,f#3]@3 ~@5",
R: "[[f#2,c#3,f#3]@4 [e2,b2,e3]@31 ~@13]/3", // F#5 E5
})).s("gm_distortion_guitar").gain(0.8)
// other · guitar harmonics · "harmonics"
const guitar_harmonics = note(`<
A@3 ~@7 B@8 ~@4 C@3 D ~@8 E@8 F@8 ~@24 G@2 H@2 G@2 H@2 ~@40 G@2 H@2 G@2 H@2 G@2 H@2 G@2 H@2 G@2 I@3 ~@23 J ~ K@3 ~
>`.pickRestart({
A: "[~@14 g5@31 ~@3, ~@12 g3@31 ~@5]/3", B: "[a#3@3 ~@81 g4@44, ~@3 g3@125]/8", C: "[~@8 b4@31 ~@9]/3",
D: "~ g5@7, g3", E: "[a#3@3 ~@81 g4@44, ~@3 g3@125, ~@56 b4@31 ~@41]/8", F: "[~@57 g5@7, b3@125 ~@3, ~@7 g3]/8",
G: "[f#4@3 g4@3 f#4@3 g4@3 f#4@2 g4@2]/2", H: "[f#4@3 g4@3 f#4@3 g4@3 a#4@2 g4@2]/2",
I: "[f#4@6 g4@6 ~@2 g4@4 ~@6 a#4@4 g4@17 ~@3, ~@12 g3@31 ~@5, ~@6 f#4@3 g4@5 ~@10]/3", J: "~@3 e4 ~@12",
K: "[~@3 e4@8 ~@5 f5@8, ~@3 e4@2 ~, ~@7 e5@4 ~]/3",
})).s("gm_guitar_harmonics").gain(0.8)
// other · orchestra hit · F# E F# E F#
const orchestra_hit = note(`<
~@86
[[f#5,f#6]!4 [e5,e6]!4 [f#5,f#6]@2 ~@6]
~
[[f#5,f#6]!4 [e5,e6]!4 [f#5,f#6]@2 ~@6]
~@83
>`).s("gm_orchestra_hit").gain(0.8)
// drums · kick
const kick = s("bd").struct(`<
~@2 A@3 B A@3 B C@16 A@3 B A@3 B C@16 A@3 B A@3 B D E D E D E D E D E D E D E D E C@24 A@3 B A@3 B D E D E D E D E D E
D E D E D E C@20 A@3 B A@3 B F@16 G@2 H ~@3
>`.pickRestart({
A: "~ x!2 ~ x!2 ~ x", B: "~ x ~ x ~ x ~ x", C: "x!4", D: "x ~@2 x ~@2 x ~", E: "~ x ~ x", F: "~@5 x ~ x", G: "x!2",
H: "x",
})).gain(0.8)
// drums · snare
const snare = s("sd").struct(`<
~@2 A@3 B A@3 B ~@16 A@3 B A@3 B ~@16 A@3 B A@3 B C@16 ~@24 A@3 B A@3 B C@16 ~@20 A@3 B A@3 B@17 D@2 E ~@3
>`.pickRestart({
A: "x ~@2 x ~@2 x ~", B: "x!4", C: "~ x", D: "x!2", E: "x",
})).gain(0.8)
// drums · hihat
const hihat = s("hh").struct("<~@10 A@16 ~@8 A@16 ~@24 A@24 ~@24 A@20 ~@30>".pickRestart({
A: "x!16",
})).gain(0.8)
// drums · open hat
const open_hat = s("oh").struct("<~ A B@8 ~@16 B@8 ~@16 B@8 C@16 ~@24 B@8 C@16 ~@20 B@24 ~@6>".pickRestart({
A: "x!4", B: "x!8", C: "x!2",
})).gain(0.8)
// drums · crash
const crash = s("cr").struct(`<
~@10 A ~@15 A ~@7 A ~@15 A ~@7 A ~@15 A ~@7 A ~@15 A ~@7 A ~@15 A ~@19 A ~@7 A ~@21
>`.pickRestart({
A: "x",
})).gain(0.8)
stack(bass, distortion_guitar, guitar_harmonics, orchestra_hit, kick, snare, hihat, open_hat, crash)
More by Marilyn Manson
Sweet Dreams Hell OutroC minor · 90 bpmThe Beautiful PeopleD minor · 110 bpmAntichrist SuperstarC major · 175 bpmComa WhiteA minor · 74.4 bpmDeformographyC major · 166.5 bpmDown in the ParkC major · 145 bpmDried Up, Tied and Dead to the WorldE minor · 92 bpmLong Hard Road Out of HellE minor · 123.5 bpm
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.