You can mark key frames with a beat point attribute. Not all keyframes would qualify as a legitimate beat point.

Synchronizing the beat points should be to the nearest beat point, backwards or forwards. (Maybe)

If the beat point is too many frames away, then ignore the next beat.

I think there should be genre or otherwise tag based dance sequences. So if a Waltz comes on, versus hip hop or new age, it should behave differently.

Calvin