Freeverb3 Reverb Impulse Response Processor

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.

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

Audacious ALSA Audacious OSS

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

Limiter Curve Compressor Curve

Valid XHTML 1.1 SourceForge Logo