net.beadsproject.beads.analysis.featureextractors
Class PeakDetector

java.lang.Object
  extended by net.beadsproject.beads.core.Bead
      extended by net.beadsproject.beads.analysis.FeatureExtractor<java.lang.Float,java.lang.Float>
          extended by net.beadsproject.beads.analysis.featureextractors.PeakDetector
All Implemented Interfaces:
SegmentMaker

public class PeakDetector
extends FeatureExtractor<java.lang.Float,java.lang.Float>
implements SegmentMaker

Detects peaks in a continuous stream of one element inputs. Attach to an OnsetDetectionFunction (like SpectralDifference) to get Onsets. Use addMessageListener to receive a message when an onset is detected. The algorithm follows the one described in: Dixon, S (2006) "Onset Detection Revisited" Proc. of the 9th Int. Conference on Digital Audio Effects (DAFx-06), Montreal, Canada, September 18-20, 2006

Author:
ben

Field Summary
 
Fields inherited from class net.beadsproject.beads.analysis.FeatureExtractor
featureDescriptions, features, name, numFeatures
 
Constructor Summary
PeakDetector()
           
 
Method Summary
 void addMessageListener(Bead b)
           
 void addSegmentListener(SegmentListener sl)
          Adds the SegmentListener.
 int getBufferSize()
          Get the correct BufferSize for the OnsetDetector
 int getLagInFrames()
           
 float getLastOnsetValue()
           
 void process(TimeStamp startTime, TimeStamp endTime, java.lang.Float input)
          process: assumes input is a 1 element array
 void removeMessageListener(Bead b)
           
 void removeSegmentListener(SegmentListener sl)
          Removes the SegmentListener.
 void setAlpha(float alpha)
           
 void setFilter(Buffer b)
          Sets the window for the local averaging.
 void setResetDelay(float resetDelay)
           
 void setThreshold(float thresh)
           
 
Methods inherited from class net.beadsproject.beads.analysis.FeatureExtractor
addListener, forward, getFeatureDescriptions, getFeatures, getName, getNumberOfFeatures, removeListener, setName, setNumberOfFeatures
 
Methods inherited from class net.beadsproject.beads.core.Bead
getKillListener, isDeleted, isPaused, kill, message, messageReceived, pause, setKillListener, start, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PeakDetector

public PeakDetector()
Method Detail

setThreshold

public void setThreshold(float thresh)

setAlpha

public void setAlpha(float alpha)

setResetDelay

public void setResetDelay(float resetDelay)

getLastOnsetValue

public float getLastOnsetValue()
Returns:
the value at the last onset

getLagInFrames

public int getLagInFrames()
Returns:
The lag in frames between onsets occurring and actually being detected

getBufferSize

public int getBufferSize()
Get the correct BufferSize for the OnsetDetector


setFilter

public void setFilter(Buffer b)
Sets the window for the local averaging.

Parameters:
b - Buffer must be of size == getBufferSize(), and integrates to 1.

process

public void process(TimeStamp startTime,
                    TimeStamp endTime,
                    java.lang.Float input)
process: assumes input is a 1 element array

Specified by:
process in class FeatureExtractor<java.lang.Float,java.lang.Float>
input - the data.

addMessageListener

public void addMessageListener(Bead b)

removeMessageListener

public void removeMessageListener(Bead b)

addSegmentListener

public void addSegmentListener(SegmentListener sl)
Description copied from interface: SegmentMaker
Adds the SegmentListener.

Specified by:
addSegmentListener in interface SegmentMaker
Parameters:
sl - the segment listener.

removeSegmentListener

public void removeSegmentListener(SegmentListener sl)
Description copied from interface: SegmentMaker
Removes the SegmentListener.

Specified by:
removeSegmentListener in interface SegmentMaker
Parameters:
sl - the segment listener.