Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/GuitarML/SmartAmpPro into main
Browse files Browse the repository at this point in the history
  • Loading branch information
GuitarML committed Jan 29, 2021
2 parents 2176501 + 88fb26a commit 13c56bf
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
Guitar plugin made with JUCE that uses neural network models to emulate real world hardware.
This plugin uses a LSTM model to recreate the sound of real amps and pedals. You can record
samples and train models from the plugin. Tone models are saved in .json format. Model training
is accomplished using Tensorflow/Keras. The main improvement from the original SmartAmp is
training takes less than five minutes on CPU (vs. GPU) for comparable sound quality. Training has
also been integrated into the plugin.
is accomplished using Tensorflow/Keras. The main improvement from the original SmartAmp is that
training takes less than five minutes on CPU (vs. 8 hours on GPU) for comparable sound quality.
Training has also been integrated into the plugin.

![app](https://github.com/GuitarML/SmartAmpPro/blob/main/resources/plugin.jpg)

Expand Down Expand Up @@ -66,7 +66,7 @@ directory to the chosen location.
Note: The original SmartAmp/PedalNetRT .json files are not compatible with this plugin because it is a
different machine learning model. Only use tone files trained from SmartAmpPro.

### Capturing .wav samples for model training:
### "Start Capture" button:

1. Click the "Start Capture" button and enter a model name to save. Ensure this name contains no spaces.
2. After saving, the plugin will begin a 10 second coundown followed by a 3 minute recording session.
Expand All @@ -78,7 +78,7 @@ different machine learning model. Only use tone files trained from SmartAmpPro.
Note: The playing prompts such as "Play loud!" that appear while training are suggestions, and don't need to be
followed exactly to successfully train a model.

### Training .json models from recorded .wav samples.
### "Train Tone" button:

The Python dependencies from the ```requirements.txt``` file must be installed on your system (not a virtual env)
for the tone training to work.
Expand All @@ -98,6 +98,13 @@ for the tone training to work.
Note: You can modify the train.py script to test different parameters, but it may produce undesired results in the plugin. Recommended to only
modify the number of epochs, learning rate, or the number of hidden units of the LSTM layer.

See the GuitarLSTM repo for more information on how training works, and tips for creating sample recordings:
https://github.com/GuitarML/GuitarLSTM<br>

**Colab Notebook**:
Use Google Colab notebook (train_colab.ipynb) for training
SmartAmpPro models in the cloud. See notebook comments for instructions.


## Build Instructions

Expand All @@ -121,6 +128,7 @@ Dev Note: The above dependencies were chosen to facilitate rapid prototyping. It

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


## Future Work

This plugin is designed to showcase the speed at which the guitar models can be trained. Using models with larger
Expand Down

0 comments on commit 13c56bf

Please sign in to comment.