Strudelify
If I Can Dream cover art

1968 · Elvis symphonique

If I Can Dream

Elvis Presley

KeyC majorTempo93 bpm
0:00/0:00
// If I Can Dream — Elvis Presley
// 93 bpm, 12/8, key C major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(93/6)

const chords = arrange(
  // intro (4 bars)
  [4, "<[C@6 Am@6]!4>"],
  // verse (10 bars)
  [10, "<[C@6 Am@6] [F@6 C@3 G@3] [C@6 Am@6] [F@6 G@6] [C@6 Bb@3 C7@3] [F@6 E7@3 Am@3] [C@6 Am@6] [F@6 C@3 Am@3] [Dm7@6 G7@6] [G11@6 G7@6]>"],
  // verse (10 bars)
  [10, "<[C@6 Am@6] [F@6 C@3 G@3] [C@6 Am@6] [F@6 G@6] [C@6 Bb@3 C7@3] [F@6 E7@3 Am@3] [C@6 Am@6] [F@6 C@3 G@3] [C@6 F@6] [C@6 C7@6]>"],
  // bridge (9 bars)
  [9, "<[F@6 F#o@6] [C@6 C7@6] [F@6 F#o@6] [C@6 C7@6] [F@6 F#o@6] [G@3 E7@3 Am@6] [C@6 D7@6] [F@6 G7@6] A7>"],
  // verse (16 bars)
  [16, "<[D@6 Bm@6] [G@6 Asus@6] [D@6 Bm@6] [G@6 A@6] [D@6 D7@6] [G@6 G#o@6] [D@6 Bm@6]!2 G Em A11!2 [D@6 Bm@6]!2 [D@6 G@6] D>"],
)
const bassline = arrange(
  [4, "<[c2@6 a2@6]!4>"],
  [10, "<[c2@6 a2@6] [f2@6 g2@6] [c2@6 a2@6] [f2@6 g2@6] c2 [f2@6 e2@3 a2@3] [g2@6 a2@6] [f2@3 d2@3 e2@3 a2@3] [d2@6 g2@6] g2>"],
  [10, "<[c2@6 a2@6] [f2@6 g2@6] [c2@6 a2@6] [f2@6 g2@6] c2 [f2@6 e2@3 a2@3] [g2@6 a2@6] [f2@3 d2@3 e2@3 g2@3] [c2@6 f2@6] c2>"],
  [9, "<[f2@6 f#2@6] c2 [f2@6 f#2@6] c2 [f2@6 f#2@6] [g2@3 e2@3 a2@6] d2 g2 a2>"],
  [16, "<[d2@6 b2@6] [g2@6 a2@6] [d2@6 b2@6] [g2@6 a2@6] d2 [g2@6 g#2@6] [a2@6 b2@6]!2 g2 e2 a2!2 [d2@3 a2@3 b2@6]!2 [d2@6 g2@6] 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 hh] [sd hh hh] [bd hh hh] [sd hh hh]").gain(0.8)

stack(keys, bass, drums)

More by Elvis Presley