Automated Accompaniment

Wouldn't it be neat if a soloist could just sing/play into a microphone and accompaniment would automatically play?
...Well, I didn't get quite that far. I took some baby steps in the right (or maybe wrong) direction. The first thing I thought an automated accompanist should do is at least play back the pitch it hears. EASY! The next thing it should do is try to guess when to play the tonic chord. REALLY HARD!

Here's the pd patch

Why doesn't this work well?

  • Not smart enough. An automated accompanist has to do a LOT more than this.
  • Amplitude alone isn't enough to decide when to play the tonic chord.
  • [Fiddle] is too finicky. Both the pitch and amplitude data are very jumpy. The algorithm to decide when to play a chord had to be written for jumpy data, so it's not ideal.

    But here's what you can do with this patch...

    Have a listen!

    What needs to be done?

  • Who decides the tempo? User or Computer?
  • How can we determine a chord progression?
  • Should it account for errors (pitch/timing) on the part of the user?
  • Should it be different for different types of music? (Think heavy metal vs musical theatre)