Freeverb3 library Classes Overview
[L/R] Left/Right block process classes have LR process function:
void processreplace(fv3_float_t *inputL, fv3_float_t *inputR, fv3_float_t *outputL, fv3_float_t *outputR, long numsamples).
[S] Simple signal process classes have single process function: fv3_float_t process (fv3_float_t input).
[S] Simple DSP filters
- fv3::delay
- simple delay filter
- fv3::allpass
- delay with allpass filter
- fv3::biquad
- biquad (2nd order IIR) filter
- fv3::comb
- comb filter
- fv3::rms
- RMS calculator
- fv3::slimit
- limiter
- fv3::socmp
- compressor
- fv3::iir_1st
- 1st order IIR filter with LPF/HPF
- fv3::iir_lr2
- 2X 1st order IIR filter
- fv3::efilter
- simple 1-Pole LPF + 1-Zero HPF filter
- fv3::dccut
- 1st order IIR DC Cut filter
- fv3::lfo
- LFO
- fv3::ahdsr
- Attack, hold, decay, sustain, release
- fv3::noisegen_pink_frac
- Pink noise generator
- fv3::noisegen_gaussian_white_noise_1
- Gaussian white noise generator
- fv3::noisegen_gaussian_white_noise_2
- Gaussian white noise generator
- fv3::noisegen_gaussian_white_noise_3
- Gaussian white noise generator
[L/R] Impulse Response Convolution
- fv3::irbase
- convolution base class
- fv3::irmodels
- time domain convolution
- fv3::irmodel1
- dft frequency domain convolution without fragments multiplier
- fv3::irmodel2
- dft frequency domain convolution with fragments multiplier
- fv3::irmodel2zl
- dft frequency domain convolution with fragments multiplier and zero latency
- fv3::irmodel3
- dft frequency domain convolution with multi types fragments multiplier and optimized zero latency
- fv3::irmodel3w
- dft frequency domain convolution with multi types fragments multiplier and optimized zero latency (Windows Thread)
- fv3::irmodel3p
- dft frequency domain convolution with multi types fragments multiplier and optimized zero latency (UNIX pthread)
[L/R] Reverb
- fv3::revbase
- an oversampling reverb base class.
- fv3::revmodel
- an original freeverb with some fixes.
- fv3::nrev
- a simple plate reverb algorithm in CCRMA clm library with stereospread and feedback enhancements
- fv3::nrevb
- fv3::nrev with comb/allpass filter enhancements and nested allpass feedback loops.
- fv3::strev
- an original type of a plate reverb algorithm in the Lexicon 224 developed by David Griesinger,
which was introduced by Jon Dattorro in the AES article. (signal flow)
- fv3::progenitor
- an allpass loop progenitor reverberator after Griesinger ca.1978. (signal flow)
- fv3::progenitor2
- an enhanced version of progenitor reverb with allpass diffusor.
- fv3::zrev
- Zita FDN reverb implementation.
- fv3::zrev2
- Zita FDN reverb with allpass diffusor and LFO chorus.
[L/R] Sampling Rate Converter
- fv3::src
- simple up/down sample rate conversion with wrapper of libsamplerate
[L/R] Other filters
- fv3::limitmodel
- limiter
- fv3::compmodel
- compressor
- fv3::stenh
- simple differential stereo enhancer
- fv3::fir3bandsplit
- 3 band splitter with FIR filter
Utilities
- fv3::blockDelay
- block delay used in convolution classes
- fv3::frag
- SIMD optimized fragment block multiplier
- fv3::slot
- L/R... block channels' allocator
- fv3::sweep
- linear and exponential sweep generator
- fv3::mls
- LFSR MLS generator
- fv3::firwindow
- FIR window
- fv3::utils
- CPU detection, misc...
