jAudioFeatureExtractor.AudioFeatures
Class HarmonicSpectralSmoothness

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

public class HarmonicSpectralSmoothness
extends FeatureExtractor

A peak based calculation of smoothness. Caculated by evaluting the log of a partial minus the average of the log of the surrounding partials. Is based upon Stephan McAdams Spectral Smoothness 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
HarmonicSpectralSmoothness()
          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 smoothness 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

HarmonicSpectralSmoothness

public HarmonicSpectralSmoothness()
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 smoothness 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