Strudelify
Promises In The Dark cover art

1981 · Best Shots

Promises In The Dark

Pat Benatar

KeyF majorTempo148 bpm
0:00/0:00
// Promises In The Dark — Pat Benatar
// 148 bpm, 4/4, key F major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(148/4)

const chords = arrange(
  // intro (4 bars)
  [4, "<F!4>"],
  // verse (16 bars)
  [16, "<F!2 Bb!2 F!2 Bb!4 Dm7!2 Bb!2 C!2>"],
  // chorus (12 bars)
  [12, "<[Dm7@2 C@2] Bb!3 F!2 Bb!2 Gm!2 Am7!2>"],
  // trans (8 bars)
  [8, "<Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Bb!2>"],
  // verse (16 bars)
  [16, "<F!2 Bb!2 F!2 Bb!4 Dm7!2 Bb!2 C!2>"],
  // chorus (12 bars)
  [12, "<[Dm7@2 C@2] Bb!3 F!2 Bb!2 Gm!2 Am7!2>"],
  // trans (8 bars)
  [8, "<Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2]>"],
  // bridge (17 bars)
  [17, "<Bb^7 C G!2 Bb!2 C!2 Bb^7 C Dm!4 C Bb C>"],
  // solo (16 bars)
  [16, "<Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2]>"],
  // solo (9 bars)
  [9, "<Bb^7 C Dm!4 C Bb C>"],
  // trans (8 bars)
  [8, "<Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Bb!2>"],
  // verse (16 bars)
  [16, "<F!2 Bb!2 F!2 Bb!4 Dm7!2 Bb!2 C!2>"],
  // chorus (15 bars)
  [15, "<[Dm7@2 C@2] Bb!3 F!2 Bb!2 Gm!2 Am7!4 [Am7@2 ~@2]>"],
  // coda (18 bars)
  [18, "<Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm [Am7@2 Bb@2] Dm!2>"],
)
const bassline = arrange(
  [4, "<f2!4>"],
  [16, "<f2!2 bb2!2 f2!2 bb2!4 d2!2 bb2!2 c2!2>"],
  [12, "<[d2@2 c2@2] bb2!3 f2!2 bb2!2 g2!2 a2!2>"],
  [8, "<d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] bb2!2>"],
  [16, "<f2!2 bb2!2 f2!2 bb2!4 d2!2 bb2!2 c2!2>"],
  [12, "<[d2@2 c2@2] bb2!3 f2!2 bb2!2 g2!2 a2!2>"],
  [8, "<d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2]>"],
  [17, "<bb2 c2 g2!2 bb2!2 c2!2 bb2 c2 d2!4 c2 bb2 c2>"],
  [16, "<d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2]>"],
  [9, "<bb2 c2 d2!4 c2 bb2 c2>"],
  [8, "<d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] bb2!2>"],
  [16, "<f2!2 bb2!2 f2!2 bb2!4 d2!2 bb2!2 c2!2>"],
  [15, "<[d2@2 c2@2] bb2!3 f2!2 bb2!2 g2!2 a2!4 [a2@2 ~@2]>"],
  [18, "<d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2 [a2@2 bb2@2] d2!2>"],
)

// chords · gm_piano
const keys = chord(chords).voicing().s("gm_piano").gain(0.8)
// bass · gm_electric_bass_finger
const bass = note(bassline).s("gm_electric_bass_finger").gain(0.9)
// drums
const drums = s("[bd hh] [sd hh] [bd hh] [sd hh]").gain(0.8)

stack(keys, bass, drums)

More by Pat Benatar