Updated 17 Aug 2020
A VST 2 audio effect plugin written in MATLAB that uses a genetic algorithm to generate a random impulse response describing the reverberation of an artificial room, and uses the impulse response to apply convolution reverb to a signal in real-time. A MATLAB script version (main.m) is also available, which accepts a WAV audio file as input instead. The input is combined with the impulse response via convolution, applying the reverb effect to the pre-recorded audio.
Since no two impulse responses will ever be the same, both the script and the plugin are also able to save the generated impulse responses to new files as well. You can then load the generated impulse response files into other programs such as my simple IR Reverb Pure Data patch (https://github.com/edward-ly/reverb-pd) or the Convolution Reverb device in Ableton Live (https://www.ableton.com/en/packs/convolution-reverb/) to perform the same reverb effect.
A video explaining and demonstrating (an older version of) the plugin is below:
This plugin was selected as a finalist in the MATLAB Plugin Student Competition at the 147th AES Convention in New York, 2019.
For details regarding generating and running the plugin as well as an explanation of the user parameters in the plugin, see the included README.md file.
Edward Ly (2020). Genetic Reverb - Genetic Algorithm-based VST Reverb Plugin (https://github.com/edward-ly/GeneticReverb), GitHub. Retrieved .
Added predelay parameters, modified genetic algorithm, changed some parameter defaults and implementation
Major reworks to the genetic algorithm (esp. in the initialization step) as well as to the plugin parameters and UI window. Also, a new IR is now automatically generated using initial settings when the plugin is run for the first time.
-Added parameter that enables/disables normalization of stereo IRs based on RMS amplitude
Added an additional toggle parameter to trigger the genetic algorithm to generate new impulse responses (instead of triggering by changing each GA parameter individually).
- Added ability to save current impulse response to new file (requires write access).
- Re-tuned default parameter values
Updated master branch