Strudelify
Every Breath You Take cover art

1983 · Synchronicity

Every Breath You Take

The Police

KeyA majorTempo115 bpm
0:00/0:00
// Every Breath You Take — The Police
// 115 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 8 "MUTED GTR" electric guitar muted (copy of ch 1 "MUTED GTR" electric guitar muted); ch 11 "OVERDRIVE" overdriven guitar (copy of ch 3 "CHARANG" lead 5 charang)
// note: Full arrangement: all 114 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(115/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.

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~ A B C D E F A@3 B C D E F C@2 A B C D E F A@2 G H A B I J K L A B C D E F C@2 ~@10 A B C D E F C@2 A B C D E F A@2 G
  H A B I J K L A B C D E F C@2 E F C@4 A B D E A B D E A B D E A B D E A B D E A B D M ~
>`.pickRestart({
  A: "~ e3 b3 ~ c#4 ~ e3 b3, a2@15 ~, ~@3 e3@2 b3@2 ~", B: "~ e3 b3 e3 c#4 ~ e3 b3, a2@15 ~, ~@5 b3@2 ~",
  C: "~ c#3 g#3 ~ a3 ~ c#3 g#3, f#2@15 ~, ~@3 c#3@2 g#3@2 ~", D: "~ c#3 g#3 c#3 a3 ~ c#3 g#3, f#2@15 ~, ~@5 g#3@2 ~",
  E: "~@2 e4 ~ d4 a3 ~ a3, d3@3 d3@3 [d3,d4]@2, ~ a3@2 a3@2 ~@3", F: "~ b3 f#4 b3 e4 ~ e3 e4, e3@3 e3@3 ~@2, ~@5 b3@3",
  G: "~ a3 ~@2 d4 ~ d3!2, d3@3 ~, ~ e4 ~@2, ~@3 a3@2 a3@2 ~", H: "~ a3 d4 ~ c4 ~@2 a3, d3@3 d3@3 d3@2, ~@5 a3@2 ~",
  I: "~ f#3 ~@2 d#4 ~@2 c#4, b2, ~@2 c#4@2 ~ c#4@2 ~, ~@6 f#3@5 ~ f#3@4",
  J: "~ f#3 ~@2 d#4 ~@2 c#4, b2, ~@2 c#4@2 ~ c#4@2 ~, ~@3 f#3@3 f#3@2",
  K: "~ b3 f#4 ~@4 b3, e3@3 e3, ~@3 b3@2 b3@2 ~, ~@8 e4@7 ~",
  L: "~ b3 ~ b3 ~@3 e4, e3@3 e3, ~@2 f#4@2 e4@3 ~, ~@5 b3@3",
  M: "~@4 e4@2 ~@2 d4@2 a3@2 [d3,d4]@3 ~, d3@3 d3@3 ~@2, ~ a3@2 a3@2 ~@3", // D
})).s("gm_electric_guitar_muted").gain(0.32).pan(0.2)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  A B C D E F G B H B I D@2 J K L M B N D@2 O P B Q J R B S T@2 U K B@2 D@2 V K W@2 X Y Z AA AB AC AD AE AF AG B@2 D AH
  V K AI AJ B@2 D@2 O K B Q J AK B S T@2 U AL B@2 D AM V K W AN V K W AO D AP B AQ AR J B@2 D O B AQ AR J B@2 D O B AQ
  AH O AS B AH AT ~
>`.pickRestart({
  A: "~@14 e1 ~", B: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", C: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2 a1@2 a1 ~",
  D: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~", E: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1!3 ~ f#1 ~",
  F: "d2 ~ d2!2 d2@2 d2 ~ d2@2 d2 ~ d2@2 e2@2", G: "e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2@2",
  H: "a1@2 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", I: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ g#1 ~",
  J: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", K: "e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~",
  L: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ e2@2 ~@2 f#2 ~", M: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ e2 ~ e2 ~",
  N: "a1 ~ a1!3 ~ a1 ~ a1 ~ a1 ~ a1 ~ g#1 ~", O: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ e2@2",
  P: "~@2 e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~", Q: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ c#2 ~",
  R: "d2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c#2 ~", S: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a#1 ~",
  T: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~", U: "e2 ~ e2@2 e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~",
  V: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ e2 ~", W: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~",
  X: "f2 ~ f2@2 f1@2 f2 ~ f2 ~ f2@2 f1@2 f2 ~", Y: "f2@2 f2 ~ f1@2 f2 ~ f2@2 f2@2 f1@2 f2@2",
  Z: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 g1@2", AA: "g1 ~ g1@2 g2@2 g1 ~ g1@2 g2@2 g1@2 g2@2",
  AB: "f1 ~ f1@2 f2@2 f1 ~ f1 ~ f1@2 f2@2 f1 ~", AC: "f1 ~ f1@2 f2 ~ f1 ~ f1 ~ f2!2 f1@2 f2 ~",
  AD: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 g1 ~", AE: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g2!2 g1@2 g2@2",
  AF: "f1@2 f1@2 f2@2 f1 ~ f1 ~ f1@2 f2@2 f1@2", AG: "f1 ~ f1@2 f2@2 f1 ~ f1@2 f2!2 f1@2 f2!2",
  AH: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ a1@2", AI: "f#1@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@2 f#1 ~ f#1 ~",
  AJ: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ e2 ~ e2 ~ e2 ~", AK: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c#2 ~",
  AL: "e2 ~ e2 ~ e2 ~ e2!3 ~ e2 ~ e2 ~ e2 ~", AM: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@2",
  AN: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 a2 f#2 e2", AO: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2@2 e2@2 e2@2 f#2 ~",
  AP: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ e2 ~ e2@2 e2 ~", AQ: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2 a1 ~",
  AR: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ d2 ~", AS: "a1 ~ a1!3 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  AT: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@5",
})).s("gm_fretless_bass").gain(0.49)

// chords · lead 5 charang · "CHARANG"
const lead_5_charang = note("<~@40 A B@2 C@2 B@2 C@2 D@2 E@2 ~@48 F@8 G@5>".pickRestart({
  A: "~@14 [f2,c3,a3,c4,f4]!2", B: "[[f2,c3,a3,c4,f4]@30 [g2,d3,b3,d4,g4]!2]/2",
  C: "[[g2,d3,b3,d4,g4]@30 [f2,c3,a3,c4,f4]!2]/2", D: "[[f2,c3,a3,c4,f4]@31 [a2,e3,a3,c#4,e4]]/2",
  E: "[a2,e3,a3,c#4,e4]/2", // A
  F: "[~@2 e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 e4@3 ~@2 e4@3 ~ e4@2 ~@2 e4@4 e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@2, ~@4 b3@6 ~@2 b3@7 ~ b3@6 ~@2 b3@7 ~ a3@7 ~ a3@7 ~ a3@7 ~ a3@6 ~@2 b3@6 ~@2 b3@7 ~ b3@6 ~@2 b3@7 ~ a3@6 ~@2 a3@6 ~@2 a3@7 ~ a3@4]/8",
  G: "[~@2 e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 ~ e4@2 ~@2 e4@3 e4@3 ~@2 e4@3 ~ e4@2 a3@20, ~@4 b3@6 ~@2 b3@6 ~@2 b3@7 ~ b3@7 ~ a3@7 ~ a3@6 ~@2 a3@7 ~@21]/5",
})).s("gm_lead_5_charang").gain(0.22).pan(0.2)

// chords · pan flute
const pan_flute = note("<~@41 A B C@2 D E F G H@6 ~@4 I@7 ~@23 J@3 K J@3 K J@3 K J@3 K J@3 K J@3 L ~>".pickRestart({
  A: "~@2 a4@2 a4@2 a4@3 ~ g4@2 g4@2 g4@2", B: "~ g4@2 a4@2 g4@2 g4", C: "[~ d4 g4!3 e4 d4 g4@2 d4@2 g4@2 g4@2 g4]/2",
  D: "~ d4 g4!2 g4@2 g4!2", E: "g4 g4@2 a4@3 e4 d4", F: "~ d4 g4 e4 g4@2 e4 d4", G: "g4@2 e4 g4@2 g4@2 g4",
  H: "[~ c4 g4@2 g4@2 d4 g4@2 d4@2 g4@2 d4@2 a4@33]/6", I: "~@3 e4@3 d4 c#4",
  J: "~ [a3,c#4,e4]!2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]", // A
  K: "~ [a3,c#4,e4]!2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,c#4,e4]", L: "~ [a3,c#4,e4]!2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~",
})).s("gm_pan_flute").gain(0.25).pan(0.6)

// other · pan flute
const pan_flute_2 = note("<~@59 [~@3 e5@3 d5 c#5]!7 ~@48>").s("gm_pan_flute").gain(0.4)

// chords · piano · "A.PIANO 1"
const piano = note("<~@41 A B C D A E C D A E F@8 G@8 ~@47>".pickRestart({
  A: "~ c6", B: "b5 a5", C: "~ d6", D: "c6 b5", E: "b5@8 a5@7 ~",
  F: "[~@4 [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@6 ~@2 [a4,c#5]@4]/8", // A
  G: "[~@4 [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@7 ~ [a4,c#5]@6 ~@2 [a4,c#5]@4]/8", // A
})).s("gm_piano").gain(0.36).pan(0.4)

// other · epiano1 · "E.PIANO 1"
const epiano1 = note("<~@41 A B C D A B C E A B F@3 ~@60>".pickRestart({
  A: "~ [c5,c6]", B: "[b4,b5] [a4,a5]", C: "~ [d5,d6]", D: "[c5,c6] [b4,b5]", E: "[c5,c6]@8 [b4,b5]@7 ~",
  F: "[~@4 a6@13 ~@7]/3",
})).s("gm_epiano1").gain(0.22).pan(0.6)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@25 A@2 B@2 C@2 D@2 E@4 F@4 ~@10 G@8 H@4 I@4 A@2 B@2 C@2 D@2 J@2 K@4 B@2 L@2 B@4 M@4 N@4 O@2 P@2 Q@4 O@2 R@2 S@4 ~
>`.pickRestart({
  A: "[d4,e4,f#4,a4]/2", B: "[e4,a4]/2", C: "[d#4,a4]/2", D: "[d4,a4]/2", E: "[[e4,a4], b4 ~@3]/4",
  F: "[[e4,a4]@31 ~]/4", G: "[e4,a4]/8", H: "[e4,a4]/4", I: "[[e4,a4]@63 ~]/4", J: "[a4 b4 c#5@2, e4]/2",
  K: "[a4 b4 a4@2, e4]/4", L: "[a4 b4, e4]/2", M: "[~@7 b4, [e4,a4]]/4", N: "[~@29 d5@3, [e4,a4]]/4",
  O: "[a4@3 b4, e4]/2", P: "[a4@3 f#4, e4]/2", Q: "[a4@23 b4@9 a4@24 f#4@8, e4]/4", R: "[a4 f#4, e4]/2",
  S: "[a4@24 b4@7 ~ a4@24 f#4@6 ~@2, e4@31 e4@30 ~@3]/4",
})).s("gm_string_ensemble_2").gain(0.27)

// other · piano · "A.PIANO 1"
const piano_2 = note("<~@55 A B C@2 D@7 E F G@3 H I J K ~@39>".pickRestart({
  A: "[d2,d3]@7 ~", B: "[e2,e3]@15 ~", C: "[[f#2,f#3]@15 ~]/2", D: "a3@4 e4@2 d4 c#4", E: "a3@8 e4@4 d4@2 c#4 ~",
  F: "~@2 a4@3 a4@2 ~ a4@2 ~ a4@2 ~ a4@2",
  G: "[~@4 a4@3 a4@2 ~ a4@3 ~@3 a4@2 ~ a4@2 ~ a4@3 a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~@4 a4@2 ~ a4@2 ~ a4@2, ~ a4@2 ~@10 a4@2 ~@22 a4@2 ~@9, ~ f#4@2 ~@4 f#4@2 ~@10 f#4@2 ~@3]/3",
  H: "~ a4@3 ~ a4@2 a4@3 ~ a4@2 ~ a4@2", I: "~@4 a4@3 a4@3 a4@3 ~ a4@2, ~ a4@2 ~@13, ~ f#4@2 ~@5",
  J: "~ a4@3 a4@2 ~ a4@3 a4@3 ~ a4@2", K: "~@4 a4@2 ~ a4@3 a4@3 ~ a4@2, ~ a4@2 ~@13, ~ f#4@2 ~@5",
})).s("gm_piano").gain(0.36).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~ A@65 B A@25 C A@3 C A@3 B A@3 B A@3 B A@3 B ~>".pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x ~@2 x!3 ~@2", C: "x ~@2 x!3 ~ x",
})).gain(0.49)

// drums · snare
const snare = s("sd").struct("<[~@3 x] [~ x ~ x]!112 ~>").gain(0.49)

// drums · low tom
const low_tom = s("lt").struct("<~@24 [~@4 x!3 ~] ~@15 [~@3 x!4 ~] ~@73>").gain(0.33)

// drums · hihat
const hihat = s("hh").struct("<~@25 A@7 B A@7 C ~@10 D A@14 C A@8 D A@16 C ~@21>".pickRestart({
  A: "x!8", B: "x!7 ~", C: "x!6 ~@2", D: "~ x!7",
})).gain(0.27)

// drums · open hat
const open_hat = s("oh").struct("<~@32 [~@7 x] ~@81>").gain(0.33)

// drums · crash
const crash = s("cr").struct(`<
  ~@40 A B ~ B ~ B ~ B ~ B C B ~@14 A ~@8 B ~@16 A ~@3 A B ~@2 A ~@3 A B ~@2 A ~@5
>`.pickRestart({
  A: "~@3 x", B: "x", C: "~@15 x",
})).gain(0.38)

// drums · ride
const ride = s("rd").struct("<~@41 A B@7 C D ~@42 E@2 F G H I J G I@3 K H I J G I@3 K ~>".pickRestart({
  A: "x ~ x ~ x ~ x!2", B: "x!4", C: "x ~ x ~ x!3 ~", D: "x!5 ~ x ~", E: "x!2 ~ x!3 ~ x", F: "x ~@2 x!2 ~ x!2",
  G: "x!5 ~@3", H: "~ x!7", I: "x!8", J: "x ~ x!3 ~ x!2", K: "x!3 ~ x ~@3",
})).gain(0.38)

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@41 A@10 ~@44 B C ~@2 B C ~@3 D ~@2 B C ~@3 D ~>".pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~ x ~@3 x ~@2", C: "~@5 x ~@2", D: "~@3 x ~ x ~@2",
})).gain(0.22)

stack(
  electric_guitar_muted, bass, lead_5_charang, pan_flute, pan_flute_2, piano, epiano1, string_ensemble_2, piano_2, kick,
  snare, low_tom, hihat, open_hat, crash, ride, ride_soft
)

More by The Police