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

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 }

Detailed Description

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.