AmpEmulatorPlugin (🇪🇸)
This academic project [1] contains the implementation of a standalone application and VST3 plugin that uses artificial intelligence to emulate electric guitar amplifiers and pedals (overdrive, distortion, and compression) in real time. It is implemented using the JUCE framework, leveraging the C++ WaveNet model called WaveNetVA. Based on the works [2,3,6].
Originally developed as part of my Bachelor's Thesis for the Computer Engineering degree at the University of La Rioja (Spain), titled Deep Learning for Real-Time Emulation of Electric Guitar Equipment with Raspberry Pi 5. Conceptually based on the repositories WaveNetVA by Damskägg, Eero-Pekka, and SmartGuitarAmp by Keith Bloemer [4]. Complementary hardware developed as a deployment platform based on Proteus by Keith Bloemer [7]. I am very grateful for their contributions to the community, which not only helped me learn a lot but also allowed me to test my project using their plugins [5].
The application has two versions for Windows/x86:
- A standalone or desktop version compatible with the Focusrite Scarlett SOLO 3rd Gen audio interfaces.
- A VST3 plugin version compatible with any DAW (Digital Audio Workstation). Successfully tested with Reaper.
A standalone version for Linux/aarch64 will soon have a release.
(Left) User interface of the standalone application
(Right) VST3 plugin embedded in Reaper
The repository contains the code for a project using the JUCE framework, specifically version 5.4.2. This is an outdated version that is no longer available for download from official repositories, as it has been removed, though unofficial forks still exist. The project had to be compiled with this version due to dependencies introduced by WaveNetVA. I do not recommend compiling it manually; in our case, setting up the development environment correctly was very challenging. If you still wish to do so, below are some tips to help.
After obtaining JUCE 5.4.2, it must also be compiled. This framework integrates with Visual Studio, from which the project can be launched and compiled. The required
gccversion for compiling everything must be strictly < 9.
The project depends on two external libraries: Eigen and the Steinberg ASIO SDK, in versions 3.3.7 and 2.3.3, respectively. For JUCE to detect them, you must create a./Librariesfolder.
It is likely that many dependencies will be broken due to the newly installed JUCE version, in which case you’ll need to fix them manually within JUCE.
Once JUCE is installed, open the project using the AmpEmulatorPlugin.jucer file and launch it with Visual Studio. From the IDE, it’s as simple as compiling in release mode (otherwise, the necessary optimizations won’t be applied, and it won’t work in real time).
Generate the Makefile using JUCE. Install the following dependencies:
sudo apt-get install libtiff-dev
sudo apt-get libwebkit2gtk-4.0-devNavigate to the newly created ./Builds/LinuxMakefile folder and run make. You’ll need to modify the dependency linking in the Makefile and set make config=Release.
The standalone application for Linux/aarch64 has been tested and works in real time on the Raspberry Pi 5 with the default operating system, Raspberry OS. In the project this repository is part of [1], a fully functional digital pedal is built, and a list of the materials and circuit used is provided. Using this application or others like [6,7], you can easily build a fully operational, high-fidelity homemade pedal or amplifier. The pedal concept is based on the Proteus pedal by Keith Bloemer [7].
[1] Jiménez Santana, J.: "Aprendizaje profundo para la emulación en tiempo real de equipamiento de guitarra eléctrica con Raspberry Pi 5." Zenodo (2025). DOI
[2] Wright, A. et al.: "Real-Time Guitar Amplifier Emulation with Deep Learning." Applied Sciences (2020). DOI
[3] Van den Oord, A. et al.: "WaveNet: A Generative Model for Raw Audio." arXiv (2016). DOI
[4] Bloemer, K.: PedalNetRT, GitHub. (2020).
[5] Damskägg, E.-P.: WaveNetVA, GitHub. (2019).
[6] Bloemer, K.: SmartPluginAmp, GitHub. (2020).
[7] Bloemer, K.: Proteus, GitHub. (2023).
Author: Javier Jiménez Santana
Supervisors: Jose Divasón Mallagaray, Silvano Nájera Canal



