Strudelify

It's No Good

Depeche Mode

KeyE♭ majorTempo99 bpm
0:00/0:00
// It's No Good — Depeche Mode
// 99.2 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 7 lead 1 square (copy of ch 6 lead 2 sawtooth, 0.125 beats late)
// note: Full arrangement: all 149 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(99.2/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · synth strings 1
const synth_strings_1 = note("<~@8 A B C@2 A B C@2 ~@28 A B D E A B D E ~@40 A B D E A B D E ~@49>".pickRestart({
  A: "g4@3 bb4", B: "eb4@3 g4", C: "c4/2", D: "c4@3 eb4", E: "ab3@3 g3@5",
})).s("gm_synth_strings_1").gain(0.72)

// bass · synth bass 2
const bass = note(`<
  ~@8 A@8 B C D E B C D E B C D E B C D E A@12 B C D E B C D E B C D E B C D E B C D E B C D E A@24 B C D E B C D E A@48
  ~
>`.pickRestart({
  A: "c2@2 c2@2 c2@2 c2!3 eb2 c2@2 c2@2 c2@2", B: "c2@2 c2@2 c2@2 c2@2 bb1 c2 c2@2 c2@2 c2@2",
  C: "bb1@2 bb1@2 bb1@2 bb1@2 ab1 bb1 bb1@2 bb1@2 bb1@2", D: "ab1!8",
  E: "ab1@2 ab1@2 ab1@2 ab1@2 ab1 bb1 bb1@2 bb1@2 bb1@2",
})).s("gm_synth_bass_2").gain(0.72).pan(0.3)

// other · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@8 A@8 B C D E B C D E B C D E B C D E A@12 B C D E B C D E B C D E B C D E B C D E B C D E A@24 B C D E B C D E A@48
  ~
>`.pickRestart({
  A: "~ c3@2 c3@2 c3!4 eb3 c3 c3@2 c3@2 c3", B: "c3!8 bb2 c3!7", C: "bb2!8 ab2 bb2!7", D: "ab2!16", E: "ab2!9 bb2!7",
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.7)

// chords · pad warm
const pad_warm = note(`<
  ~@16 A@2 B C D E B C D E B C A@2 F G A@2 F G A@2 F G ~@12 A@2 B C D E B C D E B C A@2 F G A@2 F G A@2 F G ~@8 B H I J
  B H I H ~@8 A@2 F G A@2 F G A@2 F G A@2 F G ~@8 A@2 F G A@2 F G A@2 F G A@2 F G ~@9
>`.pickRestart({
  A: "[eb4,g4]/2", B: "g4", C: "c4 ~", D: "[eb4,g4]", E: "f4", F: "[g4,bb4]", G: "[g4,bb4] ~", H: "ab4", I: "a4",
  J: "f4 ~",
})).s("gm_pad_warm").gain(0.37).pan(0.6)

// other · lead 2 sawtooth
const lead_2_sawtooth = note(`<
  A B A B A B A B ~@108 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "c3@2 g3 bb3@2 c3@2 g3@2 bb3@2 c3 g3@2 bb3@2", B: "c3@2 g3 bb3@2 c3@2 g3@2 bb3@2 c3 g3@2 bb2@2",
})).s("gm_lead_2_sawtooth").gain(0.37).pan(0.3)

// other · string ensemble 1
const string_ensemble_1 = note("<~@84 A B C D A B C B ~@57>".pickRestart({
  A: "g6", B: "ab6", C: "a6", D: "f6 ~",
})).s("gm_string_ensemble_1").gain(0.19).pan(0.2)

// other · lead 5 charang
const lead_5_charang = note(`<
  ~@40 A B A B ~@32 A B A B A B A B ~@32 A B A B A B A B A B A B A B A B A B A B A B A B ~@9
>`.pickRestart({
  A: "c3@2 c3@2 c3@2 c3!3 eb3 c3@2 c3@2 c3@2", B: "c3@2 c3@2 c3@2 c3!3 eb3 eb3@2 eb3@2 eb3@2",
})).s("gm_lead_5_charang").gain(0.17).pan(0)

// other · synth bass 1 · "and maybe the drum beat!)"
const synth_bass_1 = note("<~@76 A@2 B C A@2 B C ~@36 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C ~@9>".pickRestart({
  A: "g3!16", B: "[g3,c4] c4!15", C: "c4!16",
})).s("gm_synth_bass_1").gain(0.32).pan(0.9)

// other · lead 8 bass lead
const lead_8_bass_lead = note("<~@78 A B C B C B ~@38 D E F B C B C B C B C B C B C B C B ~@9>".pickRestart({
  A: "~ c4 ~ bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ c4!4", B: "c4 ~ c4 ~ bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ c4!3",
  C: "bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ c4!4", D: "~@2 c4 ~ bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ c4!3",
  E: "c4!2 ~ c4 ~ bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ c4!2", F: "[bb3,c4] c4 ~ bb3 c4 ~ bb3 c4 ~ bb3 c4 ~ c4!4",
})).s("gm_lead_8_bass_lead").gain(0.54).pan(0.6)

// chords · pad poly
const pad_poly = note(`<
  ~@32 A@2 B C A@2 B C ~@28 A@2 B C A@2 B C ~@24 A@2 B C A@2 B C A@2 B C A@2 B C ~@8 A@2 B C A@2 B C A@2 B C A@2 B C ~@9
>`.pickRestart({
  A: "[eb4,g4]/2", B: "[g4,bb4]", C: "[g4,bb4] ~",
})).s("gm_pad_poly").gain(0.07).pan(0.2)

// other · taiko drum
const taiko_drum = note("<~@82 [~@12 c2 d2 ~ d2] [~@5 d2!2 ~@9] ~@65>").s("gm_taiko_drum").gain(0.8).pan(0.9)

// chords · overdriven guitar
const overdriven_guitar = note("<~@27 A@4 ~@32 B@5 ~@81>".pickRestart({
  A: "[c5,g5]/4", B: "[~ [c5,g5]@64 ~@15]/5",
})).s("gm_overdriven_guitar").gain(0.22)

// drums · kick
const kick = s("bd").struct("<~@4 [x ~@2 x!2 ~@2 x ~ x ~@2 x!2 ~ x]!144 ~>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@4 [~ x ~ x]!78 [~@4 x ~@7 x!2 ~ x] [~@4 x!3 ~@5 x ~@3] [~ x ~ x]!64 ~>").gain(0.64)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@4 [x!2 ~ x!3 ~ x]!144 ~>").gain(0.8)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@32 A ~ A ~ A ~ A ~@29 A ~ A ~ A ~ A ~@25 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@34
>`.pickRestart({
  A: "~@5 x ~ x ~@8",
})).gain(0.64)

// drums · shaker
const shaker = s("sh").struct("<~@4 [x!2 ~ x ~ x ~ x!3 ~ x!3 ~ x]!144 ~>").gain(0.32)

stack(
  synth_strings_1, bass, acoustic_guitar_steel, pad_warm, lead_2_sawtooth, string_ensemble_1, lead_5_charang,
  synth_bass_1, lead_8_bass_lead, pad_poly, taiko_drum, overdriven_guitar, kick, snare, pedal_hat, open_hat, shaker
)

More by Depeche Mode