Strudelify
Enjoy the Silence cover art

Enjoy the Silence

Depeche Mode

KeyC minorTempo115 bpm
0:00/0:00
// Enjoy the Silence — Depeche Mode
// 115 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 122 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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 · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@4 A@4 B C D E ~@19 A@4 B C D E ~@17 F@2 G@2 F@2 G@2 A@4 B C D E ~@17 F@2 G@2 F@2 G@2 F@2 G@2 F@2 G@2 F@2 G@2 F@2 G@2
  F@2 G@2 F@2 G@2 ~
>`.pickRestart({
  A: "[~@6 [c4,c5]@4 ~@2 [d4,d5]@7 ~ [eb3,eb4]@2 [c4,c5]@4 ~@2 [bb3,bb4]@6 ~@2 [eb3,eb4]@2 [c4,c5]@4 ~@2 [d4,d5]@8 ~@2 [c4,c5]@4 ~@2 [bb3,bb4]@4, ~@4 [eb3,eb4]@4 ~@2 [eb3,eb4]@9 ~@7 [eb3,eb4]@8 ~@8 [eb3,eb4]@9 ~ [eb3,eb4]@5 ~ [eb3,eb4]@5 ~]/4", // C D Eb C Bb Eb C D …
  B: "~@3 [ab3,ab4]@2 ~ [g3,g4]@2, ~@4 [c3,c4]@5 ~ [bb2,bb3]@6", // Ab G C Bb
  C: "~@3 [c4,c5]@2 ~ [bb3,bb4]@2, ~@4 [eb3,eb4]@5 ~ [d3,d4]@6", // C Bb Eb D
  D: "~@3 [g3,g4], ~@4 [c3,c4]@5 ~ [bb2,bb3]@6, ~@3 [ab3,ab4]@3 ~@2", // G C Bb Ab
  E: "~@3 c4@2 c3 [g3,g4]@2, ~@4 [eb3,eb4]@5 ~ c4@4 ~@2, ~@3 c5@3 ~@2", // G Eb
  F: "[~@4 eb4@2 c5@4 ~@2 d5@7 ~@9 bb4@4, ~@10 eb4@7 ~@3 eb4@4 ~@2 eb4@6, ~@11 eb5@3 ~@2]/2",
  G: "[~@3 bb4@2 ~ g4@4 ~ bb4@2 ~ g4@2, ~@4 eb4@4 ~@2 eb4@8 ~@2 eb4@5 ~ eb4@6]/2",
})).s("gm_acoustic_guitar_steel").gain(0.64)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A B C D A B C D A B C D A B E F A B E F G H C I G H C J@2 ~@2 A B C D A B C D A B E F A B E F G H C I G H C J@2 G H C
  I G H C K@2 B C D A B C D G H C I G H C L@2 H C I G H C J@2 G H C I G H C I G H C I G H C I G H C I G H C I G H C I G
  H C M ~
>`.pickRestart({
  A: "c2 ~ c2!5 ~ c2!2 ~ c2!4 ~", B: "eb2!2 ~ eb2!2 ~ eb2!5 ~ eb2 ~ eb2!2", C: "c2!3 ~ c2!2 ~ c2!2 ~ c2 ~ c2!3 ~",
  D: "eb2!2 ~ eb2!4 ~ eb2!2 ~ eb2!2 ~ eb2!2", E: "ab1!3 ~ ab1!2 ~ ab1!2 ~ ab1 ~ ab1!3 ~",
  F: "ab1!2 ~ ab1!4 ~ ab1!2 ~ ab1!2 ~ ab1!2", G: "f1 ~ f1!5 ~ f1!2 ~ f1!4 ~", H: "ab1!2 ~ ab1!2 ~ ab1!5 ~ ab1 ~ ab1!2",
  I: "bb1!2 ~ bb1!4 ~ bb1!2 ~ bb1!2 ~ bb1!2", J: "b1!2 ~ b1!4 ~ b1!2 ~ b1!2 ~ b1!2",
  K: "[bb1!2 ~ bb1!4 ~ bb1!2 ~ bb1!2 ~ bb1 ~ c2 ~ c2!5 ~ c2!2 ~ c2!4 ~, ~@15 bb1@2 ~@15]/2",
  L: "[b1!2 ~ b1!4 ~ b1!2 ~ b1!2 ~ b1 ~ f1 ~ f1!5 ~ f1!2 ~ f1!4 ~, ~@15 b1@2 ~@15]/2",
  M: "bb1!2 ~ bb1!4 ~ bb1!2 ~ bb1!2 ~@3",
})).s("gm_electric_bass_finger").gain(0.5)

// other · french horn · "FR.HORN"
const french_horn = note("<~@60 A@4 ~@41 B@4 ~@4 B@4 ~@5>".pickRestart({
  A: "[~@2 eb5 c6@2 eb5 d6@4 eb5 eb6@2 eb5 bb5@4 eb5 bb5@2 eb5 g5@4 eb5 bb5@2 eb5 g5@2]/4",
  B: "[~@6 c5@6 d5@6 ~@4 eb5@6 bb4@7 ~@3 bb4@6 g4@6 ~@4 bb4@6 g4@4]/4",
})).s("gm_french_horn").gain(0.64)

// other · pad sweep · "SWEEP PAD"
const pad_sweep = note(`<
  ~@47 A B C D A B C E@2 A B C D A B C D ~@8 A B C D A B C F A B C D A B C E@2 A B C D A B C D A B C D A B C D A B C D A
  B C D A B C D A B C D ~
>`.pickRestart({
  A: "f3", B: "ab3", C: "c4", D: "bb3", E: "b3/2", F: "b3",
})).s("gm_pad_sweep").gain(0.64)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@20 A B C D A E C F@2 ~@2 G D G D G D G D H I J K C L K@2 A B C D A E C F@2 ~@8 G D G D G D G D A B C D A E C M A B C
  D A E C F@2 ~@33
>`.pickRestart({
  A: "~ [c5,f5,ab5]@3", B: "~@3 [c5,eb5,ab5]@13", C: "~ [c5,eb5,g5]@3", D: "~ [bb4,eb5,g5]@3", E: "~ [c5,eb5,ab5]@3",
  F: "[~ [b4,eb5,gb5]@7]/2", G: "~@3 [c5,eb5,g5]@13", H: "~ [c5,eb5,g5]@7", I: "~@3 [bb4,eb5,gb5]@13",
  J: "~@3 [ab4,c5,eb5]@13", K: "~ [ab4,c5,eb5]@3", L: "~ [bb4,eb5,gb5]@3", M: "~ [b4,eb5,gb5]@3",
})).s("gm_string_ensemble_1").gain(0.12)

// drums · kick
const kick = s("bd").struct("<[x!4]!121 ~>").gain(0.8)

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

// drums · hihat
const hihat = s("hh").struct(`<
  [~@2 x ~@3 x!2 ~ x!2 ~@3 x ~]!12
  [x ~ x ~ x ~ x!5 ~ x ~ x ~]!19
  [~@2 x ~@3 x!2 ~ x!2 ~@3 x ~]!16
  [x ~ x ~ x ~ x!5 ~ x ~ x ~]!9
  [~@2 x ~@3 x!2 ~ x!2 ~@3 x ~]!16
  [x ~ x ~ x ~ x!5 ~ x ~ x ~]!48
  [x ~ x ~ x ~ x!5 ~ x ~@3]
  ~
>`).gain(0.72)

// drums · congas
const congas = s("conga:13").struct("<~@29 [~ x ~@3 x ~@2]!2 ~@91>").gain(2.56)

// drums · congas
const congas_2 = s("conga:18").struct("<~@29 [~@6 x!2 ~@6 x!2]!2 ~@91>").gain(2.56)

// drums · congas
const congas_3 = s("conga:33").struct("<~@29 [x!2]!2 ~@91>").gain(2.56)

stack(
  acoustic_guitar_steel, bass, french_horn, pad_sweep, string_ensemble_1, kick, snare, hihat, congas, congas_2, congas_3
)

More by Depeche Mode