Strudelify
Me Myself And I cover art

1989 · 3 Feet High and Rising

Me Myself And I

De La Soul

KeyA minorTempo115 bpm
0:00/0:00
// Me Myself And I — De La Soul
// 115 bpm, 4/4, key A minor. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(115/4)

const chords = arrange(
  // intro (5 bars)
  [5, "<~ [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // verse (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // chorus (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // verse (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // chorus (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // solo (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // verse (12 bars)
  [12, "<~!4 [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // chorus (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // verse (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] ~!4>"],
  // verse (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // chorus (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // instrumental (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
  // fadeout (8 bars)
  [8, "<[Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] [E7#5@2 Am9@2] [Am7@2 E7#5@2] ~>"],
)
const bassline = arrange(
  [5, "<~ [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [12, "<~!4 [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] ~!4>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] ~>"],
  [8, "<[g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@2] [e2@2 a2@2] [g2 f#2 e2@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)