A sequential wavefolder whose stage drive increases through the chain. More...
#include <nonlinear_shaping.hpp>
Public Member Functions | |
| void | prepare (double sample_rate) |
| void | set_alias_policy (NonlinearAliasPolicy policy) |
| NonlinearAliasPolicy | alias_policy () const noexcept |
| int | oversample_factor () const noexcept |
| int | latency_samples () const noexcept |
| int | tail_samples () const noexcept |
| double | sample_rate () const noexcept |
| void | set_stages (int stages) noexcept |
| int | stages () const noexcept |
| void | set_fold (double fold01) noexcept |
| double | fold () const noexcept |
| void | set_stage_offset (int stage, double offset) noexcept |
| double | stage_offset (int stage) const noexcept |
| void | set_stage_symmetry (int stage, double symmetry) noexcept |
| double | stage_symmetry (int stage) const noexcept |
| void | set_dc_coupling (double amount01) noexcept |
| How much of each stage's zero-input operating point reaches the next stage. | |
| void | set_stage_dc_coupling (int stage, double amount01) noexcept |
| double | stage_dc_coupling (int stage) const noexcept |
| double | small_signal_gain () const noexcept |
| The exact slope at the origin where differentiable; zero at a fold cusp. | |
| double | dc_output () const noexcept |
| void | reset () noexcept |
| SampleType | process (SampleType input) noexcept |
| void | process_block (const SampleType *input, SampleType *output, std::size_t sample_count) noexcept |
| double | shape (double input) const noexcept |
Static Public Attributes | |
| static constexpr int | kMaxStages = 8 |
| static constexpr double | kRawInputLimit = 64.0 |
A sequential wavefolder whose stage drive increases through the chain.
The default four-times oversampling uses Pulp's standard linear-phase FIR pair and reports its exact host-rate latency. off is an explicit raw reference mode, not an antialiased quality setting. Configuration may allocate inside the composed oversampler; process(), process_block(), and reset() allocate nothing and take no locks.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
How much of each stage's zero-input operating point reaches the next stage.
One is a fully DC-coupled cascade; zero subtracts that static point locally. This is a memoryless transfer-law choice, not a high-pass filter, so it adds no state, latency, or decay tail.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
The exact slope at the origin where differentiable; zero at a fold cusp.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
staticconstexpr |
|
staticconstexpr |