Strudelify

1991

Don t Treat Me Bad

Firehouse

KeyA♭ majorTempo111 bpm
0:00/0:00
// Don t Treat Me Bad — Firehouse
// 111 bpm, 4/4, key Ab major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(111/4)

const chords = arrange(
  // intro (4 bars)
  [4, "<[Ab@2 Eb@2] [Dbadd9@2 Eb@2] [Ab@2 Eb@2] [Dbadd9@2 Eb@2]>"],
  // verse (17 bars)
  [17, "<[Ab@2 Eb@2] [Dbadd9@2 Eb@2] [Fm7@2 Cm@2] [Db@2 Eb@2] [Ab@2 Eb@2] [Dbadd9@2 Eb@2] [Fm7@2 Cm@2] [Db@2 Eb@2]!2 [Cm@2 Fm7 Eb] [Db@2 Eb@2] [Cm@2 Fm7 Eb] [Db@2 Eb@2] [Cm@2 Fm7 Eb] Bbm Eb!2>"],
  // chorus (8 bars)
  [8, "<[Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] Eb>"],
  // trans (4 bars)
  [4, "<[Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2]>"],
  // verse (17 bars)
  [17, "<[Ab@2 Eb@2] [Dbadd9@2 Eb@2] [Fm7@2 Cm@2] [Db@2 Eb@2] [Ab@2 Eb@2] [Dbadd9@2 Eb@2] [Fm7@2 Cm@2] [Db@2 Eb@2]!2 [Cm@2 Fm7 Eb] [Db@2 Eb@2] [Cm@2 Fm7 Eb] [Db@2 Eb@2] [Cm@2 Fm7 Eb] Bbm Eb!2>"],
  // chorus (10 bars)
  [10, "<[Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] Eb!2 ~>"],
  // trans (4 bars)
  [4, "<[Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2]>"],
  // solo (11 bars)
  [11, "<[Ab@2 Eb@2] [Dbadd9@2 Eb@2] [Fm7@2 Cm@2] [Db@2 Eb@2] [Fm7@2 Cm@2] [Db@2 Eb@2] Bbm Eb!4>"],
  // trans (4 bars)
  [4, "<[Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2]>"],
  // chorus (8 bars)
  [8, "<[Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] Eb>"],
  // chorus (8 bars)
  [8, "<[Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] [Db@2 Eb@2] [Ab@2 Bbm@2] Eb>"],
  // coda (14 bars)
  [14, "<[Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2] [Ab@2 Db@2] [Bbm@2 Eb@2] [Ab Db Eb@2] [Db Eb Ab@2]>"],
)
const bassline = arrange(
  [4, "<ab2!4>"],
  [17, "<ab2!2 [f2@2 c2@2] [db2@2 eb2@2] ab2!2 [f2@2 c2@2] [db2@2 eb2@2]!2 [c2@2 f2 eb2] [db2@2 eb2@2] [c2@2 f2 eb2] [db2@2 eb2@2] [c2@2 f2 eb2] bb2 eb2!2>"],
  [8, "<[ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] eb2>"],
  [4, "<[ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2]>"],
  [17, "<ab2!2 [f2@2 c2@2] [db2@2 eb2@2] ab2!2 [f2@2 c2@2] [db2@2 eb2@2]!2 [c2@2 f2 eb2] [db2@2 eb2@2] [c2@2 f2 eb2] [db2@2 eb2@2] [c2@2 f2 eb2] bb2 eb2!2>"],
  [10, "<[ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] eb2!2 ~>"],
  [4, "<[ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2]>"],
  [11, "<ab2!2 [f2@2 c2@2] [db2@2 eb2@2] [f2@2 c2@2] [db2@2 eb2@2] bb2 eb2!4>"],
  [4, "<[ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2]>"],
  [8, "<[ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] eb2>"],
  [8, "<[ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] [db2@2 eb2@2] [ab2@2 bb2@2] eb2>"],
  [14, "<[ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2] [ab2@2 db2@2] [bb2@2 eb2@2] [ab2 db2 eb2@2] [db2 eb2 ab2@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)

More by Firehouse