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

Prepared source-filter cross-synthesis for coherent one-sided frames. More...

#include <pulp/signal/checked_allocation.hpp>
#include <pulp/signal/source_filter_analysis.hpp>
#include <pulp/signal/spectral_frame_engine.hpp>
#include <algorithm>
#include <array>
#include <cmath>
#include <complex>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <new>
#include <span>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::signal::SpectralCrossSynthesisPrepareConfigT< SampleType >
struct  pulp::signal::SpectralCrossSynthesisConfigT< SampleType >
class  pulp::signal::SpectralCrossSynthesisT< SampleType >

Namespaces

namespace  pulp
namespace  pulp::signal

Typedefs

using pulp::signal::SpectralCrossSynthesisPrepareConfig = SpectralCrossSynthesisPrepareConfigT<float>
using pulp::signal::SpectralCrossSynthesisPrepareConfig64 = SpectralCrossSynthesisPrepareConfigT<double>
using pulp::signal::SpectralCrossSynthesisConfig = SpectralCrossSynthesisConfigT<float>
using pulp::signal::SpectralCrossSynthesisConfig64 = SpectralCrossSynthesisConfigT<double>
using pulp::signal::SpectralCrossSynthesis = SpectralCrossSynthesisT<float>
using pulp::signal::SpectralCrossSynthesis64 = SpectralCrossSynthesisT<double>

Enumerations

enum class  pulp::signal::SpectralCrossSynthesisNormalization { pulp::signal::none , pulp::signal::match_carrier_rms }

Detailed Description

Prepared source-filter cross-synthesis for coherent one-sided frames.

The carrier supplies phase and fine spectral structure. Separate cepstral envelopes are estimated with CepstralEnvelopeAnalyzerT; the modulator envelope replaces the carrier envelope in the log-magnitude domain. This is deliberately not raw magnitude/phase interpolation (SpectralMorphT).