Genetic Reverb - Genetic Algorithm-based VST Reverb Plugin

Version 3.5.2.1 (21.5 MB) by Edward Ly
VST plugin that performs convolution reverb from random room impulse responses generated via a genetic algorithm.
181 Downloads
Updated 27 Dec 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:

https://www.youtube.com/watch?v=Ef1d6nr7TqE

This plugin was selected as a finalist in the MATLAB Plugin Student Competition at the 147th AES Convention in New York, 2019, then later published in the Special Issue "Artificial Intelligence and Complexity in Art, Music, Games and Design" of the journal "Entropy".

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.

Cite As

Ly, Edward, and Julián Villegas. “Generating Artificial Reverberation via Genetic Algorithms for Real-Time Applications.” Entropy, vol. 22, no. 11, MDPI AG, Nov. 2020, p. 1309, doi:10.3390/e22111309.

View more styles
MATLAB Release Compatibility
Created with R2020b
Compatible with R2020a and later releases
Platform Compatibility
Windows macOS Linux
Categories
Find more on Audio Processing Algorithm Design in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
3.5.2.1

See release notes for this release on GitHub: https://github.com/edward-ly/GeneticReverb/releases/tag/3.5.2.1

3.5.2

Modified user parameters, multiple bug fixes.

3.2.1

Added predelay parameters, modified genetic algorithm, changed some parameter defaults and implementation

3.1.1

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.

2.2.0

-Added parameter that enables/disables normalization of stereo IRs based on RMS amplitude
-Code optimizations

2.1.0

Added an additional toggle parameter to trigger the genetic algorithm to generate new impulse responses (instead of triggering by changing each GA parameter individually).

2.0.1

- 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.

1.4.2.2

Updated description

1.4.2.1

Fixed description

1.4.2

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

1.4.1

Updated master branch

1.4.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.