Today I read a paper titled “Real-time jam-session support system”
The abstract is:
We propose a method for the problem of real time chord accompaniment of improvised music.
Our implementation can learn an underlying structure of the musical performance and predict next chord.
The system uses Hidden Markov Model to find the most probable chord sequence for the played melody and then a Variable Order Markov Model is used to a) learn the structure (if any) and b) predict next chord.
We implemented our system in Java and MAX/Msp and compared and evaluated using objective (prediction accuracy) and subjective (questionnaire) evaluation methods.