Strudelify
American Storm cover art

1986 · Like A Rock

American Storm

Bob Seger

KeyA majorTempo151 bpm
0:00/0:00
// American Storm — Bob Seger
// 151 bpm, 4/4, key A major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(151/4)

const chords = arrange(
  // intro (8 bars)
  [8, "<E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2]>"],
  // trans (4 bars)
  [4, "<E!4>"],
  // verse (16 bars)
  [16, "<E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2]>"],
  // pre-chorus (9 bars)
  [9, "<A!2 E E7 A!2 Bsus B!2>"],
  // chorus (16 bars)
  [16, "<E!2 C#m!2 A!2 Bsus B E!2 C#m!2 A!2 Bsus B>"],
  // interlude (8 bars)
  [8, "<E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2]>"],
  // verse (16 bars)
  [16, "<E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2]>"],
  // pre-chorus (9 bars)
  [9, "<A!2 E E7 A!2 Bsus B!2>"],
  // chorus (16 bars)
  [16, "<E!2 C#m!2 A!2 Bsus B E!2 C#m!2 A!2 Bsus B>"],
  // chorus (16 bars)
  [16, "<E!2 C#m!2 A!2 Bsus B E!2 C#m!2 A!2 Bsus B>"],
  // bridge (4 bars)
  [4, "<C!2 Am!2>"],
  // interlude (20 bars)
  [20, "<E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2]>"],
  // fadeout (17 bars)
  [17, "<E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E!2 A [Bsus@2 B@2] E>"],
)
const bassline = arrange(
  [8, "<e2!2 a2 b2 e2!2 a2 b2>"],
  [4, "<e2!4>"],
  [16, "<e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2>"],
  [9, "<a2!2 e2!2 a2!2 b2!3>"],
  [16, "<e2!2 c#2!2 a2!2 b2!2 e2!2 c#2!2 a2!2 b2!2>"],
  [8, "<e2!2 a2 b2 e2!2 a2 b2>"],
  [16, "<e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2>"],
  [9, "<a2!2 e2!2 a2!2 b2!3>"],
  [16, "<e2!2 c#2!2 a2!2 b2!2 e2!2 c#2!2 a2!2 b2!2>"],
  [16, "<e2!2 c#2!2 a2!2 b2!2 e2!2 c#2!2 a2!2 b2!2>"],
  [4, "<c2!2 a2!2>"],
  [20, "<e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2>"],
  [17, "<e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2 e2!2 a2 b2 e2>"],
)

// 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 Bob Seger