40 bool needsFFT()
const override {
return false; }
41 const char*
getName()
const override {
return "Pitch"; }
42 void reset()
override;
fl::UISlider sensitivity("Sensitivity", 1.5f, 0.3f, 4.0f, 0.1f)
function_list< void(float hz)> onPitch
function_list< void(float hz)> onPitchChange
~Pitch() FL_NOEXCEPT override
vector< float > mAutocorrelation
float calculateConfidence(const vector< float > &autocorr, int peakLag) const
float periodToFrequency(int period) const
void setPitchChangeSensitivity(float sensitivity)
float getConfidence() const
bool shouldReportPitchChange(float newPitch) const
float calculateAutocorrelation(const i16 *pcm, size numSamples)
void fireCallbacks() override
void update(shared_ptr< Context > context) override
const char * getName() const override
void updatePitchSmoothing(float newPitch)
bool needsFFT() const override
function_list< void(float hz, float confidence)> onPitchWithConfidence
int findBestPeakLag(const vector< float > &autocorr) const
void setMaxFrequency(float hz)
int frequencyToPeriod(float frequency) const
float mPitchChangeSensitivity
function_list< void(u8 voiced)> onVoiced
float getSmoothedPitch() const
OneEuroFilter< float > mPitchSmoother
void setSmoothingFactor(float)
float mConfidenceThreshold
void setConfidenceThreshold(float threshold)
void setMinFrequency(float hz)
Base definition for an LED controller.