Class PitchDetector
- java.lang.Object
-
- ptolemy.actor.lib.javasound.test.pitchshift.PitchDetector
-
public class PitchDetector extends java.lang.ObjectPerform pitch detection on an input signal using an autocorrelation estimate. The autocorrelation estimate is computed using the DFT (an FFT algorithm is used) for efficiency.- Since:
- Ptolemy II 1.0
- Version:
- $Id$
- Author:
- Brian K. Vogel
- Pt.AcceptedRating:
- Red (vogel)
- Pt.ProposedRating:
- Red (vogel)
-
-
Constructor Summary
Constructors Constructor Description PitchDetector(int vectorSize, int sampleRate)Initialize the pitch detector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]performPitchDetect(double[] inputArray)Perform pitch detection.
-
-
-
Constructor Detail
-
PitchDetector
public PitchDetector(int vectorSize, int sampleRate)Initialize the pitch detector. Parameter vectorSize sets the vector size to be used by performPitchDetect(). vectorSize may be any length.- Parameters:
vectorSize- The length of the array parameter to performPitchDetect().sampleRate- The sample rate to use, in Hz. 22050 or 44100 is recomended.
-
-
Method Detail
-
performPitchDetect
public double[] performPitchDetect(double[] inputArray)
Perform pitch detection. The input signal should uniformly partitioned into vectorSize length chunks of data. performPitchDetect() should be called on each consecutive vector of input data. A vectorSize length array of doubles containing the data is passed to performPitchDetect() via inputArray[]. Each element of inputArray[] is assumes to contain a single data sample. The _sampleRate parameter contains that sample rate, in Hz. performPitchDetect() returns a vectorSize length array of doubles containing the pitch estimates.Note that there is a 2048 sample delay between an element of inputArray[] and the corresponding element of the returned vector of pitch estimates.
- Parameters:
inputArray- The array of audio sample to process.- Returns:
- An array of pitch estimates of the same length as the input array parameter.
-
-