Strudelify

Big Muff

Depeche Mode

KeyD♭ majorTempo276 bpm
0:00/0:00
// Big Muff — Depeche Mode
// 276 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 300 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(276/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 · timpani · "Background 2"
const timpani = note(`<
  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 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 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 ~@22 A B ~@2 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 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 A B A B A B A B A B A B A B
  ~@22 A B ~@2 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 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 A B A B A B A B A B A B C ~
>`.pickRestart({
  A: "eb5 ~ bb5 ~@3 ab5!2", B: "~@6 ab5 f5", C: "eb5 ~@7",
})).s("gm_timpani").gain(0.07).pan(0.7)

// bass · fretless bass · "Bass 1"
const bass = note(`<
  A B C ~ A B C ~ A B C ~ A B C ~ 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 D E D E F G F G H I H
  I A B A B A B A B A B A B D E D E F G F G H I H I A B A B A B A B J K J L M N M O P Q P R P Q P R M@4 S@2 A B S@2 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 A B D E D E F G F G H I H I A B A B A B A B A B A B D E D
  E F G F G H I H I A B A B A B A B J K J L M N M O P Q P R P Q P R M@4 S@2 A B S@2 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 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 A B A B A B A B A B A B C
  ~
>`.pickRestart({
  A: "eb1 ~ eb1 ~ f1 ~ f1 ~", B: "gb1 ~ gb1 ~ f1 ~ f1 ~", C: "eb1 ~@7", D: "db1 ~ db1 ~ eb1 ~ eb1 ~",
  E: "f1 ~ f1 ~ eb1 ~ eb1 ~", F: "b0 ~ b0 ~ db1 ~ db1 ~", G: "eb1 ~ eb1 ~ db1 ~ db1 ~", H: "ab0 ~ ab0 ~ bb0 ~ bb0 ~",
  I: "b0 ~ b0 ~ bb0 ~ bb0 ~", J: "gb1 ~ gb1 ~ gb1 ~ gb1 ~", K: "gb1!3 ~ gb1 ~ gb1 ~", L: "gb1@3 ~ gb1@3 ~",
  M: "ab1 ~ ab1 ~ ab1 ~ ab1 ~", N: "ab1!3 ~ ab1 ~ ab1 ~", O: "ab1@3 ~ ab1@3 ~", P: "bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  Q: "bb1!3 ~ bb1 ~ bb1 ~", R: "bb1@3 ~ bb1@3 ~", S: "[eb1@2 ~ eb1@2 ~ eb1@2]/2",
})).s("gm_fretless_bass").gain(0.17)

// bass · synth bass 1 · "Bass 2"
const bass_2 = note(`<
  A B C D A B C D A B C D A B C D 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 E F E F G H G H I J I
  J A B A B A B A B A B A B E F E F G H G H I J I J A B A B A B A B K L K M N O N P Q R Q S Q R Q S N@4 T@2 A B T@2 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 A B E F E F G H G H I J I J A B A B A B A B A B A B E F E
  F G H G H I J I J A B A B A B A B K L K M N O N P Q R Q S Q R Q S N@4 T@2 A B T@2 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 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 A B A B A B A B A B A B C
  ~
>`.pickRestart({
  A: "eb2 ~ eb2 ~ f2 ~ f2 ~", B: "gb2 ~ gb2 ~ f2 ~ f2 ~", C: "eb2 ~@7", D: "eb1 ~@3", E: "db2 ~ db2 ~ eb2 ~ eb2 ~",
  F: "f2 ~ f2 ~ eb2 ~ eb2 ~", G: "b1 ~ b1 ~ db2 ~ db2 ~", H: "eb2 ~ eb2 ~ db2 ~ db2 ~", I: "ab1 ~ ab1 ~ bb1 ~ bb1 ~",
  J: "b1 ~ b1 ~ bb1 ~ bb1 ~", K: "gb2 ~ gb2 ~ gb2 ~ gb2 ~", L: "gb2!3 ~ gb2 ~ gb2 ~", M: "gb2@3 ~ gb2@3 ~",
  N: "ab2 ~ ab2 ~ ab2 ~ ab2 ~", O: "ab2!3 ~ ab2 ~ ab2 ~", P: "ab2@3 ~ ab2@3 ~", Q: "bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  R: "bb2!3 ~ bb2 ~ bb2 ~", S: "bb2@3 ~ bb2@3 ~", T: "[[eb1,eb2]@2 ~ [eb1,eb2]@2 ~ [eb1,eb2]@2]/2",
})).s("gm_synth_bass_1").gain(0.17)

// other · xylophone
const xylophone = note(`<
  A B ~@2 A B ~@2 A B ~@2 A B ~@2 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 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 A B A B A B A B A B A B ~@22 A B ~@2 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 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 A B A B A B A B A B A B A B
  ~@22 A B ~@2 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 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 A B A B A B A B A B A B ~@2
>`.pickRestart({
  A: "~@2 eb3 ~@3 g4 ~", B: "db4 ~ eb4 ~ db4 ~ f4@2 ~@4 f4 ~ eb3@2",
})).s("gm_xylophone").gain(0.38).pan(0.3)

// other · synth brass 1 · "Lead"
const synth_brass_1 = note(`<
  ~@22 A B@12 C@5 D E F G ~@2 H I J ~ K L M ~ N O P ~ K Q@2 ~@3 D E F G ~@2 H I J ~ K L M ~ N O P ~ K Q@2 ~@6 R@4 S@4
  T@4 U@5 V W X Y ~@2 Z AA ~@2 Z AA ~@6 A B@12 C@5 D E F G ~@2 H I J ~ K L M ~ N O P ~ K AB@2 ~@3 D E F AC@2 ~ H I AD ~
  K L M ~ N O AE ~ K Q@2 ~@6 R@4 S@4 T@4 U@5 V W X Y ~@2 Z AA ~@2 Z AA ~@6 A B@12 AF@4 AG@2 AH@2 AG@2 AI@2 AJ AK@3 AJ
  AK@3 AJ AK@3 AJ AL@3 ~ AM AN AO AP@2 AQ AO AP@2 AQ AO AP@2 AQ AO AP@2 AQ AO AP@2 AQ AO AP@2 AQ AR@2
>`.pickRestart({
  A: "~@6 gb4 ab4", B: "[bb4 ~ db5 ~ eb5 ~ g5@6 gb5@16 ~@2 gb4 ab4]/4", C: "[bb4 ~ db5 ~ eb5 ~ g5@6 gb5@28]/5",
  D: "~ ab4 ~ bb4", E: "~ c5 ~ db5", F: "~ c5 ~ ab4", G: "~ f4 ~ eb4", H: "~ db4 ~ eb4", I: "~ f4 ~ gb4",
  J: "db4@5 ~@11", K: "~ gb4 ~ f4", L: "~ eb4 ~ db4", M: "b3@3 ~@5", N: "~ b3 db4 b3", O: "eb4 b3 f4 gb4", P: "ab3 ~",
  Q: "[~ eb4 ~ ab4@2 ~@3]/2", R: "[eb4 ab4 bb4 b4@8 bb4@5]/4", S: "[gb4 ab4 bb4 db5@8 c5@5]/4",
  T: "[ab4@2 bb4@2 c5@2 eb5@16 d5@6 ~@2 ab4 bb4]/4", U: "[c5 ~ db5 ~ d5 ~ eb5@14 f5@2 ab5@18]/5", V: "~ ab5 g5 ~",
  W: "eb5 d5 ~ bb4", X: "ab4 ~ eb4 ~", Y: "d4 ~ eb4 ~", Z: "~ bb3 eb4 bb3", AA: "gb4 ab4 eb4@2",
  AB: "[~@4 eb4@4 ~@3 ab4@8 ~@13]/2", AC: "[~@4 f4@4 ~@4 eb4@7 ~@13]/2", AD: "db4@3 ~@5", AE: "ab3@3 ~@5",
  AF: "[bb4 ~ db5 ~ eb5 ~ g5@6 gb5@16 ~@2 g5@2]/4", AG: "[gb5 ~ eb5 ~ db5@6 ~@2 g4@4]/2", AH: "[gb4@6 ~ g5]/2",
  AI: "[gb4@5 ~ g5 gb5]/2", AJ: "eb5 ~ db5 ~ bb4@4", AK: "[a4@14 bb4@3 ~@3 g5@2 gb5@2]/3", AL: "[a4@7 bb4@5]/3",
  AM: "~@2 g5 gb5", AN: "eb5@2 db5@2 bb4@2 db5 ~", AO: "eb5 db5 gb5 eb5", AP: "[~ eb4@4 ~ g5 gb5]/2",
  AQ: "eb5 db5 bb4 db5", AR: "[eb5 db5 gb5 eb5@5]/2",
})).s("gm_synth_brass_1").gain(0.28)

// other · synth drum · "Synth Drum Left"
const synth_drum = note(`<
  ~@16 A B ~@46 A C ~@22 A C ~@24 A C ~@9 D A C ~@40 A C ~@22 A C ~@24 A C ~@52 A C ~@10 A C ~@14
>`.pickRestart({
  A: "~@12 ab6 ~ f6@2", B: "~@2 ab6 ~ b6 ~ eb7 ~ ab6@8", C: "~@2 ab6 ~ b6 ~ g7@8 ~@2", D: "~@3 g7@4 ~",
})).s("gm_synth_drum").gain(0.35).pan(0.3)

// other · synth drum · "Synth Drum Right"
const synth_drum_2 = note(`<
  ~@15 A ~@23 A ~@23 A ~@27 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@19 A ~@15 A ~@23 A ~@11 A ~@3 A ~@3 A ~@3 A ~@3 A ~ A ~
  A ~ A ~ A ~ A ~ A ~ A ~ A ~@23 A ~ B ~@5 A ~ A ~@7 A ~ A ~@9 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2
>`.pickRestart({
  A: "~@3 f3", B: "~@13 f3@3",
})).s("gm_synth_drum").gain(0.72).pan(0.7)

// other · pad metallic · "Accent 1"
const pad_metallic = note("<~@112 A@2 ~@2 A@2 ~@98 A@2 ~@2 A@2 ~@78>".pickRestart({
  A: "[eb2@2 ~ eb2@2 ~ eb2@2]/2",
})).s("gm_pad_metallic").gain(0.44)

// other · sitar · "Fill"
const sitar = note("<~@92 A B C D A B C D A B C D A B C D ~@88 A B C D A B C D A B C D A B C D ~@88>".pickRestart({
  A: "~@2 bb6 a6 ab6 g6 gb6 f6 e6 eb6 d6 ~ db6 c6 b5 [bb5,bb6]", // Bb
  B: "[a5,a6] [ab5,ab6] [g5,g6] [gb5,gb6] [f5,f6] [e5,e6] [eb5,eb6] [d5,d6] [db5,db6] [c5,c6] [b4,b5] [bb4,bb5] [a4,a5] [ab4,ab5] [g4,g5] [gb4,gb5]", // A Ab G Gb F E Eb D …
  C: "~ [f4,f5] [e4,e5] [eb4,eb5] [d4,d5] [db4,db5] [c4,c5] [b3,b4] [bb3,bb4] [a3,a4] [ab3,ab4] [g3,g4] [gb3,gb4] [f3,f4] [e3,e4] [eb3,eb4]", // F E Eb D Db C B Bb …
  D: "[d3,d4] [db3,db4] [c3,c4] [b2,b3] [bb2,bb3] ~ [a2,a3] [ab2,ab3] [g2,g3] [gb2,gb3] [f2,f3] [e2,e3] [eb2,eb3] ~@3", // D Db C B Bb A Ab G …
})).s("gm_sitar").gain(0.07)

// other · sitar · "Fill" · soft notes
const sitar_soft = note("<~@92 A ~@2 B A ~@2 B A ~@2 B A ~@2 B ~@88 A ~@2 B A ~@2 B A ~@2 B A ~@2 B ~@88>".pickRestart({
  A: "c7 b6 ~@11 c7 b6 ~", B: "~@13 [d2,d3] [db2,db3] [c2,c3]",
})).s("gm_sitar").gain(0.04)

// drums · kick
const kick = s("bd").struct(`<
  ~@18 A@75 B A B A B A B A B A B A B A B A@89 B A B A B A B A B A B A B A B A@86 ~@2
>`.pickRestart({
  A: "x", B: "x!2 ~ x",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct("<~@18 [~ x]!280 ~@2>").gain(0.8)

stack(
  timpani, bass, bass_2, xylophone, synth_brass_1, synth_drum, synth_drum_2, pad_metallic, sitar, sitar_soft, kick,
  snare
)

More by Depeche Mode