Strudelify

Walking in Your Footsteps

The Police

KeyB majorTempo160 bpm
0:00/0:00
// Walking in Your Footsteps — The Police
// 160 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 7 "Guitar" named as a guitar, played on electric guitar clean (its piccolo patch is not one); ch 9 "Fretless Bass" named as a bass, played on fretless bass (its bassoon patch is not one)
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(160/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 · electric guitar clean · "Guitar"
const electric_guitar_clean = note(`<
  A B A C D@4 E@2 F@2 G H@2 I G J@2 K G H@2 I G J@2 L D@4 E@2 F@2 G H@2 I G J@2 K G H@2 I G J@2 L M N M N O@2 P@2 Q@2
  R@2 O@2 P@2 Q@2 R@2 S T@2 U S V@2 L S T@2 U S V@2 W X Y Z@2 AA AB AC@2 X Y Z@2 AA AB AD@2 G H@2 I G J@2 K G H@2 I G
  J@2 K G H@2 I G J@2 K G H@2 I G J@2 AE
>`.pickRestart({
  A: "[e4,a4] [e4,b4] ~ [e4,b4]@5", B: "e5 e4!7", C: "e5!3 e4!3 e4@2", D: "[e4@14 ~ e4@7 ~ e4@4 b3@5]/4",
  E: "[e4@6 ~ e4@9]/2", F: "[e4@6 ~ b3@2 b3@2 b3@5]/2", G: "e4", H: "[e4@3 ~]/2", I: "e5 e4!4 e5!3", J: "[e4 b3@2 ~]/2",
  K: "e5!5 e4!3", L: "e4!5 e5 e5@2", M: "e5 e4!3 e5 e4!3", N: "e5 e4!6 e5", O: "[e5@6 ~ e5@2 e5@2 e5@2 e5@3]/2",
  P: "[e5@4 ~@3 e5@4 b4@5]/2", Q: "[e5@6 ~ e5@2 e5@2 e5@2 ~@3]/2", R: "[e5@4 ~@3 e5@4 b4@3 ~@2]/2", S: "e5",
  T: "[e5@3 ~]/2", U: "e5 e4!4 e5 e5@2", V: "[e5 b4@2 ~]/2", W: "e5 e4!2 e5!2 e4 e5@2", X: "b4@2 e5 b4", Y: "~@2 e4!2",
  Z: "[a4 g#4 e4 d4@5]/2", AA: "e5@2 g#5 e5@2 e4!3", AB: "e5 e4 ~@3 e5!3", AC: "[d5 e5 ~@3 d5!2 d5@2 b4!4 e4 ~@2]/2",
  AD: "[d5 e5 ~@3 d5!2 d5@2 b4!3 g#4 e4 e4@2]/2", AE: "e5!5 e4!2 ~",
})).s("gm_electric_guitar_clean").gain(0.72)

// bass · fretless bass
const bass = 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 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
>`.pickRestart({
  A: "e3@2 ~ e2@2 b2 c#3@2", B: "d3@2 c#3@2 b2 c#3@3",
})).s("gm_fretless_bass").gain(0.64).pan(0.2)

// drums · kick
const kick = s("bd").struct(`<
  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 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
>`.pickRestart({
  A: "x ~@2 x ~ x ~@2", B: "x!2",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct(`<
  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 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
>`.pickRestart({
  A: "~@3 x ~@2 x ~", B: "~@2 x ~@2 x ~@2",
})).gain(0.8)

// drums · hihat
const hihat = s("hh").struct(`<
  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 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 C
>`.pickRestart({
  A: "x ~ x!2 ~ x!2 ~", B: "x!3 ~ x!2 ~ x", C: "x!3 ~ x!2 ~@2",
})).gain(0.64)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  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 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
>`.pickRestart({
  A: "~ x ~@2 x ~@2 x", B: "~@3 x ~@2 x ~",
})).gain(0.4)

stack(electric_guitar_clean, bass, kick, snare, hihat, hihat_soft)

More by The Police