File Exchange

image thumbnail

Genetic Reverb - Genetic Algorithm-based VST Reverb Plugin

version 3.2.1 (2.97 MB) by Edward Ly
VST plugin that performs convolution reverb from random room impulse responses generated via a genetic algorithm.

1 Download

Updated 17 Aug 2020

GitHub view license on GitHub

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 ( or the Convolution Reverb device in Ableton Live ( 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 file.

Cite As

Edward Ly (2020). Genetic Reverb - Genetic Algorithm-based VST Reverb Plugin (, GitHub. Retrieved .

Comments and Ratings (0)



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
-Code optimizations


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).
- Stereo impulse responses now normalized so that RMS levels are equal.
- Multiple improvements to genetic algorithm.
- Updated parameters list and values.
- etc.

Updated description

Fixed description


- Re-tuned default parameter values
- Improved readability of comments
- Function validations


Updated master branch

MATLAB Release Compatibility
Created with R2019b
Compatible with R2018b to any release
Platform Compatibility
Windows macOS Linux