template<typename SampleType = float>
class pulp::signal::MultichannelPhaseCoordinatorT< SampleType >
RT contract: prepare() allocates internal phase/magnitude storage and must run off the audio thread.
After preparation, reset(), queries, and process_group() allocate no memory for the prepared bin/channel counts.
template<typename SampleType = float>
| void pulp::signal::MultichannelPhaseCoordinatorT< SampleType >::process_group |
( |
std::complex< SampleType > *const * | frames, |
|
|
int | num_bins, |
|
|
int | analysis_hop, |
|
|
int | synthesis_hop, |
|
|
SampleType | reset_amount = SampleType{0} ) |
|
inline |
Propagate phases for one frame group and rotate every channel's bins in place.
analysis_hop and synthesis_hop are the actual integer hops used for this frame; reset in [0, 1] blends the synthesis phases toward the analysis phases (1 = full transient reset). At unity hop ratio with reset 0 the rotation vanishes to double-precision rounding error, preserving transparency.