Strudelify
Blasphemous Rumours cover art

1984 · Some Great Reward

Blasphemous Rumours

Depeche Mode

KeyA majorTempo110 bpm
0:00/0:00
// Blasphemous Rumours — Depeche Mode
// 110 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Piano" named as a piano, played on piano (its pad sweep patch is not one); ch 2 "Piano" named as a piano, played on piano (its synth brass 1 patch is not one); ch 3 "Piano" named as a piano, played on piano (its pad poly patch is not one)
// note: Full arrangement: all 105 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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 · piano
const piano = note(`<
  A B A B C D E F C G H I@2 J@2 C D E F C G K I@2 L@2 M N O P Q R S@2 T@2 U@2 M N O P Q R S@2 T@2 V@2 C D E F C G W I@2
  J@2 C D E F C G K I@2 L@2 M N O P Q R X@2 M N O P Q R X@2 M N O P Q R X@2 M N O P Q R Y@2 Z
>`.pickRestart({
  A: "b4 c#5!4 f#4!3, a4, f#4@5 ~@3", B: "c#5!5 ~ f#4!2, f#4@3 ~, a4@5 a4@3",
  C: "e4 f#4 f#4@2 [a3,c#4]@4, [a3,c#4]@2 f#4 ~", D: "e4@2 e4 d4!2 c#4 a3@2, a3 f#3",
  E: "~ e4@2 f#4 [a3,c#4]@4, ~ [a3,c#4]@3 f#4@2 ~@2", F: "e4@2 e4 d4 [f#3,a3]@4, a3@2 d4 ~",
  G: "c#4@2 c#4 [f#3,a3]@5, [f#3,a3]@3 d4@3 ~@2", H: "c#4 d4 c#4 a3",
  I: "[g#4@8 b4@2 g#4 e4 ~@2 a3@2, a3@7 ~, c#4@3 c#4]/2", J: "[[a3,c#4,f#4]@9 d4@3 b3@4]/2", K: "c#4!3 d4 c#4 b3@3",
  L: "[[a3,c#4,f#4]@9 d4@3 b3@3 e4]/2", M: "g#4@2 a4!2 a4@2 e4!2, [d4,f#4]!2", N: "g#4 a4!2 a4@2 e4!3, c#4, e4@5 ~@3",
  O: "g#4@2 a4@2 a4@2 e4!2, [d4,f#4]!2", P: "g#4 a4@2 a4!3 e4@2, [d4,f#4]!2",
  Q: "g#4 a4@2 a4@3 e4!2, [d4,f#4]@3 [d4,f#4]@5", R: "g#4@2 a4 a4@3 a4@2, [d4,f#4]@3 [d4,f#4]@5",
  S: "[~@3 a4 [d4,f#4,a4]@12, [d4,f#4] ~@3]/2", T: "[f#4@4 e4@6 ~@2 e4 f#4@3, a3, c#4@5 c#4@3]/2",
  U: "[a3@4 ~@6 a4@3 e4 ~@2, c#4, ~ a3@3]/2", V: "[a3 ~@2 a4, c#4, ~ a3@3]/2", W: "c#4!3 d4 c#4@2 b3 a3",
  X: "[~@3 a4 ~@11 e4, [d4,f#4] [d4,f#4,a4]@3]/2", Y: "[f#4 ~@5 a4@2 [d4,f#4,a4]@24, d4 ~@3, ~ f#4@7 ~@24]/2",
  Z: "[a3,c#4,f#4]", // F#m
})).s("gm_piano").gain(0.26)

// other · piano
const piano_2 = note(`<
  A B A B A B A B A B C A B A B A B A B A B C A B A B D E F G H@2 I J A B A B D E F G H@2 I J A B A B A B A B A B C A B
  A B A B A B A B C A B A B D E F G H@2 I K D E F G H@2 I K D E F G H@2 I K D E F G H@2 I J ~
>`.pickRestart({
  A: "f#2 f#3@2 f#3@5", B: "~ f#2@3 f#2@4", C: "b2 c#3", D: "d3@3 d3@5", E: "c#3@3 c#3@5", F: "b2@3 b2@5", G: "d3!2",
  H: "e3@3 e3@5", I: "d3@2 d3!2", J: "d3!8", K: "d3!6 f#2!2",
})).s("gm_piano").gain(0.26)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A B C D A B C E ~ F G A B C D A B C E ~ F G H I J H I J K L A B C D H I J H I J K L ~@4 A B C D A B C E ~ F G A B
  C D A B C E ~ F G H I J H I J K L H I J H I J K L H I J H I J K L H I J H I J K L ~
>`.pickRestart({
  A: "x ~@2 x ~@4", B: "x ~@2 x ~@2 x ~", C: "x!2 ~ x ~@2 x ~", D: "x", E: "x ~@2 x", F: "~@3 x", G: "x ~@2 x ~ x ~ x",
  H: "x ~@2 x ~@2 x!2", I: "x ~@5 x ~@4 x!2 ~@3", J: "x ~@2 x ~ x ~@2", K: "x ~@2 x!2 ~@3", L: "~@2 x!2",
})).gain(0.26)

// drums · rim
const rim = s("rim").struct(`<
  ~@27 A ~@2 A ~@8 A ~@2 A ~@30 A ~@2 A ~@4 A ~@2 A ~@4 A ~@2 A ~@4 A ~@2 A ~@4
>`.pickRestart({
  A: "~@7 x",
})).gain(0.26)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A@2 B C A@2 B D ~ B A@3 B C A@2 B D ~ B A E@2 F E@2 F@2 G A@2 B C E@2 F E@2 F@2 G ~@4 A@2 B C A@2 B D ~ B A@3 B C
  A@2 B D ~ B A E@2 F E@2 F@2 G E@2 F E@2 F@2 G E@2 F E@2 F@2 G E@2 F E@2 F@2 G ~
>`.pickRestart({
  A: "~ x", B: "~@4 x ~@2 x", C: "~@3 x!2 ~@3", D: "~@3 x!2 ~@2 x", E: "~ x ~@2 x ~@3", F: "~@6 x!2", G: "~@7 x",
})).gain(0.26)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@7 A ~@4 A B ~@4 A ~@4 A B ~@7 C D ~@3 A ~@6 C D ~@7 A ~@4 A B ~@4 A ~@4 A B ~@7 C D ~@6 C D ~@6 C D ~@6 C D ~
>`.pickRestart({
  A: "~@5 x ~ x", B: "x ~@2 x ~@4", C: "~@13 x ~ x", D: "x ~@2 x ~ x ~@2",
})).gain(0.26)

// drums · hihat
const hihat = s("hh").struct("<[x!4]!26 ~@8 [x!4]!4 ~@8 [x!4]!26 ~@33>").gain(0.26)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@7 A ~@4 B ~@5 A ~@4 B ~@8 C ~@4 A ~@6 C ~@8 A ~@4 B ~@5 A ~@4 B ~@8 C ~@7 C ~@7 C ~@7 C ~@2
>`.pickRestart({
  A: "~@3 x", B: "~@3 x ~@4", C: "~@5 x ~@2",
})).gain(0.26)

// drums · open hat
const open_hat = s("oh").struct("<A@2 B A ~@8 A ~@10 A ~@22 A@2 B A ~@8 A ~@10 A ~@35>".pickRestart({
  A: "~@7 x", B: "~@5 x ~ x",
})).gain(0.26)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@12 A ~@10 A ~@8 B C ~@10 B C ~@12 A ~@10 A ~@8 B C ~@6 B C ~@6 B C ~@6 B C ~
>`.pickRestart({
  A: "x", B: "~@7 x ~@8", C: "~@3 x",
})).gain(0.26)

// drums · crash
const crash = s("cr").struct("<~@13 A ~@10 A ~@8 A ~@11 A ~@13 A ~@10 A ~@8 A ~@7 A ~@7 A ~@7 A ~>".pickRestart({
  A: "~@7 x",
})).gain(0.26)

// drums · ride
const ride = s("rd").struct(`<
  ~@4 A ~@3 A ~@5 A@2 ~@3 A ~@5 A ~@8 A ~@15 A ~@3 A ~@5 A@2 ~@3 A ~@5 A ~@33
>`.pickRestart({
  A: "x",
})).gain(0.26)

// drums · tambourine
const tambourine = s("tb").struct("<~@26 [x!4]!8 ~@4 [x!4]!8 ~@26 [x!4]!32 ~>").gain(0.26)

stack(piano, piano_2, kick, rim, snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash, ride, tambourine)

More by Depeche Mode