Effect processor and reverb response generator utilities

Description

The package contains two utilities:

A reverb response generator, that can render reverb impulse responses either by processing noise, or room simulation (spat3dt).

A simple effect processor with these features:

[+] Spatialize mono input with optional movement described in function tables.
[+] Various spatial models can be selected (HRTF, simulate microphone pair, UHJ, or even simple stereo).
[+] Optional stereo input file.
[+] 4-band parametric equalizer and volume control on output.
[+] Add reverb using convolve file, with automatic removal of leading silence added by convolve opcode, and expanding length by reverb time.
[+] 4 delay lines with optional feedback, 3-band parametric equalizer on input, and 1-band parametric equalizer for feedback. Feedback and initial delay time, as well as attenuation, can be controlled separately. The output of all delay lines can be positioned by specifying azimuth, elevation and distance.
[+] 4 additional variable delay lines using 24-point interpolation, with LFO controlling delay time; of course, all the features (equalizers, spatialization etc.) of the fixed delay lines are available as well.

Installation

To install this package, you also need the include files which contain macros for spatialization. These include files can be downloaded from this page. The Csound scripts package is also required from here. After unpacking the sources with

tar -xpzvf EffectProc-1.2.0.tar.gz ; cd EffectProc-1.2.0

installation can be done with the install.sh script. Scripts and binaries will be installed to /usr/local/bin, while Csound orc and sco files to INCDIR, or, if it is not set, /Csound/Include.
It is also possible to install manually, although not as easy (note: some of the files mentioned below can be found in the Reverb-1.2.0 or source subdirectories, so it is recommended to check these directories when copying files):

[+] Create the directory EffectProc-1.2 in INCDIR, and copy EffectProc-1.2.orc and Extract.orc to it.
[+] Copy the files Configure.effect.orc, Parameters.effect.sco, Parameters.Reverb, and ReverbGen.orc to INCDIR.
[+] Copy all files with the ".sh" extension (with the exception of install.sh and uninstall.sh) to a directory that can be found in PATH.
[+] Compile TestCvFile2.c and copy the resulting executable file to a directory in PATH.

Usage

There are two utilities included with this package: a reverb response generator, and an effect processor.

Reverb generator usage

ReverbGen.sh <scorefile> <outfile> <srate> <spatmacro> [options ...]

Where <scorefile> is a file in Csound score format that stores reverb parameters (see Parameters.Reverb for an example with comments). <outfile> is the output file name, <srate> sets the sample rate of the output file in Hz, and <spatmacro> specifies the spatial model to be used; the allowed settings are MonoStereo, BaseStereo, SpatStereo, PhseStereo, UHJ_Stereo, and HRTFStereo (more information can be found here). Note that HRTF mode requires a sample rate of 44100 Hz.

There are two additional options available: if --play is specified, the generated impulse response is played back on sound card, while --nocv results in a floating point IRCAM format sound file being generated instead of the default convolve file.

Effect processor usage

EffectProc.sh <infile> <outfile> <conf.file> <scorefile> \
              [-r reverb_file] [-s stereo_infile]

<infile> is the (mono) input file, and <outfile> is the output file name. <conf.file> and <scorefile> specify the files that store effect settings (see Configure.effect.orc and Parameters.effect.sco for examples).

reverb_file (optional) is a stereo convolve file (sample rate must be the same as that of <infile>), normally generated by ReverbGen.sh; if it is not specified, the default is Reverb.cv.

stereo_infile is an optional stereo input file with the same sample rate as <infile>. This stereo file contains the a_L_ and a_R_ outputs of spatial macros, while <infile> is rendered by mixing all the a_ inputs (note: this can be done with the outs opcode for stereo output, and soundout for mono, although the output of the latter should be converted to a headered format to be recognized by the effect processor utility).

Download

You can download the effect processor utility from here.

Back to utilities page

Back to home page