The formulation is the same as for Sparrowfall Design Notes. Sparrowfall's design can be used essentially unchanged to compose music. We have that
- The piece of music is composed of a sequence of time slices. Each time slice having various properties (state), for example:
- An instrument playing a particular note, or not.
- Position in the bar.
- The piece of music has texture. That is, the state at one time slice depends on the state in previous time slices.
We may then sample a piece of music, using the Metropolis algorithm (as in Sparrowfall).
To produce different styles of music, different prior beliefs about the nature of the music's texture may be stated, for example:
- The beats of the bar follow one after the other, 1 - 2 - 3 - 4 - 1 - 2 - 3 - 4 ... (possibly only approximately, to allow for expressiveness)
- Notes played together will be (mostly) harmonious.
- Notes played one after the other will differ by intervals having the same distribution as the intervals found in music of a particular style.
- Percussive sounds will be strongly correlated with the beat of the bar.
- The key of the music changes only rarely.
A theme may be incorporated into the music. The theme is treated as a seperate, fixed strand of texture (possibly given greater weight than the actual music, so as not to be drowned out by the computer's inventions). This then affects the texture model, which then expresses the theme and variations on it in the main strand. Several themes might be combined in this way, or if a particular style is to be emulated, a large library of samples of music in that style could be used.
This also ties in with my previous blog entry on noise removal in images.