This is the code base for the Honours thesis project submitted to the University of Queensland by Michael Holmes 2022.
New GUI!!
Now the plugin has a modern look and the weights of each neural network can be visualised in real-time.
The following papers were highly influential in guiding this project:
- Efficient neural networks for real-time modeling of analog dynamic range compression by Christian Steinmetz and Joshua Reiss.
- Real-time black-box modelling with recurrent neural networks by Alec Wright, Eero-Pekka Damskägg, and Vesa Välimäki
This repo can be used to train RNN, LSTM and GRU neural networks and convert these networks into efficient C++ code for use in audio plugins.
The trained models from the thesis project can be downloaded here.
An audio plugin was created using iPlug2 and can be downloaded in the releases tab. *Note for best sound quality please run the plugin at a sample rate of 48kHz. Additional sample rates to be added in the future.
This repo is split into 2 modules: Training
and Plugin
. Detailed usage instructions are available inside each module.
Code for training and testing the PyTorch models. A script is supplied for converting these models into C++ headers to use with the Plugin
module.
The iPlug2 project file is supplied along with quick C++ implementations that can be used in other projects.