  Modeling polyphonic music is a particularly challenging task because of the
intricate interplay between melody and harmony. A good model should satisfy
three requirements: statistical accuracy (capturing faithfully the statistics
of correlations at various ranges, horizontally and vertically), flexibility
(coping with arbitrary user constraints), and generalization capacity
(inventing new material, while staying in the style of the training corpus).
Models proposed so far fail on at least one of these requirements. We propose a
statistical model of polyphonic music, based on the maximum entropy principle.
This model is able to learn and reproduce pairwise statistics between
neighboring note events in a given corpus. The model is also able to invent new
chords and to harmonize unknown melodies. We evaluate the invention capacity of
the model by assessing the amount of cited, re-discovered, and invented chords
on a corpus of Bach chorales. We discuss how the model enables the user to
specify and enforce user-defined constraints, which makes it useful for
style-based, interactive music generation.
