Package ipsk.audio.dsp
Class PeakDetector
- java.lang.Object
-
- ipsk.audio.dsp.AudioSampleProcessor
-
- ipsk.audio.dsp.AudioFrameProcessor
-
- ipsk.audio.dsp.PeakDetector
-
public class PeakDetector extends AudioFrameProcessor
Calculates peak levels of an audio signal.- Author:
- K.Jaensch, klausj@phonetik.uni-muenchen.de
-
-
Field Summary
Fields Modifier and Type Field Description protected static float
ln
-
Fields inherited from class ipsk.audio.dsp.AudioSampleProcessor
ae, af, AUDITORY_THRESHOLD, bigEndian, channels, DEFAULT_0DB_SOUND_PRESSURE, frameSize, maxValue, minValue, pp, resolutionBits, sampleSize, signed
-
-
Constructor Summary
Constructors Constructor Description PeakDetector(javax.sound.sampled.AudioFormat af)
Create peak detector
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description float[]
getLevels()
Get levels.float[]
getPeakLevels()
void
process(byte[] data, int offset, int length)
Process data buffer.LevelInfo[]
processBuffer(byte[] data, int offset, int length)
Process a new data buffer.void
processBuffer(byte[] data, int offset, int length, LevelInfo[] levelInfos)
Process a new data buffer.protected void
processFrame(float[] f)
void
setLevels(float[] levels)
Set levels.-
Methods inherited from class ipsk.audio.dsp.AudioFrameProcessor
encode, encode, encodeToFloatValues, encodeValues, encodeValues, getDoubleValues, getFloatValues, getFloatValues, getFloatValues, getNormalizedInterleavedValues, getNormalizedInterleavedValues, getNormalizedValues
-
Methods inherited from class ipsk.audio.dsp.AudioSampleProcessor
amplitudeToSoundPressure, encodeValue, getChannels, getDoubleValue, getEncodedValue, getFloatValue, getFloatValue, getFrameSize, getNormalizedValue, getNormalizedValue, getSampleSize, setAudioFormat
-
-
-
-
Constructor Detail
-
PeakDetector
public PeakDetector(javax.sound.sampled.AudioFormat af) throws AudioFormatNotSupportedException
Create peak detector- Parameters:
af
- audio format- Throws:
AudioFormatNotSupportedException
-
-
Method Detail
-
processBuffer
public LevelInfo[] processBuffer(byte[] data, int offset, int length)
Process a new data buffer. Only level and RMS level is set.- Parameters:
data
- PCM coded data bufferoffset
- offset in datalength
- length of bytes to process- Returns:
- array of level infos
-
processBuffer
public void processBuffer(byte[] data, int offset, int length, LevelInfo[] levelInfos)
Process a new data buffer. Only level and RMS level is set. This method prevents the peak detector from allocating new level info objects. The peak level hold value is set if current peak level is higher.- Parameters:
data
- PCM coded data bufferoffset
- offset in datalength
- length of bytes to processlevelInfos
- array of level infos
-
process
public void process(byte[] data, int offset, int length)
Process data buffer.- Parameters:
data
- PCM coded data bufferoffset
- offset in datalength
- length of bytes to process
-
processFrame
protected void processFrame(float[] f)
-
getPeakLevels
public float[] getPeakLevels()
-
getLevels
public float[] getLevels()
Get levels.- Returns:
- array of levels
-
setLevels
public void setLevels(float[] levels)
Set levels.- Parameters:
levels
- array of levels
-
-