Strudelify
Everything Counts cover art

1983 · Construction Time Again

Everything Counts

Depeche Mode

KeyA minorTempo108 bpm
0:00/0:00
// Everything Counts — Depeche Mode
// 108 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/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 · pad poly · "PolySyn"
const pad_poly = note(`<
  A B A C A B A D E F E G H I J E F K L H M N O P Q N O P R S ~ T@2 A B A C A B A D E F E G H I J E F K L H M N O P Q N
  O P R S ~ T@2 U V T@2 A B A C N O T@2 N O T@2 N O T@2 N O T@2 N O T@2 N O W@2
>`.pickRestart({
  A: "a4!2 g4@2 a4@2 g4@2 b4@3 a4@5", B: "b4@6 c5@8 g4!2", C: "b4@6 a4@8 g4!2", D: "b4@3 a4@5", E: "~@3 a4 e5@2 c5@2",
  F: "~@3 a4 c5@2 e5@2", G: "~@3 e4 b4@2 d5@2", H: "~@3 e4 d5@2 b4@2", I: "~@3 d4 a4@2 c5@2", J: "~@3 d4 c5@2 a4@2",
  K: "~@3 e4 d5@2 c5@2", L: "~@3 a4 g5@2 e5@2", M: "~@2 c#4@2 g4 c#5 a5@2",
  N: "[g4,c5,e5]@3 [g4,c5,e5]@3 [g4,b4,d5]@10", O: "d5!2 e5 [e4,a4,c5]@5, [f4,a4]@3 ~@5",
  P: "[g4,c5,e5]@2 e5 f5 [g4,b4,d5]@4, ~ [g4,c5] ~@2", Q: "[f4,a4,d5]@2 e5 c5@4 e5, ~@2 [f4,a4]@5 ~",
  R: "d5@2 c5 a4@2 d5!3, [f4,a4]@3 [d4,f4]@5", S: "[c4,e4,a4]@3 [c4,e4,a4]@3 [c4,e4,a4]@4 [c4,e4,a4]@6",
  T: "[[f4,a4,e5]@2 [f4,a4,e5]@2 [f4,a4,e5]@4 d5@4 c5@2 d5@6 e5@2 c5@6 ~@2 g4!2, ~@4 [f4,a4]@3 [g4,b4]@4 [d#4,g#4]@5]/2", // Fmaj7 F G G#5
  U: "a4@2 a4!2 a4@2 a4@2 c5@3 c5@3 c5@2", V: "b4@2 b4!2 b4@2 b4@2 a4@3 a4@3 a4@2",
  W: "[[f4,a4,e5]!2 [f4,a4,e5]@2 d5@2 c5 d5@3 e5 [d#4,g#4]@5, ~@4 [f4,a4]@3 [g4,b4]@4 c5@3 ~@2]/2", // Fmaj7 G#5 F G
})).s("gm_pad_poly").gain(0.26)

// bass · synth bass 1 · "SynBass1"
const bass = note(`<
  A B A B A B A B C@3 D@2 E@2 C@2 F G F G H I J K H I L M A B N O A B A B A B A B C@3 D@2 E@2 C@2 F G F G H I J K H I L
  M A B N O P Q R O A B A B H I N O H I N O H I N O H I N O H I N O H I N O
>`.pickRestart({
  A: "a2@2 a2@2 a2@3 a2@2 a2@2 a2 a2@2 a2!2", B: "g2@2 g2@2 g2@3 f2@2 f2@2 f2 f2@2 f2!2", C: "a2 a2@2 a2 a2@2 a2@2 ~@8",
  D: "e2 e2@2 e2 e2@2 e2@2 ~@8", E: "d2 d2@2 d2 d2@2 d2@2 ~@8", F: "e2 e2@2 e2 e2@2 e2@2 ~@6 e2@2",
  G: "a2 a2@2 a2 a2@4 ~@6 a2@2", H: "c3@3 c3 c3@4 g2@3 g2 g2@2 g2!2", I: "f2@3 f2 f2@4 a2@3 a2 a2@2 a2!2",
  J: "c3@2 c3@2 c3@2 c3!2 g2@2 g2!2 g2@2 g2!2", K: "f2@3 f2 f2@4 d3@3 d3 d3@2 d3!2",
  L: "c3@3 c3 c3@2 c3!2 g2@2 g2!2 g2@2 g2!2", M: "f2@3 f2 f2@4 d3@3 d3 d3@4", N: "d3@3 d3 f2@4", O: "g2 g#2",
  P: "a2@3 a2 c3@3 c3", Q: "g2@3 g2 f2@3 f2", R: "d2@3 d2 f2@4",
})).s("gm_synth_bass_1").gain(0.26)

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

// drums · rim
const rim = s("rim").struct(`<
  ~@10 A ~@3 A ~@4 A ~ B C ~ B@2 C ~@16 A ~@3 A ~@4 A ~ B C ~ B@2 C ~@14 B C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B
>`.pickRestart({
  A: "~@10 x!2 ~@2 x ~", B: "~@9 x ~ x!4 ~", C: "~@9 x ~@4 x ~",
})).gain(0.31)

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

// drums · clap
const clap = s("cp").struct(`<
  ~@16 A ~@5 B ~@3 B ~@5 C ~@16 A ~@5 B ~@3 B ~@5 C ~@3 C ~@5 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@2
>`.pickRestart({
  A: "~@13 x ~ x", B: "~@12 x!2 ~ x", C: "~@11 x ~ x ~@2",
})).gain(0.31)

// drums · low tom
const low_tom = s("lt").struct("<~@11 A ~@3 A B ~@3 A ~@23 A ~@3 A B ~@3 A ~@13 C ~@30>".pickRestart({
  A: "~@9 x ~@3 x ~@2", B: "~@4 x!2 ~ x ~ x ~@2 x ~@3", C: "x ~@2 x ~@2 x ~@2 x ~@4 x ~",
})).gain(0.31)

// drums · hihat
const hihat = s("hh").struct(`<
  A@8 B C B@3 C B@4 C B@2 ~@8 D E F G A@8 B C B@3 C B@4 C B@2 ~@8 D E F G H@2 F G A@4 ~@24
>`.pickRestart({
  A: "x!2 ~@2 x!2 ~@2 x!2 ~ x!2 ~ x!2", B: "x!8", C: "x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2", D: "~@6 x!2",
  E: "x ~ x ~ x!3 ~ x ~ x ~ x ~ x!2", F: "x ~ x ~ x!3 ~@2 x ~ x ~ x!2 ~", G: "x ~ x ~ x ~ x ~ x!3 ~ x ~ x ~",
  H: "x ~ x!3 ~ x ~ x!3 ~ x ~ x ~",
})).gain(0.31)

// drums · mid tom
const mid_tom = s("mt").struct("<~@11 A ~@3 A B ~@3 A ~@23 A ~@3 A B ~@3 A ~@12 C ~@31>".pickRestart({
  A: "~@3 x ~@3 x", B: "~@2 x!2 ~@7 x ~@4", C: "~@4 x ~@2 x",
})).gain(0.31)

// drums · open hat
const open_hat = s("oh").struct(`<
  [~@2 x ~@3 x ~@3 x ~@2 x ~@2]!8
  ~@25
  [~@2 x ~@3 x ~@3 x ~@2 x ~@2]!8
  ~@29
  [~@2 x ~@3 x ~@3 x ~@2 x ~@2]!4
  ~@24
>`).gain(0.31)

// drums · high tom
const high_tom = s("ht").struct("<~@11 A ~@3 A B ~@3 A ~@23 A ~@3 A B ~@3 A ~@12 C ~@31>".pickRestart({
  A: "~@3 x", B: "x!2 ~@14", C: "x ~@2 x ~@4",
})).gain(0.31)

// drums · crash
const crash = s("cr").struct(`<
  ~@7 A ~@3 A ~@3 A B ~@3 A ~@8 C ~@2 D ~@7 A ~@3 A ~@3 A B ~@3 A ~@8 C ~@2 D ~@3 D ~@28
>`.pickRestart({
  A: "~@7 x", B: "~@11 x ~@2 x ~", C: "x ~@2 x ~@2 x ~@3 x ~@5", D: "~@15 x",
})).gain(0.31)

// drums · ride
const ride = s("rd").struct(`<
  ~@21
  [x ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x ~]!7
  [x ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x!2]
  ~@25
  [x ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x ~]!7
  [x ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x!2]
  ~@12
  [x ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x ~]!24
>`).gain(0.31)

stack(pad_poly, bass, kick, rim, snare, clap, low_tom, hihat, mid_tom, open_hat, high_tom, crash, ride)

More by Depeche Mode