Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::CepstralEnvelopeAnalyzerT< SampleType > Class Template Reference

Log-magnitude spectrum to liftered log-envelope. More...

#include <source_filter_analysis.hpp>

Public Types

using Config = CepstralEnvelopeConfigT<SampleType>
using Result = CepstralEnvelopeResultT<SampleType>

Public Member Functions

SourceFilterAnalysisStatus prepare (const Config &config)
bool prepared () const noexcept
int fft_size () const noexcept
int num_bins () const noexcept
int order () const noexcept
Result estimate (std::span< const SampleType > log_magnitude, std::span< SampleType > log_envelope) noexcept
 Rejected input leaves log_envelope unchanged.

Static Public Member Functions

static bool checked_retained_bytes (const Config &config, std::uint64_t target_max_bytes, std::uint64_t &bytes) noexcept

Detailed Description

template<typename SampleType = float>
class pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >

Log-magnitude spectrum to liftered log-envelope.

Input and output contain exactly fft_size / 2 + 1 DC-to-Nyquist bins. The caller owns conversion to log magnitude and any linear-domain floor policy.

Member Typedef Documentation

◆ Config

template<typename SampleType = float>
using pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::Config = CepstralEnvelopeConfigT<SampleType>

◆ Result

template<typename SampleType = float>
using pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::Result = CepstralEnvelopeResultT<SampleType>

Member Function Documentation

◆ checked_retained_bytes()

template<typename SampleType = float>
bool pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::checked_retained_bytes ( const Config & config,
std::uint64_t target_max_bytes,
std::uint64_t & bytes )
inlinestaticnoexcept

◆ estimate()

template<typename SampleType = float>
Result pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::estimate ( std::span< const SampleType > log_magnitude,
std::span< SampleType > log_envelope )
inlinenodiscardnoexcept

Rejected input leaves log_envelope unchanged.

The conservative input bound proves accepted transforms cannot overflow before output mutation.

◆ fft_size()

template<typename SampleType = float>
int pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::fft_size ( ) const
inlinenodiscardnoexcept

◆ num_bins()

template<typename SampleType = float>
int pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::num_bins ( ) const
inlinenodiscardnoexcept

◆ order()

template<typename SampleType = float>
int pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::order ( ) const
inlinenodiscardnoexcept

◆ prepare()

template<typename SampleType = float>
SourceFilterAnalysisStatus pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::prepare ( const Config & config)
inlinenodiscard

◆ prepared()

template<typename SampleType = float>
bool pulp::signal::CepstralEnvelopeAnalyzerT< SampleType >::prepared ( ) const
inlinenodiscardnoexcept

The documentation for this class was generated from the following file: