Strudelify
One Bad Apple cover art

1971 · Osmonds

One Bad Apple

The Osmonds

KeyC majorTempo202 bpm
0:00/0:00
// One Bad Apple — The Osmonds
// 202 bpm, 4/4, key C major. Source: mcgill.
// Generated by strudelify. One cycle = one bar.
setcpm(202/4)

const chords = arrange(
  // intro (8 bars)
  [8, "<[C@2 F@2] G [C@2 F@2] C [C@2 F@2] G [C@2 F@2] C>"],
  // verse (16 bars)
  [16, "<C!2 F!2 Dm7 G7sus C!4 F!2 Dm7 G7sus C!2>"],
  // chorus (16 bars)
  [16, "<[C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2 [C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2>"],
  // trans (8 bars)
  [8, "<[C@2 F@2] G [C@2 F@2] C [C@2 F@2] G [C@2 F@2] C>"],
  // verse (16 bars)
  [16, "<C!2 F!2 Dm7 G7sus C!4 F!2 Dm7 G7sus C!2>"],
  // chorus (16 bars)
  [16, "<[C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2 [C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2>"],
  // trans (8 bars)
  [8, "<[C@2 F@2] G [C@2 F@2] C [C@2 F@2] G [C@2 F@2] C>"],
  // verse (16 bars)
  [16, "<C!2 F!2 Dm7 G7sus C!4 F!2 Dm7 G7sus C!2>"],
  // chorus (16 bars)
  [16, "<[C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2 [C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2>"],
  // chorus (8 bars)
  [8, "<[C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2>"],
  // fadeout (8 bars)
  [8, "<[C@2 G7@2] [Am7 G7 F C] [Dm@2 Em7@2] F^7 F G7 C!2>"],
)
const bassline = arrange(
  [8, "<[c2@2 f2@2] g2 [c2@2 f2@2] c2 [c2@2 f2@2] g2 [c2@2 f2@2] c2>"],
  [16, "<c2!2 f2!2 d2 g2 c2!4 f2!2 d2 g2 c2!2>"],
  [16, "<[c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2 [c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2>"],
  [8, "<[c2@2 f2@2] g2 [c2@2 f2@2] c2 [c2@2 f2@2] g2 [c2@2 f2@2] c2>"],
  [16, "<c2!2 f2!2 d2 g2 c2!4 f2!2 d2 g2 c2!2>"],
  [16, "<[c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2 [c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2>"],
  [8, "<[c2@2 f2@2] g2 [c2@2 f2@2] c2 [c2@2 f2@2] g2 [c2@2 f2@2] c2>"],
  [16, "<c2!2 f2!2 d2 g2 c2!4 f2!2 d2 g2 c2!2>"],
  [16, "<[c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2 [c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2>"],
  [8, "<[c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!2>"],
  [8, "<[c2@2 b2@2] [a2 g2 f2 e2] [d2@2 e2@2] f2!2 g2 c2!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)