jAudioFeatureExtractor.AudioFeatures
Class HarmonicSpectralFlux
java.lang.Object
jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
jAudioFeatureExtractor.AudioFeatures.HarmonicSpectralFlux
public class HarmonicSpectralFlux
- extends FeatureExtractor
A variation on spectral flux that is based upon peaks instead of bins. Given
two sets of peaks, calculate the correlation between adjacent peaks. This
should use proper peak tracking, but for now tracks peaks by matching peaks
from the bottom up. Unmatched peaks are discarded. This feature is based upon
Stephan McAdams Spectral Centroid in (McAdams 1999).
McAdams, S. 1999. Perspectives on the contribution of timbre to musical
structure. Computer Music Journal. 23(3):85-102.
- Author:
- Daniel McEnnis
Constructor Summary |
HarmonicSpectralFlux()
Basic constructor that sets dependencies, definition, and offsets. |
Method Summary |
java.lang.Object |
clone()
Proviede a complete copy of this feature. |
double[] |
extractFeature(double[] samples,
double sampling_rate,
double[][] other_feature_values)
Extract the peak based spectral flux from the window. |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HarmonicSpectralFlux
public HarmonicSpectralFlux()
- Basic constructor that sets dependencies, definition, and offsets.
extractFeature
public double[] extractFeature(double[] samples,
double sampling_rate,
double[][] other_feature_values)
- Extract the peak based spectral flux from the window.
- Specified by:
extractFeature
in class FeatureExtractor
- Parameters:
samples
- The samples to extract the feature from.sampling_rate
- The sampling rate that the samples are encoded with.other_feature_values
- The values of other features that are needed to calculate this
value. The order and offsets of these features must be the
same as those returned by this class's getDependencies and
getDependencyOffsets methods respectively. The first indice
indicates the feature/window and the second indicates the
value.
- Returns:
- The extracted feature value(s).
- Throws:
java.lang.Exception
- Throws an informative exception if the feature cannot be
calculated.- See Also:
FeatureExtractor.extractFeature(double[],
double, double[][])
clone
public java.lang.Object clone()
- Proviede a complete copy of this feature. Used to implement the prottype
pattern
- Specified by:
clone
in class FeatureExtractor