Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

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

License

Notifications You must be signed in to change notification settings

glissando-daw/SmartGuitarAmp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartGuitarAmp

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

See video demo on YouTube

This plugin uses a WaveNet model to recreate the sound of real world hardware. The current version models a small tube amp, with the ability to add more options in the future. There is a clean/lead channel, which is equivalent to the amp's clean and full drive settings. Gain and EQ knobs were added to modulate the modeled sound.

app

You can create your own models and load them in SmartGuitarAmp with minor code modifications. To train your own models, use PedalNetRT

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 [email protected] and they may be included in the latest release as a downloadable zip.

Also see compainion plugin, the SmartGuitarPedal

Installing the plugin

  1. Download plugin (Windows 10, Mac, Ubuntu Linux) here
  2. Copy to your DAW's VST directory (for Mac, use .dmg installer or copy AU/VST3 to desired folder)

Build Instructions

  1. Clone or download this repository.
  2. Download and install JUCE This project uses the "Projucer" application from the JUCE website.
  3. Download Eigen Extract Eigen to a convenient location on your system (will be linked with Projucer)
  4. Open SmartGuitarPedal.jucer file with Projucer
  5. Add the <full_path_to>/ Eigen folder to "Header Search Paths" in Exporters -> Debug/Release
  6. Open and build project in Visual Studio (Windows), Xcode (Mac), or Code::Blocks/Makefile (Linux)

Note: Make sure to build in Release mode unless actually debugging. Debug mode will not keep up with real time playing.

Using your own custom trained models (or models from the TonePack)

Use the "Load Tone" button in the plugin to load tone models trained with PedalNetRT. The current channel's EQ/gain will be applied to the custom tone. Switching the clean/lead channel unloads the custom tone and reloads the channel's default tone.

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 WaveNetVA

The EQ code used in this plugin is based on the work done by Michael Gruhn in 4BandEQ algorithm.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 100.0%