Strudelify
The Best Disco In Town cover art

1976 · Arabian Nights

The Best Disco In Town

The Ritchie Family

KeyA♭ majorTempo123 bpm
0:00/0:00
// The Best Disco In Town — The Ritchie Family
// 123 bpm, 4/4, key Ab major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(123/4)

const chords = arrange(
  // intro (4 bars)
  [4, "<Ab Dbadd9 Ab Dbadd9>"],
  // chorus (18 bars)
  [18, "<[Ab@2 Fm7@2] [Db@2 Ab@2] [Bbm7@2 Ab@2] [Db@2 Eb@2] [Ab@2 Fm7@2] [Db@2 Ab@2] [Bbm7@2 Ab@2] [Db@2 Eb@2] Bbm7 Eb7 Bbm7 Eb7 Bbm7 Eb7 [Bbm7@2 Ab Db] Bb7 Eb7sus Eb7>"],
  // chorus (18 bars)
  [18, "<[Ab@2 Fm7@2] [Db@2 Ab@2] [Bbm7@2 Ab@2] [Db@2 Eb@2] [Ab@2 Fm7@2] [Db@2 Ab@2] [Bbm7@2 Ab@2] [Db@2 Eb@2] Bbm7 Eb7 Bbm7 Eb7 Bbm7 Eb7 [Bbm7@2 Ab Db] Bb7 Eb7sus Eb7>"],
  // bridge (41 bars)
  [41, "<Ab Dbadd9 Ab Dbadd9 Ab Dbadd9 Ab ~ Ab Dbm [Ab@2 Abadd9@2] Fm7 [Bb7sus@2 Bb@2] [Fm7@2 Gm7@2]!4 Cm7!2 F7sus F F7sus Bb6 Eb Cm7 Fm7 [Eb@2 Bb7@2] F7sus Bb6 Eb!2 Cm7!2 F9sus [F9sus@2 Ab@2] Am7 D7 G^7 [G^7@2 Gb F] [E Eb D Db] [C B Bb A]>"],
  // interlude (4 bars)
  [4, "<Ab Dbadd9 Ab Dbadd9>"],
  // chorus (8 bars)
  [8, "<Ab [Db@2 Ab@2] [Bbm@2 Ab@2] [Db@2 Eb@2] Ab [Db@2 Ab@2] [Bbm@2 Ab@2] [Db@2 Eb@2]>"],
  // fadeout (6 bars)
  [6, "<Bbm Eb Bbm Eb Bbm Eb>"],
)
const bassline = arrange(
  [4, "<ab2!4>"],
  [18, "<[ab2@2 f2@2] [db2@2 c2@2] [bb2@2 c2@2] [db2@2 eb2@2] [ab2@2 f2@2] [db2@2 c2@2] [bb2@2 c2@2] [db2@2 eb2@2] bb2 eb2 bb2 eb2 bb2 eb2 [bb2@2 c2 db2] d2 eb2!2>"],
  [18, "<[ab2@2 f2@2] [db2@2 c2@2] [bb2@2 c2@2] [db2@2 eb2@2] [ab2@2 f2@2] [db2@2 c2@2] [bb2@2 c2@2] [db2@2 eb2@2] bb2 eb2 bb2 eb2 bb2 eb2 [bb2@2 c2 db2] d2 eb2!2>"],
  [41, "<ab2!7 ~ ab2!3 f2 bb2 [f2@2 g2@2]!4 c2!2 f2!3 bb2 eb2 c2 f2 bb2 f2 bb2 eb2!2 c2!2 [f2@2 g2@2] [g2@2 ab2@2] a2 d2 g2 [g2@2 gb2 f2] [e2 eb2 d2 db2] [c2 b2 bb2 a2]>"],
  [4, "<ab2!4>"],
  [8, "<ab2 [db2@2 c2@2] [bb2@2 c2@2] [db2@2 eb2@2] ab2 [db2@2 c2@2] [bb2@2 c2@2] [db2@2 eb2@2]>"],
  [6, "<bb2 eb2 bb2 eb2 bb2 eb2>"],
)

// 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 The Ritchie Family