|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
Table-based waveshaping with Hermite interpolation for high-end audio. More...
#include "DspMath.h"#include "AudioSpec.h"#include "AudioBuffer.h"#include "Oversampling.h"#include "Interpolation.h"#include <algorithm>#include <cassert>#include <cmath>#include <functional>#include <memory>#include <vector>

Go to the source code of this file.
Classes | |
| class | dspark::WaveshapeTable< T > |
| Zero-latency lookup-table waveshaper with RT-safe gain modulation. More... | |
Namespaces | |
| namespace | dspark |
| Main namespace for the DSPark framework. | |
Table-based waveshaping with Hermite interpolation for high-end audio.
Stores a non-linear transfer function as a lookup table and applies it to audio signals using 3rd-order Hermite interpolation. This minimizes table-induced distortion and quantization noise compared to standard linear interpolation.
build...() and setOversampling() methods allocate memory. They MUST ONLY be called from the main thread (UI) or during the prepare() phase, and never while the audio thread is inside a process call (rebuilding the table concurrently with processing is a data race). For real-time automation of distortion amount, use the preGain parameter in the process() functions instead of rebuilding the table.Dependencies: DspMath.h, AudioSpec.h, AudioBuffer.h, Oversampling.h, Interpolation.h.
Definition in file WaveshapeTable.h.