/NNComp

Real-time recurrent neural networks for audio plugins

Primary LanguageC++MIT LicenseMIT

NNComp

This is the code base for the Honours thesis project submitted to the University of Queensland by Michael Holmes 2022.

Update 2023

New GUI!!
Now the plugin has a modern look and the weights of each neural network can be visualised in real-time.

Screenshot

Acknowledgements

The following papers were highly influential in guiding this project:

Introduction

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.

Contents

This repo is split into 2 modules: Training and Plugin. Detailed usage instructions are available inside each module.

Training

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.

Plugin

The iPlug2 project file is supplied along with quick C++ implementations that can be used in other projects.