com.meapsoft.composers
Class HMMComposer
java.lang.Object
com.meapsoft.MEAPUtil
com.meapsoft.composers.Composer
com.meapsoft.composers.VQComposer
com.meapsoft.composers.HMMComposer
- All Implemented Interfaces:
- java.lang.Runnable
- public class HMMComposer
- extends VQComposer
Program that learns a simple fully connected hidden Markov model
from a FeatFile and generates chunk sequences from it.
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
Fields inherited from class com.meapsoft.MEAPUtil |
bigEndian, bitsPerSamp, exceptionHandler, frameLatency, mixerToUse, numChannels, progress, samplingRate, signed, slash, stereo, verbose, version, writeMEAPFile |
Methods inherited from class com.meapsoft.MEAPUtil |
bytes2doubles, doubles2bytes, getPaths, getProgress, openAudioWriter, openAudioWriter, openInputStream, openInputStream, parseChunkDist, parseFeatDim, parseFeatureExtractor, parseFeatureExtractor, printCommandLineOptions, setExceptionHandler |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
description
public static java.lang.String description
HMMComposer
public HMMComposer(FeatFile trainFN,
EDLFile outFN)
HMMComposer
public HMMComposer(java.lang.String[] args)
printUsageAndExit
public void printUsageAndExit()
- Overrides:
printUsageAndExit
in class VQComposer
setSequenceLength
public void setSequenceLength(int len)
compose
public EDLFile compose()
- Description copied from class:
Composer
- Compose an EDLFile. This is where the magic happens.
- Overrides:
compose
in class VQComposer
main
public static void main(java.lang.String[] args)