[ Freeverb3VST.OSDN.JP | Freeverb3@Savannah | OSDN.NET ]

Freeverb3_VST Tutorial


Freeverb3 Impulser2

Freeverb3VST_Impulser2 is a multithread multislot impulse response convolution processor with a output protection limiter. The old versions does not have a parameter to disable this output protection limiter, which might causes higher CPU loads and output signals' pop noises and skews. If you want to disable the limiter in the old versions to prevent signals from being skewed, you should set the THR to 0 and CER to 0. If you set those parameters above 0, the output signals will be too large, which might causes some troubles to your ears and instruments.

This plugin supports many types of audio files as a impulse response file, which is the same as the file types supported by libsndfile. See the libsndfile for the supported file types. You can select the file types using the pull down menu in the file open dialog. You can use the FLAC and Vorbis files too.

Current version supports mono and stereo channel only. The channels greater than 2 will be ignored. If you want to use true-stereo IR files, you will have to separate the file into 2 files.

The small help window will appear if you click the version string.

You can also move the slider with the shift + drag.


THR is a threshold for the limiter. CEI is a ceiling for the limiter. REL is a release time for the limiter. DRY is a dry signal [dB]. WET is a wet signal [dB]. LPF is a 1-pole lpf. HPF is a 1-zero HPF. IDL is a initial delay [ms]. WID is a width of the wet signal. STR is a time-stretch factor [x1] of the impulse file.

The M2S button enables Mono2Stereo mode. The left and right input signals are added and stereo-processed.

The SWAP button enables L to R swap mode. The stereo signals are stereo-processed and the L and R signals are swapped and outputted.

The MUTE button will be used to mute the current slot.

To load the impulse response file, use the LOAD button and the right arrow slot selection button. For example, if you want to load A file to slot [0], push the box next to [0] and load A using the LOAD button.

DRY/WET: dry/wet signal (dB)
LPF/HPF: 1-pole/1-zero lpf/hpf (0~1)
IDL: Initial Delay (ms)
WID: Stereo width (%)
STR: IR stretch
M2S: Input signal will be (L+R)/2
SWAP: Swap LR of output signal
LRB: L/R balance
IATT: IR control - Attack Time
IHOL: IR control - Hold Time
IDEC: IR control - Decay Time
ISUS: IR control - Sustain Level
IREL: IR control - Release Time
THR: Limiting threshold (dB)
CEI: Target Ceiling (dB)
REL: Release time (ms)


The configuration file's section name for this plugin is [Freeverb3VST_Impulser2]. The log file(freeverb3ir2.txt) will be created under the same directory of DLL files if you specify "outputLog" to "1". "converterType" is a parameter of libsamplerate. When the sampling rates of the processing audio and the impulse response file differs, the IR signal will be resampled using this parameter. If the program cannot process the signals in realtime or too slow to load the IR files, you should specify large number, but the quality is lower. "multiThread" option enables the multithread convolution function for the convolution reverb. This option should be "1" (enable MT) if you have multiple (core) CPUs. This option should be "0" (off) if you encounter some troubles. The "fragmentSize" and "factor" are the important key value for convolution processing and must be 2^n. The optimized parameters of these keys depend on each environment and should be decided carefully.

Example pair 1 : FragmentSize=128, Factor=16

Example pair 2 : FragmentSize=128, Factor=32

If you encounter some pops and cracks while using this effect, you might to able to choose the better key value of the framentSize and factor.

MIDI messages

The Impulser2 plugin can receive MIDI messages, which can be used to control the load/unload of the Impulse Response files during the playback. This function is still under development and might cause problems and might be changed.

1. Place the program file called "freeverb3prg.xml" under the same directory as the Freeverb3_Impulser2.dll. The xml file should be editable in notepad.exe and should be encoded in UTF-8.

<?xml version="1.0" encoding="UTF-8"?>
<fv3:ir fv3:msb="0" fv3:lsb="0" fv3:prg="0" fv3:file="C:\IR\Test1.wav"/>
<fv3:ir fv3:msb="0" fv3:lsb="0" fv3:prg="1" fv3:file="C:\IR\Test2.wav"/>
<fv3:ir fv3:msb="0" fv3:lsb="0" fv3:prg="2" fv3:file="C:\IR\Test3.wav"/>
<fv3:ir fv3:msb="2" fv3:lsb="2" fv3:prg="2" fv3:file="C:\IR\Test33.wav"/>

2. Send MIDI messages to Impulser2 VST plugin.

// [9n oo vv] NOTE ON
// vv=0x0 or 0x3 : none
// vv=0x1 : load (MSB/LSB/Note(oo)) to slot[channel(n)] (foreground)
// vv=0x2 or 0x4~0x7f : load (MSB/LSB/Note(oo)) to slot[channel(n)] (background)
// * If the specified (MSB/LSB/Note(oo)) is not in the registered XML file, the slot IR will be background unloaded.
// [8n oo vv] NOTE OFF
// vv=0x0 or 0x4~0x7f : none
// vv=0x1 : unload (foreground)
// vv=0x2 : unload (background)
// [bn 00 nn] set channel(n) MSB to nn
// [bn 20 nn] set channel(n) LSB to nn

The foreground load means that the process will stop and wait for the finish of the load. The backrgound load means that the process does not stop during the load, but the time of the finish of the load is not predictable.

You can change the IR program by only pressing the MIDI keyboard. If you press the note whose IR is not registered, the slot will be unloaded.

MIDI Message Examples

1. To load and unload C:\IR\Test1.wav(MSB=0,LSB=0,PRG=0) to Slot 0:

b3 00 00 MSB->0
b3 20 00 LSB->0
90 00 20 note on = Load in background
80 00 20 note off = Do nothing

To unload Slot 0 in background:
90 03 20 note on = Unload in background since 0/0/3 is not registered.
80 03 20 note off = Do nothing

2. To load and unload C:\IR\Test33.wav(MSB=2,LSB=2,PRG=2) to Slot 3:

b3 00 02 MSB->2
b3 20 02 LSB->2
93 02 02 note on = Load in background
83 02 04 note off = Do nothing

To unload Slot 3 in background:
93 02 03 note on = Do nothing
83 02 02 note off = Unload in background

If you want to cycle unload/load, you can use like this:
93 02 02 note on = Load in background
... (slot is loaded)
83 02 02 note off = Unload in background

Valid XHTML 1.1 Valid CSS!SourceForge.JP

[ Freeverb3VST.OSDN.JP | Freeverb3@Savannah | OSDN.NET ]