Real-time two-input morphing for live complex spectral frames. More...
#include <algorithm>#include <cmath>#include <complex>#include <cstddef>#include <limits>#include <type_traits>Go to the source code of this file.
Classes | |
| class | pulp::signal::SpectralMorphT< SampleType > |
| struct | pulp::signal::SpectralMorphT< SampleType >::Config |
Namespaces | |
| namespace | pulp |
| namespace | pulp::signal |
Typedefs | |
| using | pulp::signal::SpectralMorph = SpectralMorphT<float> |
| using | pulp::signal::SpectralMorph64 = SpectralMorphT<double> |
Enumerations | |
| enum class | pulp::signal::SpectralMagnitudeInterpolation { pulp::signal::linear , pulp::signal::equal_power } |
| enum class | pulp::signal::SpectralPhaseInterpolation { pulp::signal::shortest_arc , pulp::signal::normalized_vector } |
Real-time two-input morphing for live complex spectral frames.
SpectralMorphT operates directly on coherent one-sided frames from two SpectralFrameEngineT instances. It owns no FFT, captures no audio, and allocates no memory. Magnitude and phase have independent interpolation amounts and policies. Phase interpolation is wrap-safe across the -pi/pi seam; it never linearly interpolates raw angle values.