DSP
The toolkit dsp.h pulls in, and the maths under it: filters, dynamics, reverbs, synthesis, analysis.
- 56headers
- 141public types
- Guides: Getting started, MIDI and MPE
Start with
Headers 56
- dsp.hThe DSP toolkit. Header-only, allocation-free, dependency-free (only <cmath>): the building blocks generated plugins are written against.Smooth, Glide, LogRamp, OnePole, Biquad +15
- effects.hComposite effects.Reverb, Chorus, Phaser, Limiter, NoiseGate +3
- transport.hMusical time.TransportInfo, SyncedLfo
- fft.hFrequency domain.Fft, SpectrumAnalyser, Convolver
- resample.hRate conversion.HalfBandFilter, PolyphaseIirHalfBand, OversamplerT, Resampler
- shaping.hWaveshaping, lookup tables, ballistics and chain composition.LookupTable, WaveShaper, BallisticsFilter, ProcessorChain, ProcessorDuplicator +4
- fir.hFIR filters, designed and run.FirWindowParams, FirFilter
- metering.hProgramme loudness and true peak, the way broadcast measures it.KWeighting, LoudnessMeter, TruePeakMeter, CorrelationMeter
- dynamics.hThe rest of the dynamics family.Expander, UpwardCompressor, TransientShaper, DeEsser
- lofi.hDegradation on purpose: bit depth, sample rate, wavefolding.BitCrusher, Decimator, WaveFolder, Oversampled
- fdn.hA feedback delay network reverb.FdnReverb
- pitch.hPitch: finding it, and moving it.PitchDetector, PitchShifter
- stft.hA short-time Fourier transform you can process in the middle of.Stft
- synth.hThe synthesiser side, past one oscillator and one envelope.Wavetable, WavetableOscillator, UnisonOscillator, HardSyncOscillator, FmOperator +3
- tone.hThe two tone controls every second plugin has, done once.TiltEq, Baxandall
- delay.hThe delay as a finished machine.StereoDelay
- tape.hTape, modelled rather than named.JilesAtherton, TapeSaturator
- tube.hA valve gain stage and the tone stack after it.TubeStage, ToneStack
- crossover.hA crossover into any number of bands that still sums flat.MultibandSplitter
- va_filters.hThe two other synth filters people ask for by name.DiodeLadder, SallenKeyFilter
- granular.hA granular engine.GrainEngine
- phase_vocoder.hThe phase vocoder: pitch shifting without the grain.PhaseVocoder
- spring.hA spring reverb.SpringReverb
- vocoder.hThe channel vocoder and the formant filter.ChannelVocoder, FormantFilter
- compressors.hThe hardware compressors: opto, FET, VCA.OptoCompressor, FetCompressor, VcaCompressor
- eq.hThe parametric equaliser, as a machine.ParametricEq
- clipper.hThe diode clipper, solved.DiodeClipper, OversampledDiodeClipper
- hilbert.hThe analytic signal, and the frequency shifter built on it.HilbertTransformer, FrequencyShifter
- modulation.hThe modulation family: an LFO, and the four effects that are nothing but one.Lfo, Tremolo, AutoPan, Vibrato, RingModulator +1
- multiband.hMultiband dynamics, wired once.MultibandDynamics
- reflections.hEarly reflections from a room, by the image-source method.EarlyReflections
- pitch_correct.hPitch correction: detect, decide, shift.PitchCorrector
- distortion.hDistortion as one object.Distortion
- circuit.hA nodal circuit engine (the DK method).NodalCircuit
- fuzz.hThe Fuzz Face, as its circuit.FuzzFace
- passive_eq.hA Pultec-style passive program equaliser.PassiveEq
- dynamic_eq.hThe dynamic equaliser: a band that compresses itself.DynamicEq
- limiting.hThe true-peak limiter.TruePeakLimiter
- plate.hThe Dattorro plate.PlateReverb
- screamer.hThe Tube Screamer's clipping stage, as its circuit.TubeScreamer
- filter_design.hFilters steeper than one biquad.ChebyshevSection, BilinearCoefficients, Chebyshev2Section, CascadedIir, LinkwitzRileyN
- random.hRandomness, and the noise a DSP makes out of it.Random, WhiteNoise, PinkNoise, Dither, VelvetNoise
- simd.hSIMD.Vec4f
- fast_math.hCheap approximations of the expensive functions.
- denormals.hScopedNoDenormals: turn off denormal arithmetic for the length of a block.ScopedNoDenormals
- interpolation.hReading a stream at a rate that is not one sample per sample.ZeroOrderHoldKernel, LinearKernel, CatmullRomKernel, Lagrange3Kernel, WindowedSincKernel +1
- phase.hA phase accumulator that does not drift.Phase
- polynomial.hA polynomial as a value: evaluate it, add it, multiply it.Polynomial
- matrix.hA small dense matrix, and the linear solve that is usually why somebody wanted one.Matrix
- special.hThe handful of functions the standard library does not carry.SpecialFunctions
- statistics.hRunning mean, variance, minimum, maximum and RMS of a stream of values.StatisticsAccumulator
- channel_matrix.hMixing between channel layouts.ChannelMatrix
- sampler.hSample playback.SampleData, SampleVoice
- impulse.hImpulse responses, prepared for convolution.ImpulseResponse
- scope_buffer.hThe scope's buffer, with no user interface anywhere near it.AudioScopeBuffer
- load.hLoadMeasurer: how much of the audio deadline a DSP is using.LoadMeasurer