Class HarmonicSpectralSmoothness

  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.

Daniel McEnnis

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


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

Method Detail


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
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.
The extracted feature value(s).
java.lang.Exception - Throws an informative exception if the feature cannot be calculated.
See Also:
FeatureExtractor.extractFeature(double[], double, double[][])


public java.lang.Object clone()
Proviede a complete copy of this feature. Used to implement the prottype pattern

Specified by:
clone in class FeatureExtractor