Strudelify
Last Kiss cover art

1964 · Last Kiss

Last Kiss

J. Frank Wilson & The Cavaliers

KeyE majorTempo136 bpm
0:00/0:00
// Last Kiss — J. Frank Wilson & The Cavaliers
// 136 bpm, 4/4, key E major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(136/4)

const chords = arrange(
  // intro (6 bars)
  [6, "<~!2 E C#m A B>"],
  // chorus (8 bars)
  [8, "<E C#m A B E C#m A B>"],
  // trans (2 bars)
  [2, "<E!2>"],
  // verse (16 bars)
  [16, "<E C#m A B E C#m A B E C#m A B E C#m A B>"],
  // trans (2 bars)
  [2, "<E!2>"],
  // chorus (8 bars)
  [8, "<E C#m A B E C#m A B>"],
  // trans (2 bars)
  [2, "<E!2>"],
  // verse (20 bars)
  [20, "<E C#m A B E C#m A B E C#m A B E C#m A B E C#m A B>"],
  // trans (2 bars)
  [2, "<E!2>"],
  // chorus (8 bars)
  [8, "<E C#m A B E C#m A B>"],
  // trans (2 bars)
  [2, "<E!2>"],
  // outro (4 bars)
  [4, "<E C#m A B>"],
  // fadeout (4 bars)
  [4, "<E C#m A B>"],
)
const bassline = arrange(
  [6, "<~!2 e2 c#2 a2 b2>"],
  [8, "<e2 c#2 a2 b2 e2 c#2 a2 b2>"],
  [2, "<e2!2>"],
  [16, "<e2 c#2 a2 b2 e2 c#2 a2 b2 e2 c#2 a2 b2 e2 c#2 a2 b2>"],
  [2, "<e2!2>"],
  [8, "<e2 c#2 a2 b2 e2 c#2 a2 b2>"],
  [2, "<e2!2>"],
  [20, "<e2 c#2 a2 b2 e2 c#2 a2 b2 e2 c#2 a2 b2 e2 c#2 a2 b2 e2 c#2 a2 b2>"],
  [2, "<e2!2>"],
  [8, "<e2 c#2 a2 b2 e2 c#2 a2 b2>"],
  [2, "<e2!2>"],
  [4, "<e2 c#2 a2 b2>"],
  [4, "<e2 c#2 a2 b2>"],
)

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