This is the code base for the Honours thesis project submitted to the University of Queensland by Michael Holmes 2022.
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.
A demo audio plugin was also created using iPlug2 and can be downloaded here.
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.