jAudioFeatureExtractor.AudioFeatures
Class HarmonicSpectralFlux

java.lang.Object
  extended by jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
      extended by 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

Field Summary
 
Fields inherited from class jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
definition, dependencies, offsets, parent
 
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 jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
getDepenedencies, getDepenedencyOffsets, getElement, getFeatureDefinition, setElement, setParent, setWindow
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HarmonicSpectralFlux

public HarmonicSpectralFlux()
Basic constructor that sets dependencies, definition, and offsets.

Method Detail

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