FastLED 3.10.8
Loading...
Searching...
No Matches
fl::audio::detector::Vocal Class Reference

Detailed Description

Definition at line 21 of file vocal.h.

#include <vocal.h>

+ Inheritance diagram for fl::audio::detector::Vocal:
+ Collaboration diagram for fl::audio::detector::Vocal:

Public Member Functions

 Vocal () FL_NO_EXCEPT
 
 Vocal () FL_NO_EXCEPT
 
 ~Vocal () FL_NO_EXCEPT
 
 ~Vocal () FL_NO_EXCEPT override
 
void fireCallbacks () FL_NO_EXCEPT override
 
float getConfidence () const
 
float getConfidence () const FL_NO_EXCEPT
 
float getFormantRatio () const
 
const char * getName () const FL_NO_EXCEPT override
 
float getSpectralCentroid () const
 
float getSpectralRolloff () const
 
bool isVocal () const FL_NO_EXCEPT
 
bool isVocalActive () const
 
bool needsFFT () const FL_NO_EXCEPT override
 
void reset ()
 
void reset () FL_NO_EXCEPT override
 
void setSampleRate (int sampleRate) FL_NO_EXCEPT override
 
void setSmoothingAlpha (float tau) FL_NO_EXCEPT
 
void setThreshold (float threshold)
 
void setThreshold (float threshold) FL_NO_EXCEPT
 
void update (shared_ptr< Context > context)
 
void update (shared_ptr< Context > context) FL_NO_EXCEPT override
 
- Public Member Functions inherited from fl::audio::Detector
virtual ~Detector () FL_NO_EXCEPT=default
 
virtual bool needsFFTHistory () const FL_NO_EXCEPT
 

Public Attributes

function_list< void(u8 active)> onVocal
 
function_list< void()> onVocalEnd
 
function_list< void()> onVocalStart
 

Private Member Functions

float calculateAutocorrelationIrregularity (span< const i16 > pcm) FL_NO_EXCEPT
 
float calculateRawConfidence (float formantRatio, float spectralFlatness, float harmonicDensity, float vocalPresenceRatio, float spectralFlux, float spectralVariance) FL_NO_EXCEPT
 
float calculateSpectralCentroid (const fft::Bins &fft)
 
float calculateSpectralRolloff (const fft::Bins &fft)
 
float calculateVocalPresenceRatio (const fft::Bins &broadFft) FL_NO_EXCEPT
 
void computeBroadSpectralFeatures (const fft::Bins &broadFft) FL_NO_EXCEPT
 
void computeFormantRatio (const fft::Bins &formantFft) FL_NO_EXCEPT
 
void computePCMTimeDomainFeatures (span< const i16 > pcm) FL_NO_EXCEPT
 
bool detectVocal (float centroid, float rolloff, float formantRatio)
 
float estimateFormantRatio (const fft::Bins &fft)
 

Private Attributes

ExponentialSmoother< float > mAcfIrregularitySmoother {0.08f}
 
float mAutocorrelationIrregularity = 0.0f
 
int mBroadNumBins = 16
 
float mConfidence
 
ExponentialSmoother< float > mConfidenceSmoother {0.05f}
 
float mEnvelopeJitter = 0.0f
 
ExponentialSmoother< float > mEnvelopeJitterSmoother {0.08f}
 
fl::vector< float > mFluxNormBins
 
int mFormantCachedBinCount = -1
 
int mFormantF1MaxBin = 0
 
int mFormantF1MinBin = 0
 
int mFormantF2MaxBin = 0
 
int mFormantF2MinBin = 0
 
int mFormantNumBins = 64
 
float mFormantRatio
 
int mFramesInState = 0
 
float mHarmonicDensity = 0.0f
 
float mOffThreshold = 0.52f
 
float mOnThreshold = 0.65f
 
fl::vector< float > mPrevBins
 
bool mPreviousVocalActive
 
shared_ptr< const fft::Bins > mRetainedBroadFFT
 
shared_ptr< const fft::Bins > mRetainedFormantFFT
 
int mSampleRate = 44100
 
float mSpectralCentroid
 
float mSpectralFlatness = 0.0f
 
float mSpectralFlux = 0.0f
 
float mSpectralRolloff
 
float mSpectralVariance = 0.0f
 
SpectralVariance< float > mSpectralVarianceFilter {0.2f}
 
bool mStateChanged = false
 
float mThreshold
 
bool mVocalActive
 
float mVocalPresenceRatio = 0.0f
 
ExponentialSmoother< float > mZcCVSmoother {0.08f}
 
float mZeroCrossingCV = 0.0f
 

Static Private Attributes

static constexpr int MIN_FRAMES_TO_TRANSITION = 3
 

Friends

struct VocalDetectorDiagnostics
 

The documentation for this class was generated from the following files: