
Freeverb3 is a sound processing library which includes sampling rate scaling
enabled version of freeverb with some fixes, extended implemantation of
N Reverb by CCRMA, implementation of impulse response convolution reverb,
FIR filter constructor, band splitter and compressor.
This library's oversampling feature will provide high quality of audio processing.
The convolution reverb is highly optimized for x86 processors using
hand written codes of 3DNow!/SSE for single precision and SSE2 for double precision,
which can be used for zero latency realtime sound effect processing.
This library includes XMMS /
beep media player (BMP) /
audacious
plugins and sample programs,
which can be used to test the sound effect easily.
Please report any bugs or advices.
This library also includes VST plugin (vstsdk 2.4) which can be used in various VST host applications.
Effects in Freeverb3
- Impulse Response Reverb Processor
- This library uses FFTW3
as a DFT library. IRRP XMMS / audacious plugin uses
libsndfile
as a IR loading library, which is capable of reading many types of audio files including
32/64-bit float PCM files.
- Enhanced Freeverb
- More precise processing.
- Enhanced NVerb
- Stereospread and feedback enhancements.
- 1-Pole/1-Zero LPF/HPF
- Used from other effects.
- Sampling Rate Converter
- Wrapper of libsamplerate.
- SoftKnee/HardKnee Simple Compressor with RMS/envelope detector
- Simple compressor.
- FIR LPF/HPF/BPF/BEF
- FIR: low pass filter, high pass filter, band pass filter, band emission filter.
- Linear Phase 3band frequency splitter
- FIR band splitter.
- Linear phase multi band compressor
- FIR band splitter + 3compressors.
Sound Effect Samples
- Original Sound 1(mp3)
- NReverb of Sound 1(mp3)
- Preset - Hall1
- Freeverb of Sound 1(mp3)
-
NReverb + Multiband Compressor of Sound 1(mp3)
- Original Sound 2(mp3)
- Impulse Response Reverb of Sound 2(mp3)
- Vredenburg large concert hall/Center to far omnis.wav
-
Multiband Compressor of Sound 2(mp3)
- Original Sound 3(mp3)
- Impulse Response Reverb of Sound 3(mp3)
- St Joseph Church/St Joseph church - c2s front cardC.wav
Freeverb3 XMMS/BMP/audacios plugin specifications (CVS version)
- XMMS
- 1.2.10
- Beep Media Player
- 0.9.7.1
- audacious
- 1.4.0 (including realtime SRC mode)
- Sampling rate
- Tested rates are 32kHz, 44.1kHz, 48kHz, 96kHz and 192kHz,
but any sampling rate may be supported.
- Output Precision
- 16bit
- Internal Precision
- 32bit/64bit float + dithering by libgdither
- Latency
- Default is 16384. This can be changed to 0 or 2^N (8192, 16384, ...)
- Impulse length
- 2^31(Under 30s is tested.)
- Maximum number of multi convolution slots
- 32
Freeverb3 VST plugin specifications (CVS version)
- Target platform
- Windows(NT, 2000, XP)/32bit
Windows(XP, 2003)/64bit (only for testing)
- VSTSDK
- 2.4
- VSTGUI
- 3.0 beta4
- Sampling rate
- Tested rates are 32kHz, 44.1kHz, 48kHz, 96kHz, 192kHz and 384kHz,
but any sampling rate may be supported.
- Precision
- 32bit float (single precision)/64bit float (double precision)
- Latency (Impulse Response Processor)
- Default is 0. This can be changed to 2^N (8192, 16384, ...)
- Latency (NReverb, Freeverb)
- Depends on the sampling rate
- Latency (WindCompressor)
- Depends on the transition band
- Impulse length
- 2^31(Under 30s is tested.)
- Tested VST host applications
- Yamaha SOL2 (V2.0.9J),Magix Samplitude 7.0 Professional,
Steinberg Cubase SX 3,REAPER v1.876
Where to Get Impulse Responses
- Noisevault Studio and Convolution Forums
- CKSDE - Download
- SYVERB
- Samplicity
- Voxengo Pristine Space
- Voxengo Free reverb
- Echochamber.ch
- echochamber's impulse responses
- Voilins
- Impulse Responses Made by Fokke van Saane
- Interruptor's music - Club Simulation
- Prosoniq Impulse Reponse Download
- K7 Sounds
Project Pages and Packages
- Project Main
- Project Download
- Project CVS Browse
-
Binary Packges by PackMan (SuSE 9.3 10.0 10.1 10.2 i586/x86_64)
Required libraries and programs
- FFTW3
- libsndfile
- libsamplerate(merged)
- XMMS
- BMP
- Audacious
Sample Impulses
The freeverb3 distribution package contains following impulse responses.
- 101-cup.wav
- 101-st.wav
- IR_theater.wav
- LargeCave.wav
- iR_cathedral.wav
- loudsp.wav
- minisp.wav
- oooh.wav
- tv.wav
This reverb archive includes following impulse responses.
- AcousticMirror-Chapel.wav
- AcousticMirror-Greathall.wav
- CoolEdit-ConcertHall.wav
- DSP-FX MediumHall.wav
- DSP-FX MediumRoom.wav
- Digitech-GigaVerb.wav
- HyperVerb-BrightLargeHall.wav
- HyperVerb-MediumHall.wav
- HyperVerb-MediumHall2.wav
- HyperVerb-MediumHall3.wav
- HyperVerb-StateCapitol.wav
- Lexicon 480L-SmallStage2.wav
- SoundForge-RichHall.wav
- TCWorks-NativeReverbDemo.wav
- TrueVerb IR.wav
- TrueVerb-MediumConcert.wav
- WaveLab-HallReverb.wav
Similar Softwares and Projects
- Altiverb
- audioease - Convolution reverb plug-in for Mac OS X and Windows XP
- IR-1
- Waves - IR-1 Parametric Convolution Reverb V2
- TASCAM GIGAPULSE
- Convolution Reverb Plug-in based on actual sampled spaces
- Voxengo Pristine Space
- Pristine Space is a native audio plug-in which allows you
to use convolution reverb impulses in your audio projects.
- Elevayta Convo Boy
- Convo Boy is an "easy to use" convolution engine that can load
stereo or mono .wav based Impulse Response functions.
Convo Boy differs from Convo Boy LITE in the features that are available and
the minimum latency that can be achieved. Audio sound quality is no different.
- Elevayta Convo Boy LITE
- Convo Boy LITE is an "easy to use" convolution engine that can load
stereo or mono .wav based Impulse Response functions.
- Teragon Audio::Convolver (freeware)
- This plugin has a built-in file browser, gain adjustment,
and can do high/low-pass filtering, which are applied to
the impulse response directly before convolution.
- SIR (shareware)
- Free Impulse Response Processor
- Convolver (sourceforge)
- An open source, high performance Windows application for applying finite impulse response (FIR) filters
- DRC: Digital Room Correction (sourceforge)
- DRC generates digital room correction FIR filters to be used within HiFi systems
in conjunction with real time convolution engines like BruteFIR.
- BruteFIR
- BruteFIR is a software convolution engine, a program for applying
long FIR filters to multi-channel digital audio, either offline or in realtime.
Its basic operation is specified through a configuration file,
and filters, attenuation and delay can be changed in runtime through
a simple command line interface. The FIR filter algorithm used is an
optimised frequency domain algorithm, partly implemented in hand-coded assembler,
thus throughput is extremely high. In realtime, a standard
computer can typically run more than 10 channels with more than 60000 filter taps each.
- Shibatch Audio Tools
- SSRC, FIR equalizer, deconvolver, MP3 decoder, noise shaper.
This page cannot be viewed from Jaanese host.
Tips for Zero Latency mode
Zero Latency mode's speed depends on the size of period time.
The period time should not be too small since fixed length of DFT
calculations will be repeated. 8192 is the default frame size for
K7/PentiumIII/Pentium4 machines.
XMMS/Audacious Realtime Effect Tips for Very Slow Machines
The period time should be small since it takes long time to process
one large fragment of PCM data.
The buffer time or buffer size should be large since
the Audio Stream often stalls.
16384 is the default frame size for normal K7/PentiumIII/Pentium4 machines
Waves IR1 .wir file format
// 32bit LE
typedef struct{
char magic[4]; // "wvIR"
int fileSizeLE; // filesize-8
char version[8]; // version "ver1fmt "
int headerSizeLE;
short int i3; // 0x3
short int channels;
int fs; // impulse Fs
int fs2;
short int i4; // MONO 0x4 STEREO 0x8 4CH 0x10
short int i5; // 0x17
char data[4]; // "data"
} WirHeader;
// rest of the data is FLOAT_LE (32bit float)
Adobe Audition .imp file format
//32bit LE
typedef struct{
char magic[4]; // "impf"
int size; //
int i1; //
int i2; //
} ImpHeader;
// rest of the data is FLOAT64_LE (64bit float)
Limiter/Compressor curve sample