Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
transient_phase_policy.hpp File Reference

Spectral-flux transient detection for phase-vocoder streams. More...

#include <pulp/signal/checked_allocation.hpp>
#include <algorithm>
#include <cassert>
#include <cmath>
#include <complex>
#include <cstring>
#include <vector>

Go to the source code of this file.

Classes

class  pulp::signal::TransientPhasePolicyT< SampleType >
struct  pulp::signal::TransientPhasePolicyT< SampleType >::Config

Namespaces

namespace  pulp
namespace  pulp::signal

Typedefs

using pulp::signal::TransientPhasePolicy = TransientPhasePolicyT<float>
using pulp::signal::TransientPhasePolicy64 = TransientPhasePolicyT<double>

Detailed Description

Spectral-flux transient detection for phase-vocoder streams.

Detection function: half-wave-rectified magnitude flux on the channel group's summed spectrum, gated by BOTH a running-median comparison and an energy-relative absolute floor (Bello et al., "A Tutorial on Onset Detection in Music Signals," IEEE TSAP 13(5), 2005; Dixon, "Onset Detection Revisited," DAFx 2006). The energy-relative floor matters: a median-only gate misfires continuously on steady tones (near-zero medians) and never fires on isolated clicks (zero medians) — and the misfires show up as a pitch bias in the vocoder, not as obvious artifacts.

On detection the caller feeds the returned confidence into MultichannelPhaseCoordinator's reset amount (phase reinitialization at transients, Röbel, "A New Approach to Transient Processing in the Phase Vocoder," DAFx 2003). All thresholds are relative to the detector's own statistics — nothing absolute to tune per source.

Deterministic; no allocation after prepare().