#include <spectral_morph.hpp>
|
| bool | prepare (int channels, int num_bins) noexcept |
| | Fix the coherent frame geometry.
|
| void | reset () noexcept |
| | Stateless lifecycle symmetry for frame-processing chains.
|
| bool | set_config (Config config) noexcept |
| Config | config () const noexcept |
| bool | prepared () const noexcept |
| int | channels () const noexcept |
| int | num_bins () const noexcept |
| bool | process (const std::complex< SampleType > *const *a, const std::complex< SampleType > *const *b, std::complex< SampleType > *const *out, int channels, int num_bins, SampleType magnitude_amount, SampleType phase_amount) const noexcept |
| | Morph an entire coherent frame group.
|
| bool | process_partition (const std::complex< SampleType > *const *a, const std::complex< SampleType > *const *b, std::complex< SampleType > *const *out, int channels, int first_bin, int bin_count, SampleType magnitude_amount, SampleType phase_amount) const noexcept |
| | Morph [first_bin, first_bin + bin_count).
|
◆ channels()
template<typename SampleType = float>
◆ config()
template<typename SampleType = float>
◆ num_bins()
template<typename SampleType = float>
◆ prepare()
template<typename SampleType = float>
Fix the coherent frame geometry.
This stores two integers and allocates nothing; invalid geometry leaves a prepared instance unchanged.
◆ prepared()
template<typename SampleType = float>
◆ process()
template<typename SampleType = float>
| bool pulp::signal::SpectralMorphT< SampleType >::process |
( |
const std::complex< SampleType > *const * | a, |
|
|
const std::complex< SampleType > *const * | b, |
|
|
std::complex< SampleType > *const * | out, |
|
|
int | channels, |
|
|
int | num_bins, |
|
|
SampleType | magnitude_amount, |
|
|
SampleType | phase_amount ) const |
|
inlinenoexcept |
Morph an entire coherent frame group.
Magnitude and phase amounts are finite normalized values and are independently clamped to [0,1]. Output may exactly alias either endpoint. A non-finite endpoint bin falls back to the other finite endpoint; two non-finite endpoints produce silence.
◆ process_partition()
template<typename SampleType = float>
| bool pulp::signal::SpectralMorphT< SampleType >::process_partition |
( |
const std::complex< SampleType > *const * | a, |
|
|
const std::complex< SampleType > *const * | b, |
|
|
std::complex< SampleType > *const * | out, |
|
|
int | channels, |
|
|
int | first_bin, |
|
|
int | bin_count, |
|
|
SampleType | magnitude_amount, |
|
|
SampleType | phase_amount ) const |
|
inlinenoexcept |
Morph [first_bin, first_bin + bin_count).
Disjoint partitions produce the exact same result as process(), enabling caller-owned parallelism.
◆ reset()
template<typename SampleType = float>
Stateless lifecycle symmetry for frame-processing chains.
Configuration and prepared geometry are preserved.
◆ set_config()
template<typename SampleType = float>
◆ supports_configuration()
template<typename SampleType = float>
◆ maximum_bins
template<typename SampleType = float>
◆ maximum_channels
template<typename SampleType = float>
◆ minimum_bins
template<typename SampleType = float>
The documentation for this class was generated from the following file: