public class JointModel extends MidiModel
JointModel
is used to model and infer one of each type of model simultaneously as
a set, one step at a time.Modifier and Type | Field and Description |
---|---|
private java.util.TreeSet<JointModelState> |
hypothesisStates
The hypothesis states at the current stage.
|
Constructor and Description |
---|
JointModel(VoiceSplittingModelState voice,
BeatTrackingModelState beat,
MetricalModelState hierarchy)
Create a new JointModel based on a state with the given constituent states.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
This method is called to tell the given model that the input has finished and to flush out all
of its states.
|
java.util.List<? extends BeatTrackingModelState> |
getBeatHypotheses()
Get an ordered List of the
BeatTrackingModelState s which are currently the top hypotheses
for this joint model. |
java.util.List<? extends MetricalModelState> |
getHierarchyHypotheses()
Get an ordered List of the
MetricalModelState s which are currently the top hypotheses
for this joint model. |
java.util.TreeSet<JointModelState> |
getHypotheses()
This method returns a TreeSet of the current hypothesis states of this MidiModel.
|
java.util.List<? extends VoiceSplittingModelState> |
getVoiceHypotheses()
Get an ordered List of the
VoiceSplittingModelState s which are currently the top hypotheses
for this joint model. |
void |
handleIncoming(java.util.List<MidiNote> notes)
This method takes as input some List of MidiNotes, and then does some work on
the notes, updating its list of hypotheses in the process.
|
private java.util.TreeSet<JointModelState> hypothesisStates
public JointModel(VoiceSplittingModelState voice, BeatTrackingModelState beat, MetricalModelState hierarchy)
voice
- The voice splitting state to use.beat
- The beat tracking state to use.hierarchy
- The hierarchy detection state to use.public void handleIncoming(java.util.List<MidiNote> notes)
MidiModel
handleIncoming
in class MidiModel
notes
- A List of the MidiNotes which we want to handle next.public void close()
MidiModel
public java.util.TreeSet<JointModelState> getHypotheses()
MidiModel
getHypotheses
in class MidiModel
public java.util.List<? extends VoiceSplittingModelState> getVoiceHypotheses()
VoiceSplittingModelState
s which are currently the top hypotheses
for this joint model. These may not be sorted in order by their own scores, but they are given in
order of the underlying JointModelState
's scores.VoiceSplittingModelState
s which are currently the top hypotheses
for this joint model.public java.util.List<? extends BeatTrackingModelState> getBeatHypotheses()
BeatTrackingModelState
s which are currently the top hypotheses
for this joint model. These may not be sorted in order by their own scores, but they are given in
order of the underlying JointModelState
's scores.BeatTrackingModelState
s which are currently the top hypotheses
for this joint model.public java.util.List<? extends MetricalModelState> getHierarchyHypotheses()
MetricalModelState
s which are currently the top hypotheses
for this joint model. These may not be sorted in order by their own scores, but they are given in
order of the underlying JointModelState
's scores.MetricalModelState
s which are currently the top hypotheses
for this joint model.