uk.co.simphoney.audio.dft
Class CyclicBufferFFTSpectrogramDataBuilder
java.lang.Object
uk.co.simphoney.audio.dft.CyclicBufferFFTSpectrogramDataBuilder
- All Implemented Interfaces:
- CyclicSpectrumDataBuilder
public class CyclicBufferFFTSpectrogramDataBuilder
- extends java.lang.Object
- implements CyclicSpectrumDataBuilder
Creates a spectrogram from a DoubleDataSource
Observers are notified when data changes (during build)
SizeObserver are notify when the number of frequency bins is changed.
- Author:
- pjl
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CyclicBufferFFTSpectrogramDataBuilder
public CyclicBufferFFTSpectrogramDataBuilder(uk.org.toot.audio.core.AudioProcess reader,
int bufferSize,
double Fs)
- Parameters:
minF
- nOctave
- binsPerOctave
-
setParameters
public void setParameters(int chunksize,
int fftsize)
abortConstruction
public void abortConstruction()
addSizeObserver
public void addSizeObserver(CyclicSpectrogramDataListener o)
- Specified by:
addSizeObserver
in interface CyclicSpectrumDataBuilder
getSizeInChunks
public int getSizeInChunks()
- Specified by:
getSizeInChunks
in interface CyclicSpectrumDataBuilder
getChunkRenderedCount
public int getChunkRenderedCount()
doWork
protected void doWork()
getFreqArray
public float[] getFreqArray()
getMagnitudeAt
public float[] getMagnitudeAt(long chunkPtr)
chunkStartInSamples
public long chunkStartInSamples(long chunkPtr)
getChunkAtFrame
public int getChunkAtFrame(long framePtr)
validAt
public boolean validAt(long chunkPtr2)
getSampleRate
public double getSampleRate()
getBinCount
public int getBinCount()
- Specified by:
getBinCount
in interface CyclicSpectrumDataBuilder
getMagnitude
public float[][] getMagnitude()
- Specified by:
getMagnitude
in interface CyclicSpectrumDataBuilder