Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::TransientPhasePolicyT< SampleType >::Config Struct Reference

#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.

Member Data Documentation

◆ fft_size

template<typename SampleType = float>
int pulp::signal::TransientPhasePolicyT< SampleType >::Config::fft_size = 2048

◆ refractory_frames

template<typename SampleType = float>
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.

◆ sensitivity

template<typename SampleType = float>
float pulp::signal::TransientPhasePolicyT< SampleType >::Config::sensitivity = 1.0f

1 fires more readily (divides the median gate).

◆ strength

template<typename SampleType = float>
float pulp::signal::TransientPhasePolicyT< SampleType >::Config::strength = 1.0f

Phase-reset amount handed back on detection (0..1).


The documentation for this struct was generated from the following file: