#include <transient_phase_policy.hpp>
Public Attributes | |
| int | fft_size = 2048 |
| float | sensitivity = 1.0f |
| float | strength = 1.0f |
| Phase-reset amount handed back on detection (0..1). | |
| int | refractory_frames = 3 |
| Refractory period: after a reset fires, suppress further resets for this many analysis frames. | |
| int pulp::signal::TransientPhasePolicyT< SampleType >::Config::fft_size = 2048 |
| int pulp::signal::TransientPhasePolicyT< SampleType >::Config::refractory_frames = 3 |
Refractory period: after a reset fires, suppress further resets for this many analysis frames.
A transient is ONE event — without this the detector re-fires on every frame of a hit's decay/ring (broadband flux stays above threshold), and each full-spectrum reset discards the vocoder's accumulated synthesis-phase lead. Sustained re-firing drives the PV toward raw overlap-add at the synthesis hop, which both pitches every partial DOWN by the stretch factor and breaks phase coherence (the "wobble"). 0 disables (legacy behavior). At hop≈128 (offline drums) 3 frames ≈ 8 ms — below any real inter-onset gap.
| float pulp::signal::TransientPhasePolicyT< SampleType >::Config::sensitivity = 1.0f |
1 fires more readily (divides the median gate).
| float pulp::signal::TransientPhasePolicyT< SampleType >::Config::strength = 1.0f |
Phase-reset amount handed back on detection (0..1).