|
| | AnalogVcfT () noexcept |
| | Constructs the default configuration and clears all DSP history.
|
| void | set_sample_rate (double sample_rate) noexcept |
| | Sets the base sample rate in Hz, with values below 64 Hz clamped to 64.
|
| void | set_oversampling (int factor) noexcept |
| | Sets the oversampling factor to 1, 2, 4, 8, or 16.
|
| void | set_voicing (Voicing voicing) noexcept |
| | Selects a measured voicing and clears DSP history when it changes.
|
| void | set_cutoff (SampleType knob01, SampleType modulation_octaves=0) noexcept |
| | Sets panel cutoff and modulation without clearing DSP history.
|
| void | set_resonance (SampleType knob01) noexcept |
| | Sets the panel resonance position, clamped to [0, 1].
|
| void | set_drive_db (SampleType drive_db) noexcept |
| | Sets input drive in dB; the underlying engine clamps it to [-96, 72] dB.
|
| void | set_parameters (SampleType cutoff_knob01, SampleType modulation_octaves, SampleType resonance_knob01, SampleType drive_db) noexcept |
| | Updates all sample-accurate controls as one transaction.
|
| void | set_smoothing_time_ms (double milliseconds) noexcept |
| | Sets coefficient smoothing time in milliseconds.
|
| SampleType | process (SampleType input) noexcept |
| | Processes one base-rate sample and advances filter, oversampling, smoothing, and deterministic drift state.
|
| void | process (SampleType *buffer, int num_samples) noexcept |
| | Processes num_samples in place at the base sample rate.
|
| void | reset () noexcept |
| | Clears filter and oversampler history, restores deterministic drift state, and snaps smoothed values to their current targets.
|
| int | latency_samples () const noexcept |
| | Returns the current fixed oversampling delay in base-rate samples.
|
| double | cutoff_hz () const noexcept |
| | Returns the table-derived requested corner in Hz.
|
| int | oversampling () const noexcept |
| | Returns the active oversampling factor: 1, 2, 4, 8, or 16.
|
| Voicing | voicing () const noexcept |
| | Returns the active measured voicing.
|
template<typename SampleType = float>
class pulp::signal::AnalogVcfT< SampleType >
Measured panel voicings backed by a four-pole nonlinear OTA cascade.
The default state is a Juno voicing at 44.1 kHz and 2x oversampling, with cutoff 0.5 (262 Hz requested corner), zero resonance, zero dB drive, and no coefficient smoothing. Processing and configuration use fixed storage and allocate no memory. Configuration methods that clear DSP history say so explicitly below.
- Template Parameters
-
| SampleType | Floating-point sample scalar; normally float or double. |
template<typename SampleType = float>
Selects the complete measured cutoff, resonance, headroom, compensation, saturation, cross-modulation, makeup, and drift law.
| Enumerator |
|---|
| juno | Roland Juno-style IR3109 voicing; the default.
|
| jupiter | Roland Jupiter-8-style IR3109 voicing.
|
| prophet5 | Sequential Prophet-5-style SSM/CEM voicing.
|
| minimoog | Minimoog-style transistor-ladder voicing.
|
template<typename SampleType = float>
Clears filter and oversampler history, restores deterministic drift state, and snaps smoothed values to their current targets.
Control settings, voicing, sample rate, and oversampling are preserved.
template<typename SampleType = float>
Sets the oversampling factor to 1, 2, 4, 8, or 16.
Invalid factors select 2x through the underlying engine. Every call reapplies the active voicing and clears DSP history.
template<typename SampleType = float>
Sets the base sample rate in Hz, with values below 64 Hz clamped to 64.
Reapplies the active voicing and clears filter, oversampler, and drift history, even when the supplied rate equals the current rate.