# Freeverb3 library Class Overview

L/R block process classes have LR process functions like void processreplace
(fv3_float_t *inputL, fv3_float_t *inputR, fv3_float_t *outputL, fv3_float_t *outputR, long numsamples).
Single signal process classes have functions like fv3_float_t process (fv3_float_t input).

## Impulse Response Convolution

L/R block process class

- fv3::irbase
- convolution base class
- fv3::irmodels
- time domain convolution
- fv3::irmodel
- 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
(multithreaded version for Windows Threads)

## Reverb

L/R block process class

- 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.

## Stereo Ehnancer

L/R block process class

- fv3::stenh
- simple differential stereo enhancer

## Sampling Rate Converter

L/R block process class

- fv3::src
- simple up/down sample rate conversion with wrapper of libsamplerate

## Limiter/Compressor

L/R block process class

- fv3::limitmodel
- limiter
- fv3::compmodel
- compressor

## SIMD Block Multiplier

SIMD fragment process

- fv3::frag
- SIMD optimized fragment block multiplier

## DSP filters

single signal process

- fv3::allpass
- delay with allpass filter
- fv3::biquad
- biquad (2nd order IIR) filter
- fv3::comb
- comb filter
- fv3::delay
- simple delay filter
- fv3::efilter
- simple 1-Pole LPF + 1-Zero HPF filter
- fv3::iir_1st
- 1st order IIR filter with LPF/HPF
- fv3::dccut
- 1st order IIR DC Cut filter
- fv3::rms
- RMS calculator
- fv3::slimit
- limiter
- fv3::socmp
- compressor
- fv3::lfo
- LFO

## Utilities

misc

- fv3::blockDelay
- block delay used in convolution classes
- fv3::slot
- L/R... block channels' allocator
- fv3::utils
- misc