GuitarML / SmartGuitarPedal

Guitar plugin made with JUCE that uses neural network models to emulate real world hardware.
https://www.facebook.com/smartguitarml
Apache License 2.0
264 stars 24 forks source link

SmartGuitarPedal

Downloads CI

Guitar plugin made with JUCE that uses neural network models to emulate real world hardware.

app

This plugin uses a WaveNet model to recreate the sound of real world hardware, such as a TS9 Tubescreamer or Blues Jr amp. Drive and Level adjust the signal gain before and after the WaveNet model processing. As of version 1.5, the SmartPedal can run models conditioned on a single parameter, such as a gain control. When conditioned models are loaded, the LED graphic will change colors from red to blue, and the Drive knob will control the conditioned parameter.

The WaveNet model is effective at emulating distortion style effects or tube amplifiers, but cannot capture time based effects such as reverb or delay. You can capture the sound of an amplifier either by recording with a microphone, or direct out from a load box. When running "Direct Out" models, you will need to use an Impulse Response plugin to accurately model the amp speaker/cabinet.

You can create your own models and load them in SmartGuitarPedal using the PedalNetRT repository directly, or by using the Capture Utility files (available for download at GuitarML.com) with Google Colab and following the Video Tutorial.

Model training is done using PyTorch on pre recorded .wav samples. More info in the above repository. To share your best models, email the json files to smartguitarml@gmail.com and they may be included in the latest ToneLibrary release.

Also see companion plugin, the SmartGuitarAmp

Installing the plugin

  1. Download the appropriate plugin installer (Windows, Mac, Linux) from the Releases page.
  2. Run the installer and follow the instructions. May need to reboot to allow your DAW to recognize the new plugin.

Build Instructions

Build with Cmake

# Clone the repository
$ git clone https://github.com/GuitarML/SmartGuitarPedal.git
$ cd SmartGuitarPedal

# initialize and set up submodules
$ git submodule update --init --recursive

# build with CMake
$ cmake -Bbuild
$ cmake --build build --config Release

The binaries will be located in SmartPedal/build/SmartPedal_artefacts/

Loading hardware models

Use the Load Model button to select a folder containing SmartPedal json models. Note that models for NeuralPi and SmartAmpPro use a different model architecture and will not be compatible. Only WaveNet models trained using PedalNetRT are compatible with SmartPedal and SmartAmp.

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

This project builds off the work done in the WaveNetVA repository.

Special Thanks

Special thanks to Stefan Schmidt for the graphics in SmartPedal version 1.5. These were created from a Blender model and rendered using the Cycles render engine.