Strudelify
I Love A Rainy Night cover art

1981

I Love A Rainy Night

Eddie Rabbitt

KeyC majorTempo132 bpm
0:00/0:00
// I Love A Rainy Night — Eddie Rabbitt
// 132 bpm, 4/4, key C major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(132/4)

const chords = arrange(
  // intro (4 bars)
  [4, "<C!4>"],
  // verse (16 bars)
  [16, "<C5!4 F5!2 C5!6 F5!2 C5!2>"],
  // pre-chorus (4 bars)
  [4, "<G [Am@3 G] F G>"],
  // chorus (8 bars)
  [8, "<C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2]>"],
  // verse (16 bars)
  [16, "<~!8 C5!4 F5!2 C5!2>"],
  // pre-chorus (4 bars)
  [4, "<G [Am@3 G] F G>"],
  // chorus (8 bars)
  [8, "<C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2]>"],
  // solo (8 bars)
  [8, "<C5!4 F5!2 C5!2>"],
  // pre-chorus (4 bars)
  [4, "<G [Am@3 G] F G>"],
  // chorus (8 bars)
  [8, "<C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2]>"],
  // chorus (8 bars)
  [8, "<C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2]>"],
  // chorus (8 bars)
  [8, "<C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2]>"],
  // fadeout (8 bars)
  [8, "<C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2] C [F6@2 G7@2]>"],
)
const bassline = arrange(
  [4, "<c2!4>"],
  [16, "<c2!4 f2!2 c2!6 f2!2 c2!2>"],
  [4, "<g2 [a2@3 g2] f2 g2>"],
  [8, "<c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2]>"],
  [16, "<~!8 c2!4 f2!2 c2!2>"],
  [4, "<g2 [a2@3 g2] f2 g2>"],
  [8, "<c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2]>"],
  [8, "<c2!4 f2!2 c2!2>"],
  [4, "<g2 [a2@3 g2] f2 g2>"],
  [8, "<c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2]>"],
  [8, "<c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2]>"],
  [8, "<c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2]>"],
  [8, "<c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@2] c2 [f2@2 g2@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)