This doesn't produce very compelling compositions because the markov assumption (that the currect chunk only depends on the previous chunk) is not at all valid for most music which has a more complex structure. Later versions will support more constrained HMM topologies that should make for more interesting compositions.
All about HMMs: http://en.wikipedia.org/wiki/Hidden_Markov_model
Definition at line 58 of file HMMComposer.java.
Public Methods | |
void | printUsageAndExit () |
EDLFile | compose () |
Compose an EDLFile. | |
Static Public Methods | |
void | main (String[] args) |
Static Public Attributes | |
String | description = "HMMComposer uses a features file to train a simple statistical model of a song and uses it to randomly generate a new sequence of chunks. This works best when used with chunks created by the beat detector." |
|
Compose an EDLFile. This is where the magic happens. Reimplemented from composers.VQComposer. Definition at line 233 of file HMMComposer.java. References composers.VQComposer.learnCodebook(). |