A good sounding reverb can be a tricky audio effect to achieve. An artificial reverberation algorithm with multiple filters and delay lines can consist of a high number of adjustable parameters and the task of tweaking these parameters to achieve the desired reverberation can take hours or days even for a skilled audio engineer. Estimating a large number of parameters to reach a desired target is a use case that fits well into the subject of machine learning and neural networks. For this project I propose an adaptation of a neural network model to estimate a large set of parameters of a reverberator with the purpose of tuning that reverberator to emulate a target reverberated audio signal
This repository contains:
- a Jupyter Notebook with the neural network setup - ReverberatorEstimator.ipynb
- a folder containing python implementation of custom layers and loss - ReverberatorEstimator
- a small dataset for running the training - Dataset
- a small Notebook for checking and writing out the parameters of a VST3 plugin TestParameters.ipynb
- a requirements.txt for Python environment setup - requirements.txt
The code can be tried out using the Jupyter Notebook ReverberatorEstimator.ipynb.
Audio examples can be found at https://vogglyster.github.io/ReverberatorEstimator/
A custom implementation of a feedback delay network reverberator has been made as a VST3 using JUCE.
The source code to the repository can be found here, and the latest version compiled for x86_64 Ubuntu 18.04 can be found here