Strudelify

People Are People

Depeche Mode

KeyA minorTempo120 bpm
0:00/0:00
// People Are People — Depeche Mode
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 114 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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.

// other · glockenspiel
const glockenspiel = note(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@8 B C B C ~@19 B C ~ A ~ A ~ A ~ A ~ A ~ A ~@20 B C B C ~@30
>`.pickRestart({
  A: "[c7,c8] [a6,a7] ~@6", B: "~@10 g6 ~@2 g6 ~@2", C: "a6 ~@15",
})).s("gm_glockenspiel").gain(0.45)

// other · taiko drum · "DepecheMode 1984"
const taiko_drum = note("<A B A B A B A B A B A B A B A B ~@33 A B A B A B A B A B A B ~@53>".pickRestart({
  A: "~@3 c3@2 ~@3", B: "c3!3 ~@3 c3 ~@9",
})).s("gm_taiko_drum").gain(0.38)

// bass · synth bass 1 · "Masayoshi Ishikawa"
const bass = note(`<
  ~@3 A B C B C B C B C B C D ~ E@2 F G E@2 F G H I J K@3 L K@3 L ~@4 E@2 F G E@2 F G H M ~@7 A B C B C K@3 L K@3 L ~@4
  E@2 F G E@2 F G H I D N@23 ~@7
>`.pickRestart({
  A: "~@14 e2!2", B: "a1 ~@2 a1 ~@2 a1 ~@3 e2 ~ c2!2 d2 ~", C: "c2 ~@2 c2 ~@2 a1 ~@7 e2!2", D: "a1 ~@2 a1 ~@2 a1 ~@9",
  E: "a1 ~@2 a1 ~@2 a1 ~@3 c2 ~ c2 ~ g1 ~", F: "f1 ~@2 f1 ~@2 f1 ~@5 f2 ~@3", G: "f1 ~@3 f2 ~ f1 ~ a1 ~ e2 ~ a1 ~ d2 ~",
  H: "a1!3 ~@2 a1 ~@2 a1 ~@5 d2 c2", I: "d2 ~ e2 ~@2 c2 ~@2 a1 ~ g1 ~@2 g1 ~@2", J: "a1 ~@15",
  K: "a1 ~@2 a1 ~@2 a1 ~@3 a1 ~@2 a1 ~@2", L: "a1 ~@3 d2 ~ a1 ~ a1 ~ e2 ~ a1 ~ d2 ~", M: "d2 ~ e2 ~@2 c2 ~@2 a1 ~@7",
  N: "a1 ~ a1 ~ a1 ~ a1 ~",
})).s("gm_synth_bass_1").gain(0.27)

// other · koto
const koto = note("<~@6 A B ~@2 A B ~@43 A B ~@2 A B ~@53>".pickRestart({
  A: "~@14 [e2,e3,e4]!2", // E
  B: "[d2,d3,d4]!2 [c2,c3,c4] ~ [a1,a2,a3] ~ [a1,a2,a3]!2 [c2,c3,c4]!2 [d2,d3,d4] ~ [a1,a2,a3] ~@3", // D C A C D A
})).s("gm_koto").gain(0.3)

// other · piano
const piano = note(`<
  ~@12 A ~ A B C D E F C D E F ~@10 G H ~@2 B C D E F C D E F ~@12 A ~@8 G H ~@2 B C D E F C D E F ~@2 I J K L M J N O P
  J K L M J N O P J K L M J N O Q R S@2 T U@2
>`.pickRestart({
  A: "[a1,a2]@3 [a1,a2]@3 [a1,a2]@4 ~@6", B: "~@3 d3", C: "e3 c3@2 a2@5", D: "~@3 g2", E: "f2 ~", F: "d2@3 c2@3 d2@2",
  G: "~@3 e2", H: "c2 ~", I: "~@3 e3", J: "c3@3 e3", K: "d3@3 a3", L: "f3@3 e3", M: "g2@3 e3", N: "d3@3 c3",
  O: "a3@3 c3", P: "g3@3 e3", Q: "g3 ~", R: "f3 e3", S: "d3 c3", T: "g2 b2", U: "a2/2",
})).s("gm_piano").gain(0.4)

// other · synth bass 2
const synth_bass_2 = note("<~@16 A@8 ~@3 B@8 ~@4 A@8 ~@14 B@8 ~@4 A@8 ~@33>".pickRestart({
  A: "~@2 a4!4 a3 a2!2 ~ a3 a4 a2 a3 a4 ~", B: "a3 ~@2 a3 ~@2 a3 ~ a3 a4 a3 ~@5",
})).s("gm_synth_bass_2").gain(0.12)

// bass · synth bass 1
const bass_2 = note("<~@23 A B A B ~@8 C D C ~@8 A B ~@21 C D C ~@8 A B A B ~@30>".pickRestart({
  A: "~@10 g2 ~@2 g2 ~@2", B: "a2 ~@15", C: "f1", D: "d1",
})).s("gm_synth_bass_1").gain(0.57)

// other · dulcimer
const dulcimer = note(`<
  ~@26
  [~@5 a3 c4 a3]
  [e4 a3 c4 d4 e4 a3 c4 a3]!8
  ~@25
  [~@5 a3 c4 a3]
  [e4 a3 c4 d4 e4 a3 c4 a3]!8
  ~@45
>`).s("gm_dulcimer").gain(0.24)

// other · tubular bells
const tubular_bells = note(`<
  ~@28 A@2 B@2 A@2 C@2 ~@26 A@2 B@2 A@2 C@2 ~@13 D E F G H E I J K E F G H E I J K E F G H E I J L M N@2 O P ~
>`.pickRestart({
  A: "[~@4 a3 c4 d4 d4@4 c4@5]/2", B: "[~@4 e4 c4@2 a3@9]/2", C: "[~@4 e4!2 ~ c4@3 ~@6]/2", D: "~@12 e4@3 ~",
  E: "c4@10 ~@2 e4@3 ~", F: "d4@10 ~@2 a4@3 ~", G: "f4@10 ~@2 e4@3 ~", H: "g3@10 ~@2 e4@3 ~", I: "d4@10 ~@2 c4@3 ~",
  J: "a4@10 ~@2 c4@3 ~", K: "g4@10 ~@2 e4@3 ~", L: "g4 ~", M: "f4!2 e4!2", N: "d4!2 c4!2", O: "g3!2 b3!2", P: "[a3,a4]",
})).s("gm_tubular_bells").gain(0.42)

// other · orchestra hit · G
const orchestra_hit = note(`<
  ~@38
  [[g3,g4] [g3,g4]@2 ~@5]
  ~@33
  [[g3,g4] [g3,g4]@2 ~@5]
  ~@34
  [[g3,g4] [g3,g4]@2 ~@5]
  ~@6
>`).s("gm_orchestra_hit").gain(0.49)

// other · marimba · Csus2 Dm Fsus2 C5 Csus2 Dm Fsus2 C5 …
const marimba = note(`<
  ~@14
  [c4 [c4,d4] [d4,f4] [f4,g4] [c4,g4,c5] [c4,d4,c5,d5] [d4,f4,d5,f5] [f4,g4,f5,g5] [c4,g4,c5,g5] [c4,d4,c5,d5] [d4,f4,d5,f5] [f4,g4,f5,g5] [c4,g4,c5,g5,c6] [c4,d4,c5,d5,c6,d6] [d4,f4,d5,f5,d6,f6] [f4,g4,f5,g5,f6,g6]]
  [[c4,g4,c5,g5,c6,g6] [c4,d4,c5,d5,c6,d6] [d4,f4,d5,f5,d6,f6] [f4,g4,f5,g5,f6,g6] [c4,g4,c5,g5,c6,g6] [c4,d4,c5,d5,c6,d6] [d4,f4,d5,f5,d6,f6] [f4,g4,f5,g5,f6,g6] [c4,g4,c5,g5,c6,g6] [c4,d4,c5,d5,c6,d6] [d4,f4,d5,f5,d6,f6] [f4,g4,f5,g5,f6,g6] [c4,g4,c5,g5,c6,g6] [c4,d4,c5,d5,c6,d6] [d4,f4,d5,f5,d6,f6] [f4,g4,f5,g5,f6,g6]]
  [[g4,g5,g6] ~@15]
  ~@32
  [c4 [c4,d4] [d4,f4] [f4,g4] [c4,g4,c5] [c4,d4,c5,d5] [d4,f4,d5,f5] [f4,g4,f5,g5] [c4,g4,c5,g5] [c4,d4,c5,d5] [d4,f4,d5,f5] [f4,g4,f5,g5] [c4,g4,c5,g5,c6] [c4,d4,c5,d5,c6,d6] [d4,f4,d5,f5,d6,f6] [f4,g4,f5,g5,f6,g6]]
  [[g4,g5,g6] ~@15]
  ~@63
>`).s("gm_marimba").gain(0.16)

// other · synth strings 1
const synth_strings_1 = note(`<
  ~@21 A ~@6 B@2 C@2 B@2 D@2 ~@8 A ~@5 E@2 ~ F@3 ~@6 B@2 C@2 B@2 D@2 ~@8 A ~@8 E@2 ~@2 E@2 ~@2 E@2 ~@2 E@2 ~@2 E@2 ~@2
  E@2 ~@5
>`.pickRestart({
  A: "c5 d5 e5 e5@5", B: "[~@4 a3 c4 d4 d4@4 c4@5]/2", C: "[~@4 e4 c4@2 a3@9]/2", D: "[~@4 e4 e4@2 c4@3 ~@6]/2",
  E: "[~@2 [g4,g5]!3 [g4,g5]@2 [a4,g5]@4 [c5,f5]@5]/2", // G A7 F5
  F: "[~@2 g5!3 g5@2 g5@3 [g4,g5]!3 [g4,g5]@2 [a4,g5]@4 [c5,f5]@5, ~@11 f5@5 ~@8]/3", // G A7 F5
})).s("gm_synth_strings_1").gain(0.35)

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

// drums · snare
const snare = s("sd").struct("<~ A@25 ~ A@11 B A@9 C A@23 B A@11 D@23 B ~@6>".pickRestart({
  A: "~ x ~ x", B: "x!2 ~@6", C: "~@4 x ~@7 x!4", D: "x!4",
})).gain(0.64)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@27 [x!8]!8 ~@26 [x!8]!8 ~@45>").gain(0.48)

// drums · tambourine
const tambourine = s("tb").struct("<~@35 [~@8 x!2 ~ x ~@4]!3 ~@31 [~@8 x!2 ~ x ~@4]!3 ~@42>").gain(0.56)

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

stack(
  glockenspiel, taiko_drum, bass, koto, piano, synth_bass_2, bass_2, dulcimer, tubular_bells, orchestra_hit, marimba,
  synth_strings_1, kick, snare, pedal_hat, tambourine, shaker
)

More by Depeche Mode