Strudelify

Ice Machine

Depeche Mode

KeyA minorTempo135 bpm
0:00/0:00
// Ice Machine — Depeche Mode
// 135 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "Bass" named as a bass, played on electric bass finger (its lead 1 square patch is not one)
// note: Full arrangement: all 130 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(135/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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.

// bass · electric bass finger · "Bass"
const bass = note(`<
  A@16 B@5 C D E B C D E F G F G F G F G B C D E B C D E F G F G F G F G A@8 B C D E B C D E F G F G F G F G B C D E B C
  D E F G F G F G F G A@16 F G F G F G F G H@8 ~@6
>`.pickRestart({
  A: "a2 a2@2 a2 a2@4", B: "a2!2 a3!2 a2!2 e3 a3", C: "e2!2 e3!2 e2!2 b2 e3", D: "f2!2 f3!2 f2!2 c3 f3",
  E: "c2!2 c3!2 e2!2 b2 e3", F: "a2!2 a3!2 f2!2 f3!2", G: "g2!2 g3!2 g2!2 d3 g3", H: "a2/8",
})).s("gm_electric_bass_finger").gain(0.36)

// other · string ensemble 2 · "Harmony 1"
const string_ensemble_2 = note("<~@4 A@8 ~@40 A@8 ~@16 B C D E B C D E ~@8 A@8 ~@16 F@8 ~@6>".pickRestart({
  A: "e4/8", B: "c4", C: "b3", D: "a3", E: "g3 e3", F: "a3/8",
})).s("gm_string_ensemble_2").gain(0.43)

// other · harpsichord · "Harmony 2"
const harpsichord = note(`<
  ~@16 A@5 B C D A B C D A@9 B C D A B C D A@8 ~@8 A B C D A B C D A@9 B C D A B C D A@8 ~@16 A@8 ~@14
>`.pickRestart({
  A: "~@7 a3 ~@7 a3, a3@2 c4@2 e4@2 a4@2 ~ a2@2 c3@2 e3@2 ~, ~ a2@2 c3@2 e3@2 ~ a3@2 c4@2 e4@2 a4@2",
  B: "~@7 e3 ~@7 e3, e3@2 g3@2 b3@2 e4@2 ~ e2@2 g2@2 b2@2 ~, ~ e2@2 g2@2 b2@2 ~ e3@2 g3@2 b3@2 e4@2",
  C: "~@7 f3 ~@7 f3, f3@2 a3@2 c4@2 f4@2 ~ f2@2 a2@2 c3@2 ~, ~ f2@2 a2@2 c3@2 ~ f3@2 a3@2 c4@2 f4@2",
  D: "~@7 b2 ~@7 c3, c3 e3 g#3 b3 e3 g#3 b3 c4, ~ c2@2 e2@2 g#2@2 ~@2 e2@2 g#2@2 b2@2 ~",
})).s("gm_harpsichord").gain(0.31)

// other · pad new age · "Bridge"
const pad_new_age = note(`<
  ~@52
  [~@7 a3!2 ~@6 a3, a3 c4 e4 a4 ~ c4 e4 a4, ~ a2@2 c3@2 e3@2 ~@2 a2@2 c3@2 e3@2 ~]!2
  [~@15 g3, a3 c#4 d#4 g4 a3 c#4 d#4 g4, ~ a2@2 c#3@2 d#3@2 g3@2 a2@2 c#3@2 d#3@2 ~]!2
  [~@15 f3, a3 b3 d#4 f4 a3 b3 d#4 f4, ~ a2@2 b2@2 d#3@2 f3@2 a2@2 b2@2 d#3@2 ~]!2
  [~@15 d#3, a3 b3 c#4 d#4 a3 b3 c#4 d#4, ~ a2@2 b2@2 c#3@2 d#3@2 a2@2 b2@2 c#3@2 ~]!2
  ~@70
>`).s("gm_pad_new_age").gain(0.17)

// other · string ensemble 1 · "Harmony 3"
const string_ensemble_1 = note("<~@84 [c4 b3 a3 g3 c4 b3 a3 g3]!8 ~@16 [c4 b3 a3 g3 c4 b3 a3 g3]!8 ~@14>")
  .s("gm_string_ensemble_1").gain(0.35)

// drums · kick
const kick = s("bd").struct("<A@28 B@8 A@8 B@8 A@16 B@8 A@8 B@8 A@16 B@8 C ~@13>".pickRestart({
  A: "x!2", B: "x!2 ~@2 x ~@3", C: "x",
})).gain(0.8)

// drums · rim
const rim = s("rim").struct(`<
  A@16 B@3 C B@3 C B@3 C D@7 E B@3 C B@3 C D@7 F A@8 B@3 C B@3 C D@7 F B@3 C B@3 C D@8 A@16 D@7 F ~@14
>`.pickRestart({
  A: "~@12 x!4", B: "~@6 x!2", C: "~@5 x!3", D: "~ x ~@4 x!2", E: "~ x ~@3 x!3", F: "~@2 x ~@9 x!4",
})).gain(0.72)

// drums · open hat
const open_hat = s("oh").struct("<~@16 [~ x ~@2]!36 ~@8 [~ x ~@2]!32 ~@16 [~ x ~@2]!8 ~@14>").gain(0.64)

// drums · splash
const splash = s("cr").struct("<~@16 [~ x ~@2]!36 ~@8 [~ x ~@2]!32 ~@16 [~ x ~@2]!8 ~@14>").gain(0.4)

// drums · shaker
const shaker = s("sh").struct(`<
  A@16 B@3 C B@3 C B@3 C D@7 E B@3 C B@3 C D@7 F A@8 B@3 C B@3 C D@7 F B@3 C B@3 C D@8 A@16 D@7 F ~@14
>`.pickRestart({
  A: "~@12 x!4", B: "~@6 x!2", C: "~@5 x!3", D: "~ x ~@4 x!2", E: "~ x ~@3 x!3", F: "~@2 x ~@9 x!4",
})).gain(0.72)

stack(bass, string_ensemble_2, harpsichord, pad_new_age, string_ensemble_1, kick, rim, open_hat, splash, shaker)

More by Depeche Mode