#include <spectral_cross_synthesis.hpp>
|
| bool | prepare (PrepareConfig config) |
| | Allocate the analyzer, envelope history, and all frame scratch off the audio thread.
|
| bool | set_config (const Config &config) noexcept |
| | Replace every runtime control transactionally.
|
| Config | config () const noexcept |
| bool | prepared () const noexcept |
| int | channels () const noexcept |
| int | fft_size () const noexcept |
| int | num_bins () const noexcept |
| int | lifter_order () const noexcept |
| std::uint64_t | retained_bytes () const noexcept |
| void | reset () noexcept |
| | Clear temporal envelope history while preserving prepared capacity and both configs.
|
| bool | process (const std::complex< SampleType > *const *carrier, const std::complex< SampleType > *const *modulator, std::complex< SampleType > *const *output, int channels, int num_bins) noexcept |
| | Cross-synthesize one coherent frame group.
|
◆ Config
template<typename SampleType = float>
◆ PrepareConfig
template<typename SampleType = float>
◆ added_latency_samples()
template<typename SampleType = float>
|
|
inlinestaticconstexprnoexcept |
Analysis/synthesis buffering belongs to the surrounding frame engine; retained envelope history does not emit signal by itself.
◆ added_tail_samples()
template<typename SampleType = float>
|
|
inlinestaticconstexprnoexcept |
◆ channels()
template<typename SampleType = float>
◆ config()
template<typename SampleType = float>
◆ fft_size()
template<typename SampleType = float>
◆ lifter_order()
template<typename SampleType = float>
◆ num_bins()
template<typename SampleType = float>
◆ prepare()
template<typename SampleType = float>
Allocate the analyzer, envelope history, and all frame scratch off the audio thread.
Rejection leaves an already prepared instance unchanged.
◆ prepared()
template<typename SampleType = float>
◆ process()
template<typename SampleType = float>
| bool pulp::signal::SpectralCrossSynthesisT< SampleType >::process |
( |
const std::complex< SampleType > *const * | carrier, |
|
|
const std::complex< SampleType > *const * | modulator, |
|
|
std::complex< SampleType > *const * | output, |
|
|
int | channels, |
|
|
int | num_bins ) |
|
inlinenoexcept |
Cross-synthesize one coherent frame group.
Output may alias corresponding carrier or modulator channel storage. Invalid geometry is rejected before output/history mutation. Non-finite bins enter envelope analysis at the configured floor; a non-finite carrier bin itself becomes silence.
◆ reset()
template<typename SampleType = float>
Clear temporal envelope history while preserving prepared capacity and both configs.
The next accepted frame initializes history from itself.
◆ retained_bytes()
template<typename SampleType = float>
◆ set_config()
template<typename SampleType = float>
Replace every runtime control transactionally.
Rejection retains the previous config and history coefficient.
◆ supports_configuration()
template<typename SampleType = float>
◆ maximum_channels
template<typename SampleType = float>
◆ maximum_smoothing_frames
template<typename SampleType = float>
◆ maximum_transfer_db
template<typename SampleType = float>
◆ maximum_true_envelope_iterations
template<typename SampleType = float>
The documentation for this class was generated from the following file: