Strudelify
Baby Can I Hold You cover art

1989 · Tracy Chapman

Baby Can I Hold You

Tracy Chapman

KeyD majorTempo74 bpm
0:00/0:00
// Baby Can I Hold You — Tracy Chapman
// 74 bpm, 4/4, key D major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(74/4)

const chords = arrange(
  // intro (4 bars)
  [4, "<[D@2 A D] [A7sus@2 A7@2] [D@2 A D] [A7sus@2 A7@2]>"],
  // verse (10 bars)
  [10, "<[D@2 A D] [A7sus@2 A7@2] Em [A7sus@2 A7@2] [D@2 A D] [A7sus@2 A7@2] Em [Em@2 A@2] [A@2 Asus@2] [A@2 ~@2]>"],
  // verse (10 bars)
  [10, "<[D@2 A D] [A7sus@2 A7@2] Em [A7sus@2 A7@2] [D@2 A D] [A7sus@2 A7@2] Em [Em@2 A@2] [A@2 Asus@2] [A@2 ~@2]>"],
  // chorus (6 bars)
  [6, "<D [Em@2 G@2] D [Em@2 G@2] Bm A>"],
  // trans (2 bars)
  [2, "<D [Em@2 G A]>"],
  // verse (10 bars)
  [10, "<[D@2 A D] [A7sus@2 A7@2] Em [A7sus@2 A7@2] [D@2 A D] [A7sus@2 A7@2] Em [Em@2 A@2] [A@2 Asus@2] [A@2 ~@2]>"],
  // chorus (6 bars)
  [6, "<D [Em@2 G@2] D [Em@2 G@2] Bm A>"],
  // chorus (6 bars)
  [6, "<D [Em@2 G@2] D [Em@2 G@2] Bm A>"],
  // outro (5 bars)
  [5, "<D [Em@2 G A] D [Em@2 G A] D>"],
)
const bassline = arrange(
  [4, "<d2 a2 d2 a2>"],
  [10, "<d2 a2 e2 a2 d2 a2 e2 [g2@2 a2@2] a2 [a2@2 ~@2]>"],
  [10, "<d2 a2 e2 a2 d2 a2 e2 [g2@2 a2@2] a2 [a2@2 ~@2]>"],
  [6, "<d2 [e2@2 g2@2] d2 [e2@2 g2@2] b2 a2>"],
  [2, "<d2 [e2@2 g2 a2]>"],
  [10, "<d2 a2 e2 a2 d2 a2 e2 [g2@2 a2@2] a2 [a2@2 ~@2]>"],
  [6, "<d2 [e2@2 g2@2] d2 [e2@2 g2@2] b2 a2>"],
  [6, "<d2 [e2@2 g2@2] d2 [e2@2 g2@2] b2 a2>"],
  [5, "<d2 [e2@2 g2 a2] d2 [e2@2 g2 a2] d2>"],
)

// 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 Tracy Chapman