fl::UISlider sensitivity("Sensitivity", 1.5f, 0.3f, 4.0f, 0.1f)
function_list< void(u8 note, u8 velocity)> onNoteOn
void setNoteOnThreshold(float threshold)
void(*)(u8 note) NoteVelocityCallback
void setNoteChangeThreshold(int semitones)
void setVelocitySensitivity(float sensitivity)
float calculatePitchBend(float hz, u8 note) const
float mVelocitySensitivity
static constexpr u8 A4_MIDI_NOTE
float midiNoteToFrequency(u8 note) const
bool shouldTriggerNoteOn(float confidence, float pitch) const
bool shouldTriggerNoteOff(float confidence, bool voiced) const
function_list< void(u8 note, u8 velocity)> onNoteChange
float getPitchBend() const
u8 getCurrentNote() const
function_list< void(u8 note)> onNoteOff
void(*)(u8 note, u8 velocity) NoteStartCallback
void setMinNoteDuration(u32 ms)
shared_ptr< Pitch > mPitchDetector
u8 frequencyToMidiNote(float hz) const
u8 calculateVelocity(float energy, float confidence) const
void setNoteOffThreshold(float threshold)
float getCurrentPitch() const
void update(shared_ptr< Context > context) override
static constexpr float A4_FREQUENCY
bool shouldTriggerNoteChange(u8 newNote, u8 currentNote) const
u8 getLastVelocity() const
static constexpr u8 NO_NOTE
Note - Musical note detection with MIDI output.
Pitch - Continuous pitch tracking using autocorrelation.
Base definition for an LED controller.