jAudioFeatureExtractor.AudioFeatures
Class BeatHistogramLabels

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

public class BeatHistogramLabels
extends FeatureExtractor

A "feature extractor" that calculates the bin labels, in beats per minute, of a beat histogram.

Although this is not a useful feature for the purposes of classifying, it can be useful for calculating other features.

IMPORTANT:

The window size of 256 RMS windows used in the BeatHistogram is hard-coded into this class. Any changes to the value in that class must be made here as well.

Daniel McEnnis 05-08-05 added setBinNumber, getElement, setElement, and clone

Author:
Cory McKay

Field Summary
 
Fields inherited from class jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
definition, dependencies, offsets, parent
 
Constructor Summary
BeatHistogramLabels()
          Basic constructor that sets the definition and dependencies (and their offsets) of this feature.
 
Method Summary
 java.lang.Object clone()
          Create an identical copy of this feature.
 double[] extractFeature(double[] samples, double sampling_rate, double[][] other_feature_values)
          Extracts this feature from the given samples at the given sampling rate and given the other feature values.
 java.lang.String getElement(int index)
          Function permitting an unintelligent outside function (ie.
 void setBinNumber(int n)
          Sets the bin Number - changes should be linked to beatHistogramType
 void setElement(int index, java.lang.String value)
          Function permitting an unintelligent outside function (ie.
 
Methods inherited from class jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
getDepenedencies, getDepenedencyOffsets, getFeatureDefinition, setParent, setWindow
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeatHistogramLabels

public BeatHistogramLabels()
Basic constructor that sets the definition and dependencies (and their offsets) of this feature.

Method Detail

extractFeature

public double[] extractFeature(double[] samples,
                               double sampling_rate,
                               double[][] other_feature_values)
                        throws java.lang.Exception
Extracts this feature from the given samples at the given sampling rate and given the other feature values.

In the case of this feature, the sampling_rate and other_feature_values parameters are ignored.

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.

setBinNumber

public void setBinNumber(int n)
                  throws java.lang.Exception
Sets the bin Number - changes should be linked to beatHistogramType

Parameters:
n - new number of beat bins
Throws:
java.lang.Exception - thrown if new number of bins is les than 2

getElement

public java.lang.String getElement(int index)
                            throws java.lang.Exception
Function permitting an unintelligent outside function (ie. EditFeatures frame) to get the default values used to populate the table's entries. The correct index values are inferred from definition.attribute value.

Overrides:
getElement in class FeatureExtractor
Parameters:
index - which of AreaMoment's attributes should be edited.
Throws:
java.lang.Exception

setElement

public void setElement(int index,
                       java.lang.String value)
                throws java.lang.Exception
Function permitting an unintelligent outside function (ie. EditFeatures frame) to set the default values used to popylate the table's entries. Like getElement, the correct index values are inferred from the definition.attributes value.

Overrides:
setElement in class FeatureExtractor
Parameters:
index - attribute to be set
value - new value of the attribute
Throws:
java.lang.Exception

clone

public java.lang.Object clone()
Create an identical copy of this feature. This permits FeatureExtractor to use the prototype pattern to create new composite features using metafeatures.

Specified by:
clone in class FeatureExtractor