Strudelify
Let The Music Play cover art

1984

Let The Music Play

Shannon

KeyC minorTempo117 bpm
0:00/0:00
// Let The Music Play — Shannon
// 117 bpm, 4/4, key C minor. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(117/4)

const chords = arrange(
  // intro (10 bars)
  [10, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // verse (12 bars)
  [12, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // pre-chorus (8 bars)
  [8, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // pre-chorus two (10 bars)
  [10, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // chorus (8 bars)
  [8, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // interlude (2 bars)
  [2, "<Cm [Ab@2 Bb@2]>"],
  // verse (6 bars)
  [6, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // pre-chorus (8 bars)
  [8, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // pre-chorus two (8 bars)
  [8, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // chorus (8 bars)
  [8, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
  // interlude (2 bars)
  [2, "<Cm [Ab@2 Bb@2]>"],
  // outro (16 bars)
  [16, "<Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2] Cm [Ab@2 Bb@2]>"],
)
const bassline = arrange(
  [10, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [12, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [8, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [10, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [8, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [2, "<c2 [ab2@2 bb2@2]>"],
  [6, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [8, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [8, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [8, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2]>"],
  [2, "<c2 [ab2@2 bb2@2]>"],
  [16, "<c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@2] c2 [ab2@2 bb2@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)