public class GetPatternStats
extends java.lang.Object
Pattern
and MIDI analysis of the following elements:
General descriptors, Pitch descriptors, Duration descriptors, Silence descriptors (rests),
Interval descriptors (half-steps), Inter Onset Interval (IOI), Harmonic Descriptors (Non-diatonics),
Rhythm Descriptors (Syncopations), Normality Descriptors.Modifier and Type | Class and Description |
---|---|
class |
GetPatternStats.Stats |
Constructor and Description |
---|
GetPatternStats() |
Modifier and Type | Method and Description |
---|---|
double |
comparePatterns(Pattern p1,
Pattern p2)
Parses two patterns to find average difference of all stats
|
GetPatternStats.Stats |
getDurationStats()
Gets
Stats object containing note duration N, Average (mean - min), SD, and Range. |
int[] |
getGeneralStats()
Gets general statistics (Number of notes, number of rests, number of measures)
|
GetPatternStats.Stats |
getHarmonicStats()
Gets
Stats object containing harmonics N, Average (mean - min), SD, and Range. |
GetPatternStats.Stats |
getIntervalStats()
Gets
Stats object containing pitch interval N, Average (mean - min), SD, and Range. |
GetPatternStats.Stats |
getIOIStats()
Gets
Stats object containing inter-onset-interval(IOI) N, Average (mean - min), SD, and Range. |
GetPatternStats.Stats |
getPitchStats()
Gets
Stats object containing pitch N, Average (mean - min), SD, and Range. |
GetPatternStats.Stats |
getRestStats()
Gets
Stats object containing rest duration N, Average (mean - min), SD, and Range. |
int |
getRhythmStats()
Gets number of syncopations.
|
void |
parsePattern(java.io.File midiFile,
java.lang.Boolean clear)
Parses MIDI file to calculate statistics for all descriptors
|
void |
parsePattern(Pattern pattern,
java.lang.Boolean clear)
Parses JFugue
Pattern |
java.lang.String |
toString() |
public void parsePattern(Pattern pattern, java.lang.Boolean clear)
Pattern to calculate statistics
for all descriptors.
pattern
- The JFuge Pattern to be parsed.clear
- True to clear previous data, false to add to previous datapublic void parsePattern(java.io.File midiFile, java.lang.Boolean clear) throws java.io.IOException, javax.sound.midi.InvalidMidiDataException
midiFile
- The MIDI file to be parsed.clear
- True to clear previous data, false to add to previous datajava.io.IOException
javax.sound.midi.InvalidMidiDataException
public double comparePatterns(Pattern p1, Pattern p2)
Pattern
- Pattern 1 to be parsedPattern
- Pattern 2 to be parsedpublic int[] getGeneralStats()
public GetPatternStats.Stats getPitchStats()
Stats
object containing pitch N, Average (mean - min), SD, and Range.Stats
object for pitchpublic GetPatternStats.Stats getDurationStats()
Stats
object containing note duration N, Average (mean - min), SD, and Range.Stats
object for note durationpublic GetPatternStats.Stats getRestStats()
Stats
object containing rest duration N, Average (mean - min), SD, and Range.
Only silences greater than a 16th note are evaluated.Stats
object for rest durationpublic GetPatternStats.Stats getIntervalStats()
Stats
object containing pitch interval N, Average (mean - min), SD, and Range.
Intervals are in half-steps.Stats
object for pitch intervalpublic GetPatternStats.Stats getIOIStats()
Stats
object containing inter-onset-interval(IOI) N, Average (mean - min), SD, and Range.
Inter-onset-intervals are the number of MIDI pulses between the onset of non-rest notes.Stats
object for IOIpublic int getRhythmStats()
Stats
object for rhythmpublic GetPatternStats.Stats getHarmonicStats()
Stats
object containing harmonics N, Average (mean - min), SD, and Range.
Non-diatonic notes based off of the parsed key signature or default of Cmaj.
Average is average of 0-4, as a degree of non-diatonic notes. ie. 0: ♭II, 1: ♭III (♮III for minor key), 2: ♭V, 3: ♭VI, 4: ♭VII.
SD is also computed using degree of non-diatonic notes.Stats
object for harmonicspublic java.lang.String toString()
toString
in class java.lang.Object