FastLED 3.10.6
Loading...
Searching...
No Matches
fl::audio::detector::ChordDetector Class Reference

Detailed Description

Definition at line 48 of file chord.h.

#include <chord.h>

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

Public Member Functions

 ChordDetector () FL_NO_EXCEPT
 
 ~ChordDetector () FL_NO_EXCEPT override
 
void fireCallbacks () override
 
const Chord & getCurrentChord () const
 
const char * getName () const override
 
bool hasChord () const
 
bool needsFFT () const override
 
bool needsFFTHistory () const override
 
void reset () override
 
void setConfidenceThreshold (float threshold)
 
void setMinDuration (u32 ms)
 
void update (shared_ptr< Context > context) override
 
- Public Member Functions inherited from fl::audio::Detector
virtual ~Detector () FL_NO_EXCEPT=default
 
virtual void setSampleRate (int) FL_NO_EXCEPT
 

Public Attributes

function_list< void(const Chord &chord)> onChord
 
function_list< void(const Chord &chord)> onChordChange
 
function_list< void()> onChordEnd
 

Private Member Functions

void calculateChroma (const fft::Bins &fft)
 
float chromaDistance (const float *a, const float *b)
 
Chord detectChord (const float *chroma, u32 timestamp)
 
void initializeTemplateMap ()
 
bool isSimilarChord (const Chord &a, const Chord &b)
 
float matchChordPattern (const float *chroma, int root, ChordType type)
 
void normalizeChroma (float *chroma)
 

Private Attributes

u32 mChordEndTime
 
u32 mChordStartTime
 
float mChroma [12]
 
float mConfidenceThreshold
 
Chord mCurrentChord
 
bool mFireChord = false
 
bool mFireChordChange = false
 
bool mFireChordEnd = false
 
u32 mMinChordDuration
 
float mPrevChroma [12]
 
Chord mPreviousChord
 
shared_ptr< const fft::Bins > mRetainedFFT
 
flat_map< int, const ChordTemplate * > mTemplateMap
 

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