Strudelify
Where Or When cover art

1960

Where Or When

Dion

KeyA♭ majorTempo73 bpm
0:00/0:00
// Where Or When — Dion
// 73 bpm, 4/4, key Ab major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(73/4)

const chords = arrange(
  // intro (4 bars)
  [4, "<Ab Fm Db [Eb@2 Db@2]>"],
  // verse (10 bars)
  [10, "<Ab Ab6 Ab^7!2 Db!4 [Ab@2 Fm@2] [Db@2 Eb@2]>"],
  // verse (10 bars)
  [10, "<Ab Ab6 Ab^7!2 Db!4 [Ab^7@2 Fm@2] [Db@2 C7@2]>"],
  // bridge (8 bars)
  [8, "<Fm Bbm Gm7b5 C7 Fm Bbm Bbm7 Eb7>"],
  // verse (16 bars)
  [16, "<Ab^7 Ab6 Ab^7 Ab7b13 Bbm F7 Bbm7 Cm7 Db^7 Eb7 Ab^7 Fm Bbm [Eb@2 Db@2] Ab ~>"],
)
const bassline = arrange(
  [4, "<ab2 f2 db2 [eb2@2 db2@2]>"],
  [10, "<ab2!4 db2!4 [ab2@2 f2@2] [db2@2 eb2@2]>"],
  [10, "<ab2!4 db2!4 [ab2@2 f2@2] [db2@2 c2@2]>"],
  [8, "<f2 bb2 g2 c2 f2 bb2!2 eb2>"],
  [16, "<ab2!4 bb2 f2 bb2 c2 db2 eb2 ab2 f2 bb2 [eb2@2 db2@2] ab2 ~>"],
)

// 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 Dion