Strudelify
Almost Like Being In Love cover art

1978 · The Michael Johnson Album

Almost Like Being In Love

Michael Johnson

KeyE♭ minorTempo87 bpm
0:00/0:00
// Almost Like Being In Love — Michael Johnson
// 87 bpm, 4/4, key Eb minor. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(87/4)

const chords = arrange(
  // intro (8 bars)
  [8, "<Ebm11!3 [Ebm11@2 B Db] Ebm11!3 [Ebm11@2 B Db]>"],
  // verse (8 bars)
  [8, "<Ebm7!3 [Ebm7@2 B^7 Bbm7] [Abm7@2 Bbm7@2] [B^7@2 B Db] Ebm11!2>"],
  // verse (8 bars)
  [8, "<Ebm7!3 [Ebm7@2 B^7 Bbm7] [Abm7@2 Bbm7@2] [B^7@2 Db@2] Ebm11!2>"],
  // chorus (8 bars)
  [8, "<Fm7b5 [Bb7sus@2 Bb7@2] Eb^9 [Ebsus@2 Eb@2] Ebm7 B9 Fm7b5 [Bb7@2 B Db]>"],
  // verse (6 bars)
  [6, "<Ebm7!3 [Ebm7@2 B^7 Bbm7] [Abm7@2 Bbm7@2] [B^7@2 B Db]>"],
  // interlude (13 bars)
  [13, "<Ebm11!3 [Ebm11@2 B Db] Ebm9!3 [Ebm9@2 B^7 Bbm7] Abm7 Db [Db@2 Ebm11@2] Ebm11 [Ebm11@2 ~@2]>"],
  // chorus (8 bars)
  [8, "<Fm7b5 [Bb7sus@2 Bb7@2] Eb^9 Eb Ebm7 B9 Fm7b5 [Bb7@2 Abm7 Db]>"],
  // verse (8 bars)
  [8, "<Ebm9!3 [Ebm9@2 B Bbm] [Abm7@2 Bbm7@2] [B^7@2 B Db] Ebm11!2>"],
  // outro (16 bars)
  [16, "<Ebm11!3 [Ebm11@2 B Db] Ebm11!3 [Ebm11@2 B Db] Ebm11!3 [Ebm11@2 B Db] Ebm11!3 [Ebm11@2 B Db]>"],
)
const bassline = arrange(
  [8, "<eb2!3 [eb2@2 b2 db2] eb2!3 [eb2@2 b2 db2]>"],
  [8, "<eb2!3 [eb2@2 b2 bb2] [ab2@2 bb2@2] [b2@3 db2] eb2!2>"],
  [8, "<eb2!3 [eb2@2 b2 bb2] [ab2@2 bb2@2] [b2@2 db2@2] eb2!2>"],
  [8, "<f2 bb2 eb2!3 b2 f2 [bb2@2 b2 db2]>"],
  [6, "<eb2!3 [eb2@2 b2 bb2] [ab2@2 bb2@2] [b2@3 db2]>"],
  [13, "<eb2!3 [eb2@2 b2 db2] eb2!3 [eb2@2 b2 bb2] ab2 db2 [db2@2 eb2@2] eb2 [eb2@2 ~@2]>"],
  [8, "<f2 bb2 eb2!3 b2 f2 [bb2@2 ab2 db2]>"],
  [8, "<eb2!3 [eb2@2 b2 bb2] [ab2@2 bb2@2] [b2@3 db2] eb2!2>"],
  [16, "<eb2!3 [eb2@2 b2 db2] eb2!3 [eb2@2 b2 db2] eb2!3 [eb2@2 b2 db2] eb2!3 [eb2@2 b2 db2]>"],
)

// 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 Michael Johnson