Strudelify
Foggy Mountain Breakdown cover art

1968 · Town and Country

Foggy Mountain Breakdown

Flatt & Scruggs

KeyA♭ majorTempo318 bpm
0:00/0:00
// Foggy Mountain Breakdown — Flatt & Scruggs
// 318 bpm, 4/4, key Ab major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(318/4)

const chords = arrange(
  // verse (16 bars)
  [16, "<Ab!4 Fm!2 Ab!2 Fm!2 Ab!2 Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!2 Ab!2 Fm!2 Ab!2 Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!3 Ab Fm!3 Ab Eb7!2 Ab!2>"],
  // verse (16 bars)
  [16, "<Ab!4 Fm!2 Ab!2 Fm!2 Ab!2 Eb7!2 Ab!2>"],
  // verse (17 bars)
  [17, "<Ab!4 Fm!2 Ab!2 Fm!2 Ab!2 Eb7!2 Ab!3>"],
)
const bassline = arrange(
  [16, "<ab2!4 f2!2 ab2!2 f2!2 ab2!2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!2 ab2!2 f2!2 ab2!2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!3 ab2 f2!3 ab2 eb2!2 ab2!2>"],
  [16, "<ab2!4 f2!2 ab2!2 f2!2 ab2!2 eb2!2 ab2!2>"],
  [17, "<ab2!4 f2!2 ab2!2 f2!2 ab2!2 eb2!2 ab2!3>"],
)

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