NoteFinder

The module that takes audio data and converts it to note information.

There currently is only one NoteFinder, with the same behaviour as the one in base ColorChord.

Source Code

Configuration

Option NameTypeDefaultRangeControllableDescription
StartFreqfloat65.40640.0~20000.0The minimum frequency analyzed. (in Hz) ℹ️ See note below.
DFTIIRfloat0.650.0~1.0Determines how much the previous frame’s DFT data is used in the next frame. Smooths out rapid changes from frame-to-frame, but can cause delay if too strong.
DFTAmplifyfloat2.00.0~10000.0Determines how much the raw DFT data is amplified before being used.
DFTSlopefloat0.10.0~10000.0The slope of the extra frequency-dependent amplification done to raw DFT data. Positive values increase sensitivity at higher frequencies.
OctaveFilterIterationsint20~10000How often to run the octave data filter. This smoothes out each bin with adjacent ones.
OctaveFilterStrengthfloat0.50.0~1.0How strong the octave data filter is. Higher values mean each bin is more aggressively averaged with adjacent bins. Higher values mean less glitchy, but also less clear note peaks.
NoteInfluenceDistfloat1.80.0~100.0How close a note needs to be to a distribution peak in order to be merged.
NoteAttachFreqIIRfloat0.30.0~1.0How strongly the note merging filter affects the note frequency. Stronger filter means notes take longer to shift positions to move together.
NoteAttachAmpIIRfloat0.350.0~1.0How strongly the note merging filter affects the note amplitude. Stronger filter means notes take longer to merge fully in amplitude.
NoteAttachAmpIIR2float0.250.0~1.0This filter is applied to notes between cycles in order to smooth their amplitudes over time.
NoteCombineDistancefloat0.50.0~100.0How close two existing notes need to be in order to get combined into a single note.
NoteOutputChopfloat0.050.0~1.0Notes below this value get zeroed. Increase if low-amplitude notes are causing noise in output.