Strudelify

For Those About To Rock (We Salute You)

AC DC

KeyD majorTempo135 bpm
0:00/0:00
// For Those About To Rock (We Salute You) — AC DC
// 135 bpm, 4/4, key D major. 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: duplicate parts dropped: ch 6 "Gtr II delay" distortion guitar (copy of ch 2 "Gtr II" overdriven guitar)
// note: Full arrangement: all 189 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): SOLO GTR, Gtr I.
setcpm(135/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.

// chords · distortion guitar · "Gtr I"
const distortion_guitar = note(`<
  ~@8 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@4 I@2 J K G@2 J L I@2 J K I@2 M@2 N O@2 P N O@2 P N O@2 Q N O@2 Q I@2 J K I@2 M@2 N
  O@2 Q N O@2 Q I@2 J K R@2 J S I@2 J K R@2 T@2 U V W X Y Z AA AB AC AD@3 AE AF AG@2 AH AI@2 O@2 Q N O@2 Q AJ ~ AK@2 AJ
  ~ AK@2 AJ ~ AL@2 AJ ~ AM@2 AN@2 AO AP AQ@2 AR@2 AS@2 ~ AT ~ AU ~@5 AT ~ AU ~ AT ~ AV AW AX AY AZ BA BB@2 BC BD@2 BE@3
  BF BG@2 BH@2 BI@2 ~ BJ@3 BK@7
>`.pickRestart({
  A: "[[b2,b3,f#4,b4]@12 g3 d4@3]/2", B: "[[f#3,d4]@2 d4 [e3,b3]@8 ~@5]/2", C: "[[b3,f#4,b4], b2@3 ~]/2",
  D: "[[d3,d4,g4,d5]@3 [d3,d4,f#4,a4]@3 [b2,b3,e4,g#4]@10]/2", // G5 D E
  E: "[[b3,f#4,b4]@3 ~@9 g3 d4 g4@2, ~@3 [b3,f#4,a4]@10 ~@3]/2", F: "[~@2 d4 [e3,b3,e4]@13, f#3@3 ~@13]/2",
  G: "[[b3,f#4,b4]@3 [b3,f#4,a4]@13]/2", H: "[[d4,g4,b4]@3 [d4,f#4,a4]@3 [b3,e4,g#4]@26]/4",
  I: "[[b3,f#4,b4]@3 [b3,f#4,a4]@9 g3 d4 g4@2]/2", J: "[d4,f#4,a4]@3 [b3,e4,g4]@5", K: "~ [e4,b4]!3 [g4,e5] [e4,b4]@3",
  L: "~ a4 b4 [f#5,b5]!4 a3", M: "[[d4,f#4,a4]@3 [b3,e4,g4]@13]/2", N: "[b3,f#4,b4]@4 ~@2 [a3,d4,a4]!2",
  O: "[~ [e4,a4,c#5] ~@4 [e4,a4,c#5] [b3,e4,g4]@9]/2", P: "[d4,g4,b4] [b3,e4,g4]", Q: "[d4,g4,d5] [b3,e4,g4]",
  R: "[[b3,f#4,b4]@3 [b3,f#4,a4]@9 [d4,g4,d5]@4]/2", S: "~ a4 b4 [f#5,b5]@2 [f#5,b5]!2 a3",
  T: "[[d4,f#4,a4]@6 ~ a5 b5@2 b5@22]/2", U: "b5@3 b5@2 b5@3 b5@3 b5@2 b5@3", V: "b5!2 ~ b5!3 ~ b5!3 ~ b5 b5@4",
  W: "a5@5 g#5 a5@10, g#5 ~@15", X: "a5@2 g5 e5 d#5 e5 d#5 d5 c#5 a4@4 ~@3", Y: "~ g#4 ~@2 a4@4",
  Z: "~ d5 e5@2 d5@2 c#5@2 d5@6 d5@2", AA: "~ e5 a5 ~ e5!3 a5 ~ e5!3 a5 g#5 e5!2, ~@3 g#5@2 ~@3 g#5@2 ~@6",
  AB: "a5 [e5,g#5] e5!2 a5 g#5@2 e5 a5@2 [e5,g#5] [d5,f#5] [e5,g#5]@4", AC: "d6@4 c#6@3 a5@5 a5@2 b5@2",
  AD: "[c6 b5 a5@2 c6@2 c6@6 b5@2 c#6@4 e6@2 b5@2 c#6@6 ~@2 d6@4 c#6@2 d6 c#6 a5@2 c#6@2 d6@2 c#6@2 d6@2]/3",
  AE: "c#6@2 d6 c#6@2 d6 c#6 d6 ~ c#6 ~ d6@4 ~", AF: "~ a5 c#6 b5 a5@2 f#5 a5",
  AG: "[a5@2 a5@2 a5@2 a5@6 e5@2 [g5,c#6]@4 g5@2 g5@4 e5 d5 c#5@2 d5@4]/2", AH: "c#5 a4!2 a4@5",
  AI: "[g#6@2 a6@4 g#6@2 ~ f#6 ~@6 [b3,f#4,b4]@8 ~@4 [a3,d4,a4]@2 [a3,d4,a4]@2, ~@4 a6 g#6@4 ~@7]/2", // B5 D5
  AJ: "[b3,f#4,b4] ~@3", AK: "[g5@3 g5@3 f#5@3 e5@6 ~]/2", AL: "[d6@3 d6@3 f#6@3 e6@6 ~]/2",
  AM: "[d6@3 d6@3 d6@3 ~ d6@2 d6@4]/2", AN: "[c#6@3 c#6@3 c#6@3 ~ c#6@2 c#6@4]/2", AO: "b5@2 ~ b5@2 b5!3",
  AP: "~ b5!3 b5@4", AQ: "[g5@3 g5@3 f#5@3 e5@3 e5@4]/2", AR: "b4", AS: "[b5@3 b5@3 d6@3 e6@7]/2",
  AT: "~ f#5@2 f#5 f#5@4", AU: "~ b5@2 b5 b5@4", AV: "b5 b5@2 b5!3 ~ b5", AW: "b5@2 ~ f#5", AX: "f#5",
  AY: "~@2 f#5@6 b5 f#5 e5 a5@2 f5 f#5 f5", AZ: "e5 d5!2 b4 e4 f#4 b4 f#4 a4@8", BA: "~@2 a5 b5 b5@4 ~@2 g5 b5 b5@4",
  BB: "[~@2 a5 b5 b5@2 g5@2 b5@4 ~@2 d6@6 d6@2 e6@4 ~ b5 ~ d6 ~@2, ~@13 e6 ~@2]/2",
  BC: "f#6@4 ~@2 f#6@2 ~@2 f#6@2 f#6@2 e6 d6",
  BD: "[f#6@2 a6 f#6@2 a6 f#6@2 a6 f#6@2 a6 f#6@2 a6 f#6@2 a6 f#6@2 ~ f#6@2 g6 ~@4 g6 f#6 e6 c#6, ~@10 a6 ~@5]/2",
  BE: "[e6 d6 g5@6 a5 b5 b5@2 a6@6 f#6@2 e6@2 d6@2 d6 e6 f#6 e6 d6@2 f#6@6 a6@2 f#6@2 ~@2 f#6@2 ~ f#6@3]/3",
  BF: "f#6@2 ~ f#6@2 ~ f#6@2 f#6@4 e6 d6@3", BG: "[b6@3 b6@3 f#6@3 e6@3 ~@2 f#6@2, ~@6 b6 ~, ~@13 a6@2 ~]/2",
  BH: "[b6@3 b6@3 f#6@3 e6@3 ~@2 b6@2, ~@6 e7 ~, ~@13 d7@2 ~]/2", BI: "[b6@3 b6@3 d6@3 c#6@2 ~@5]/2",
  BJ: "[[b3,f#4,b4]@13 [a3,e4,a4]@11]/3", // B5 A5
  BK: "[~@5 [g3,d4,g4,b4]@26 [f#3,d4,f#4,a4]@26 ~ [e3,g#3,e4,b4]@42 [b3,f#4,b4]@4 ~@8]/7", // G D E B5
})).s("gm_distortion_guitar").gain(0.24).pan(0)

// chords · overdriven guitar · "Gtr II"
const overdriven_guitar = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D E F G@2 H@2 G@2 H@2 G@2 H@2 G@2 H@2 I J@2 K L M@2 N O M@2 K P J@2 Q
  G@2 H@2 G@2 H@2 R J@2 K S J@2 K G@2 H@2 T@2 H@2 G@2 H@2 U@2 V@4 W X W X W X W Y W Y W Y W Y W Y Z AA@2 K R AB@2 Q AC ~
  AD@2 AC ~ AE@2 AC ~ AF@2 AC ~ AG@2 AH@2 AI AJ AK@2 AI AJ AK@2 AJ@2 AL@2 AJ@2 AL@2 AJ@2 AL@2 AJ@2 AL@2 AJ@2 AM@2 AJ@2
  AN@2 AJ@2 AN@2 AJ@2 AO@4 AP@2 ~ AQ@3 AR@7
>`.pickRestart({
  A: "[f#4,b4,d#5] ~@2 [f#4,b4,d#5] ~@2 [f#4,b4,d#5] ~", B: "~ [f#4,b4,d#5] ~@2 [f#4,b4,d#5] ~ [f#4,b4,d#5] ~",
  C: "[f#4,b4,d5] ~@2 [f#4,b4,d5] ~@2 [f#4,b4,f#5] ~", D: "~ [f#4,b4,e5] ~@2 [f#4,b4,e5] ~ [f#4,b4,e5] ~",
  E: "[f#4,b4,e5]@2 [f#4,b4,e5]@2 [f#4,b4,e5]!4", F: "[f#4,b4,e5]!8", G: "[b3@3 b3@9 [d4,g4,d5]@4]/2",
  H: "[d4@3 b3@13]/2", I: "[b3,f#4,b4]@4 ~@2 [a3,a4]!2", J: "[~ e4 ~@4 e4 b3@9]/2", K: "d4 b3",
  L: "f#4@4 ~@2 [a3,d4,a4]!2", M: "[~ [e4,a4] ~@4 [e4,a4] [b3,e4]@9]/2", N: "[d4,g4] [b3,e4]",
  O: "[b3,f#4]@4 ~@2 [a3,a4]!2", P: "b3@4 ~@2 [a3,d4]!2", Q: "d4 [b3,e4,g4]", R: "b3@4 ~@2 [a3,a4]!2",
  S: "b3@4 ~@2 a3!2", T: "[b3@3 b3@9 d4@4]/2", U: "[b3@3 [b3,a4]@9 [d4,g4]@4]/2", V: "[d4@3 [b3,e4,g4]@29]/4",
  W: "[a3,e4,a4] [a3,d4,f#4,a4] [a3,e4,a4]@2", X: "~ [d4,g#4,d5]@3 ~ [d4,a4,d5]@3", Y: "~ [d4,g4,d5]@3 ~ [d4,a4,d5]@3",
  Z: "[b3,f#4,b4]@4 ~@2 [a3,d4,a4,d5]!2", AA: "[~ [e4,a4,c#5] ~@4 [e4,a4,c#5] [b3,e4,g4]@9]/2",
  AB: "[~ [e4,a4,c#5] ~@4 [e4,a4,c#5] b3@9]/2", AC: "[b3,f#4,b4] ~@3",
  AD: "[[d4,g4,b4]@3 [e4,g4,b4]@3 [d4,f#4,a4,d5]@3 [a3,e4,a4]@6 ~]/2", // G Em D A5
  AE: "[[d4,g4,b4]@3 [e4,g4,b4]@3 [f#4,a4,d5]@3 [a3,e4,a4]@6 ~]/2", // G Em D A5
  AF: "[[d4,g4,b4]@3 [e4,g4,b4]@3 a4@3 [a3,e4,a4]@6 ~, ~@3 [f#4,d5]@2 ~@3]/2", // G Em A5 D
  AG: "[[d4,g4,b4]@3 [d4,g4,b4]@3 [d4,g4,b4]@3 [d4,g4,b4]@3 [d4,g4,b4]@2 [d4,f#4,a4,d5]@2]/2", // G D
  AH: "[[e4,a4,c#5]@3 [e4,a4,c#5]@3 [e4,a4,c#5]@3 [e4,a4,c#5]@3 [e4,a4,c#5]@4]/2", // A
  AI: "[b3,d#4,f#4,b4]@2 [b3,f#4,b4] [b3,f#4,b4]@2 [b3,f#4,b4]!3, ~ d#4 ~@2", // B B5
  AJ: "[b3,f#4,b4]@2 [b3,f#4,b4] [b3,f#4,b4]@2 [b3,f#4,b4]!3", // B5
  AK: "[[d4,g4,b4]@3 [d4,g4,b4]@3 [f#4,a4,d5]@3 [e4,a4,d5]@2 [e4,a4,d5]!5]/2", // G D Dsus2
  AL: "[[b3,f#4,b4]@3 [b3,f#4,b4]@3 [f#4,a4,d5]@3 [c#4,e4,a4]@2 [c#4,e4,a4]!5]/2", // B5 D A
  AM: "[[d4,g4,b4]@3 [d4,g4,b4]@3 [f#4,a4,d5]@3 [f#4,a4,d5]@2 [a3,c#4,e4,a4]!5]/2", // G D A
  AN: "[[d4,g4,b4]@3 [d4,g4,b4]@3 [d4,f#4,a4,d5]@3 [d4,f#4,a4,d5]@2 [a3,c#4,e4,a4]!5]/2", // G D A
  AO: "[[d4,g4,b4]@3 [d4,g4,b4]@3 [f#4,a4,d5]@3 [a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2]/2", // G D A
  AP: "[[d4,g4,b4]@3 [d4,g4,b4]@3 [f#4,a4,d5]@3 [a3,c#4,e4,a4]@7]/2", AQ: "[[b3,f#4,b4]@13 [a3,e4,a4]@11]/3",
  AR: "[~@5 [g3,d4,g4,b4]@26 [f#3,d4,f#4,a4]@26 ~ [e3,g#3,e4,b4]@42 [b3,f#4,b4]@4 ~@8]/7", // G D E B5
})).s("gm_overdriven_guitar").gain(0.19)

// bass · electric bass pick · "bass"
const bass = note(`<
  ~@22 A@4 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 D E@2 F D E@2 F D G@2 F D E@2 F B@2 C@2 B@2 C@2 D G@2 F D E@2 F B@2 C@2 B@2
  C@2 B@2 C@2 B@2 C@2 ~@2 H@6 I J K L M N O N P Q D G@2 F D E@2 F R ~ S@2 R ~ T@2 R ~ S@2 R ~ U@2 V@2 W X Y Z W X Y Z W
  AA AB@2 W AC AD@2 W AA AB@2 W AC AE@2 W@2 AF H W@2 AF AG W AH AF Z W@2 AI@2 AJ@2 AK@2 ~ AL@3 AM@7
>`.pickRestart({
  A: "[g2@3 f#2@3 e2@26]/4", B: "[b2@3 a2@9 g2@4]/2", C: "[f#2@3 e2@13]/2", D: "b2!4",
  E: "[a2@2 a2@2 a2@2 a2 e2@3 e2@2 e2@2 e2@2]/2", F: "g2 e2", G: "[a2@2 a2@2 a2@2 a2 [e2,e3]@3 e2@2 e2@2 e2@2]/2",
  H: "a2!8", I: "a2!5 e3 f#3 e3", J: "g3!4 d3!4", K: "a3!8", L: "d3 g3!3 a2 d3!3", M: "a3!3 e3 a3 ~ a3 e3",
  N: "a2 g3!3 a2 d3!3", O: "a3!7 e3", P: "a3!5 e3 a2 g2", Q: "~ g2@3 ~ d3@3", R: "b2 ~@3",
  S: "[g2@3 g2@3 d3@3 a2@6 ~]/2", T: "[g2@3 g2@3 d3@3 a2@5 ~@2]/2", U: "[g2@3 g2@3 g2@3 g2@3 g2@2 d3@2]/2",
  V: "[a2@3 a2@3 a2@3 a2@3 a2@4]/2", W: "b2!8", X: "b2!7 a2", Y: "g2!6 d3!2", Z: "d3 a2!7",
  AA: "b2 e3@2 b2 e3 f3 f#3 a3", AB: "[g2 g2@2 b2@3 d3@3 a2!7]/2", AC: "b2 a3@2 b2!5", AD: "[g2@3 b2@3 d3@3 a2!7]/2",
  AE: "[g2@3 b2@3 d3@3 g3@2 g#3 a3!4]/2", AF: "g2@3 b2@2 c#3 d3!2", AG: "d3 a3!7", AH: "b2!4 b3!2 a3!2",
  AI: "[g2@3 g2@3 d3 d3@2 a2!7]/2", AJ: "[f#3 f#3@2 f#3@3 d3@3 a3@3 a3 e3 a2@2]/2", AK: "[g2@3 g2@3 d3@3 a3@7]/2",
  AL: "[b2@13 a2@11]/3", AM: "[~@5 g2@26 f#2@26 ~ e2@42 b2@4 ~@8]/7",
})).s("gm_electric_bass_pick").gain(0.4)

// other · overdriven guitar · "intro delay"
const overdriven_guitar_2 = note("<[f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~]!22 ~@167>")
  .s("gm_overdriven_guitar").gain(0.25)

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

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@23 A B@2 C D C E F D G D H D F E H D ~@2 G@2 C G@3 C G@3 C G@3 C ~ C I J I K L ~@2 G@2 C G@3 C ~ C I J I K I M ~ C I
  J I K N O ~@3 J@8 L B P B C Q C ~ G@2 C G@3 C ~@19 C G C G C G C R C G C G C G C G C G C G C G C S ~ B ~ B ~ B ~ B ~ B
  ~ B ~@19
>`.pickRestart({
  A: "~ x", B: "x!2", C: "~ x!3", D: "x!2 ~ x", E: "x!2 ~@2", F: "~ x ~ x", G: "x!4", H: "~@3 x", I: "x ~ x!2 ~@4",
  J: "~@2 x!2 ~@2 x ~", K: "~@2 x!3 ~ x ~", L: "x ~ x!3 ~ x!2", M: "~@2 x ~ x ~ x!2", N: "x ~ x!2 ~@2 x!2",
  O: "~ x ~@2", P: "~@2 x!3 ~ x!2", Q: "x", R: "~@4 x ~ x!2", S: "x!3 ~",
})).gain(0.66)

// drums · low tom
const low_tom = s("lt").struct("<~@16 A@5 ~@36 B ~@6 B C ~@7 B ~@115>".pickRestart({
  A: "~ x", B: "~@7 x", C: "~@2 x!2 ~@4",
})).gain(0.66)

// drums · mid tom
const mid_tom = s("mt").struct("<~@57 [~@5 x!2 ~] ~@7 x ~@7 [~@5 x!2 ~] ~@115>").gain(0.66)

// drums · open hat
const open_hat = s("oh").struct("<~@8 A@13 B ~@12 C ~ C ~ C@2 ~@139 D E F G H I J D K ~>".pickRestart({
  A: "x!2", B: "x", C: "~ x", D: "x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x", E: "~ x!2 ~ x ~ x!2 ~ x!2 ~ x ~ x!2",
  F: "~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~", G: "x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x ~ x", H: "x ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2",
  I: "~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~", J: "x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x!2 ~", K: "~ x!2 ~@13",
})).gain(0.66)

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

stack(
  distortion_guitar, overdriven_guitar, bass, overdriven_guitar_2, kick, snare, hihat, low_tom, mid_tom, open_hat, crash
)

More by AC DC