Strudelify
We Will Rock You cover art

1977 · News Of The World

We Will Rock You

Queen

KeyE minorTempo82 bpm
0:00/0:00
// We Will Rock You — Queen
// 82 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 "DISTORTION" distortion guitar (copy of ch 2 "OVERDRIVE" overdriven guitar)
// note: Full arrangement: all 41 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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 · "DISTORTION"
const distortion_guitar = note("<~@30 A@2 B@4 C@2 D E F>".pickRestart({
  A: "[~@15 [c3,g3]@17]/2", // C5
  B: "[[a2,e3,a3]@2 g2 [e3,a3]@3 ~@3 [a2,e3,a3]@2 ~ [a2,e3,a3]@2 g2 [e3,a3]@3 ~@13 a2@32 ~, ~@3 a2 ~@11 a2@15 ~@34]/4", // A5
  C: "[a2@5 ~ a2@26]/2", D: "a2", E: "a2@15 ~", F: "a2@3 ~",
})).s("gm_distortion_guitar").gain(0.49)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@32 A@3 B@3 C@2 D>".pickRestart({
  A: "[~@15 [e3,c#4]@3 [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4]@8 [e3,c#4]@3 [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4] [f#3,d4] ~@6 a4 g4 e4, ~@39 [e3,c#4]@8 ~]/3", // C#m D C#m D C#m D C#m D …
  B: "[f#4 e4!3 d4 a3 f#3 d4@4 ~ d4 c#4 b3 a3@2 ~ e4 a3 e4 a3 ~ e4 f#4!2 e4 c#4 c4 b3 a3 [e3,c#4]@3 [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4]@8 ~, ~@17 a3@2 ~@29]/3", // C#m D C#m D C#m D C#m
  C: "[e3,c#4]@2 [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4]@3 [f#3,d4] ~ [e3,c#4]@3 ~", // C#m D C#m D C#m D C#m D …
  D: "[e3,c#4]@2 [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4] [f#3,d4] [e3,c#4]@3 [f#3,d4] ~ [e3,c#4] ~@3", // C#m D C#m D C#m D C#m D …
})).s("gm_overdriven_guitar").gain(0.44).pan(0.6)

// other · lead 1 square · "SQUAREWAVE"
const lead_1_square = note("<~@27 A@4 ~@10>".pickRestart({
  A: "[e5@63 ~]/4",
})).s("gm_lead_1_square").gain(0.25).pan(0.3)

// other · synth drum
const synth_drum = note("e1 ~ e1 ~@5 e1 ~ e1 ~@5").s("gm_synth_drum").gain(0.44)

// drums · kick
const kick = s("bd").struct("x!2 ~@2 x!2 ~@2").gain(0.27)

// drums · clap
const clap = s("cp").struct("~ x ~ x").gain(0.38)

stack(distortion_guitar, overdriven_guitar, lead_1_square, synth_drum, kick, clap)

More by Queen