Gated, octave-safe, semitone-smoothed pitch tracking source.
More...
#include <PitchFollower.h>
|
| void | prepare (const AudioSpec &spec, int windowSize=2048) |
| | Prepares the follower and the wrapped detector.
|
| |
| void | reset () noexcept |
| | Forgets the tracked pitch (parameters are kept). Allocation-free; call from the stream owner (it touches the same plain tracking state update() writes).
|
| |
| void | setRange (T minHz, T maxHz) noexcept |
| | Accepted pitch range in Hz (default 60 to 1200). Non-finite values are ignored (the old max() passed NaN through and closed the validity gate forever).
|
| |
| void | setConfidence (T threshold) noexcept |
| | Confidence threshold [0, 1] below which readings are ignored (default 0.85).
|
| |
| void | setGlide (T msPerOctave) noexcept |
| | Glide time in milliseconds per octave (default 60). 0 disables smoothing (the output snaps to each accepted reading). Non-finite values are ignored.
|
| |
| T | getMinHz () const noexcept |
| | Returns the lower bound of the accepted pitch range in Hz.
|
| |
| T | getMaxHz () const noexcept |
| | Returns the upper bound of the accepted pitch range in Hz.
|
| |
| T | getConfidenceThreshold () const noexcept |
| | Returns the confidence gating threshold [0, 1].
|
| |
| T | getGlide () const noexcept |
| | Returns the glide time in milliseconds per octave.
|
| |
| T | getSmoothedHz () const noexcept |
| |
| T | getRawHz () const noexcept |
| |
| T | getConfidence () const noexcept |
| |
| bool | isTracking () const noexcept |
| |
| void | processBlock (AudioBufferView< const T > buffer) noexcept |
| | Feeds a block (any channel count); channels are averaged to mono.
|
| |
| void | pushSamples (std::span< const T > samples) noexcept |
| | Feeds mono samples directly (alternative to processBlock).
|
| |
template<FloatType T>
class dspark::PitchFollower< T >
Gated, octave-safe, semitone-smoothed pitch tracking source.
- Template Parameters
-
| T | Sample type (float or double). |
Definition at line 73 of file PitchFollower.h.
◆ getConfidence()
- Returns
- Detector confidence of the last raw reading [0, 1].
Definition at line 173 of file PitchFollower.h.
◆ getConfidenceThreshold()
Returns the confidence gating threshold [0, 1].
Definition at line 156 of file PitchFollower.h.
◆ getGlide()
Returns the glide time in milliseconds per octave.
Definition at line 159 of file PitchFollower.h.
◆ getMaxHz()
Returns the upper bound of the accepted pitch range in Hz.
Definition at line 153 of file PitchFollower.h.
◆ getMinHz()
Returns the lower bound of the accepted pitch range in Hz.
Definition at line 150 of file PitchFollower.h.
◆ getRawHz()
- Returns
- Last raw detector reading in Hz (ungated - may be garbage).
Definition at line 170 of file PitchFollower.h.
◆ getSmoothedHz()
- Returns
- Smoothed pitch in Hz; 0 until the first reliable reading.
Definition at line 164 of file PitchFollower.h.
◆ isTracking()
- Returns
- True while reliable readings arrived within the last 250 ms.
Definition at line 176 of file PitchFollower.h.
◆ prepare()
Prepares the follower and the wrapped detector.
An invalid spec (non-finite or non-positive fields) is ignored, keeping the previous state.
- Parameters
-
| spec | Audio environment specification. |
| windowSize | Detector analysis window (default 2048 - good down to ~50 Hz at 48 kHz; updates every windowSize/4 samples). |
Definition at line 88 of file PitchFollower.h.
◆ processBlock()
Feeds a block (any channel count); channels are averaged to mono.
- Parameters
-
| buffer | Read-only audio block. |
Definition at line 187 of file PitchFollower.h.
◆ pushSamples()
Feeds mono samples directly (alternative to processBlock).
- Parameters
-
Definition at line 223 of file PitchFollower.h.
◆ reset()
Forgets the tracked pitch (parameters are kept). Allocation-free; call from the stream owner (it touches the same plain tracking state update() writes).
Definition at line 103 of file PitchFollower.h.
◆ setConfidence()
Confidence threshold [0, 1] below which readings are ignored (default 0.85).
Definition at line 132 of file PitchFollower.h.
◆ setGlide()
Glide time in milliseconds per octave (default 60). 0 disables smoothing (the output snaps to each accepted reading). Non-finite values are ignored.
Definition at line 143 of file PitchFollower.h.
◆ setRange()
Accepted pitch range in Hz (default 60 to 1200). Non-finite values are ignored (the old max() passed NaN through and closed the validity gate forever).
Definition at line 122 of file PitchFollower.h.
The documentation for this class was generated from the following file: