ChucK randomly generates a chord progression within the rules of tonal harmony. It then plays the roots of each chord with FM synthesis. There are two voices- one starts with the carrier at the chord's fundamental, and the mod approaches it slowly from below, and the other does the same thing with the mod approaching from above. The performer improvises on the given chord changes on the piano, moving to the next chord when the oscillators do. When tonal progressions slow down to this level, do the chords maintain functional harmony?
Here is the ChucK file