jAudioFeatureExtractor.AudioFeatures
Class HarmonicSpectralCentroid

java.lang.Object
  extended by jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
      extended by jAudioFeatureExtractor.AudioFeatures.HarmonicSpectralCentroid

public class HarmonicSpectralCentroid
extends FeatureExtractor

A variation on spectral centroid that is based upon peaks instead of bins. Given a set of peaks, calculate the peak index that corresponds to 50% of the energy in the window. 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.


Field Summary
 
Fields inherited from class jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
definition, dependencies, offsets, parent
 
Constructor Summary
HarmonicSpectralCentroid()
          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 centroid 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

HarmonicSpectralCentroid

public HarmonicSpectralCentroid()
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 centroid 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