37 const float NEUTRAL_THRESHOLD = 0.3f;
59 default:
return "unknown";
float rms(fl::span< const int16_t > data)
float calculateSpectralRolloff(const fft::Bins &fft, float threshold=0.85f) FL_NO_EXCEPT
float calculateConfidence(float valence, float arousal) FL_NO_EXCEPT
fl::vector< float > mArousalHistory
void fireCallbacks() FL_NO_EXCEPT override
~MoodAnalyzer() FL_NO_EXCEPT override
float getValence() const FL_NO_EXCEPT
function_list< void(float valence, float arousal)> onValenceArousal
bool needsFFT() const FL_NO_EXCEPT override
float calculateArousal(float rms, float zcr, float flux) FL_NO_EXCEPT
float getArousal() const FL_NO_EXCEPT
Mood::Category getMoodCategory() const FL_NO_EXCEPT
function_list< void(const Mood &mood)> onMoodChange
float calculateValence(float centroid, float rolloff, float flux) FL_NO_EXCEPT
fl::vector< float > mValenceHistory
void reset() FL_NO_EXCEPT override
shared_ptr< const fft::Bins > mRetainedFFT
bool needsFFTHistory() const FL_NO_EXCEPT override
void setConfidenceThreshold(float threshold) FL_NO_EXCEPT
float mConfidenceThreshold
void setAveragingFrames(int frames) FL_NO_EXCEPT
const Mood & getCurrentMood() const FL_NO_EXCEPT
function_list< void(const Mood &mood)> onMood
void update(shared_ptr< Context > context) FL_NO_EXCEPT override
float calculateSpectralFlux(const fft::Bins &fft, const fft::Bins *prevFFT) FL_NO_EXCEPT
float calculateSpectralCentroid(const fft::Bins &fft) FL_NO_EXCEPT
void setMinDuration(u32 ms) FL_NO_EXCEPT
MoodAnalyzer() FL_NO_EXCEPT
const char * getName() const FL_NO_EXCEPT override
bool shouldChangeMood(const Mood &newMood) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
constexpr enable_if< is_fixed_point< T >::value, T >::type abs(T x) FL_NO_EXCEPT
Base definition for an LED controller.
const char * getCategoryName() const FL_NO_EXCEPT
bool isValid() const FL_NO_EXCEPT
Category getCategory() const FL_NO_EXCEPT