Comments (6)
Glad to hear you are excited about it, and not a dumb question at all. The amp is intended to be more like a traditional guitar plugin, with no extra setup other than the VST, so the models are packed into the executable when compiling. Here are the steps to change out the models:
-
Open up the project in Projucer and add your json models as a Resource. Right click "Resources", add existing files, and make sure to check "Binary Resource".
-
Open the Visual Studio solution (or other target IDE). You should see the new .json model files under "Resources" in the solution explorer.
-
Open PluginProcessor.cpp and edit lines 208 or 219 (this determines which model is used on the Lead or Clean channel):
(208) WaveNetLoader loader2(BinaryData::bluej_fullD_p0153_json); --> WaveNetLoader loader2(BinaryData::YOUR_NEW_LEAD_MODEL_json); (219) WaveNetLoader loader2(BinaryData::bluej_clean_p0088_json); --> WaveNetLoader loader2(BinaryData::YOUR_NEW_CLEAN_MODEL_json);
Where "YOUR_NEW...MODEL" is just the filename of your json file. You can edit either one, or both, but keep in mind they are separately trained models.
-
Build SmartAmp in Release mode.
If you have any issues let me know, but that should do it. If you have new models that you don't mind sharing I'd love to add them to the repo!
from smartguitaramp.
Hi Keith, thanks for the quick feedback and detailed instruction, it's helpful,
I wanted to experiment and upload the available SmartPedal and WaveNet model into Amp capabilities.
As far as I understand, the new model creation requires 2 audio samples - from clean in and effect out.
What about this? I'm dreaming about the super feature - upload one file (e.g. extracted solo stem, converted to FT32 .wav) and get .json with the particular tone. Then use it in the SmartAmp to be able to control EQ and other parameters,
Please share your thoughts!
from smartguitaramp.
I've thought some about that, it might be possible but it would be a very difficult problem to solve. The first part would be extracting a single guitar from the song. Say you wanted to extract Led Zeppelin's Stairway to Heaven solo guitar; there are lot's of layers in the same frequency range. I've seen a few different source separation software out there, but none that extract a guitar track yet.
If this could be done, there would then be the question of how to get a clean track. For the WaveNet technology, it needs a source signal to apply the "filter" of the WaveNet model over. Maybe through some method of machine learning you could generate a clean track based on the target track.
The next problem to tackle is that the WaveNet model is limited by the specific impulse it can handle (I think the paper states somewhere around 50ms). This can be extended at the cost of processing power. So it can handle distortion pedals and tube amps well, because what you play takes less than 50ms to run through the circuit. Things like reverb and delay extend out longer in time from the initial note, so you'd need a different kind of capture technology for that part of the signal.
The short answer is, I think it's possible and somebody will figure it out in the near future, but going from this code to that idea is a big leap. Glad you brought it up though!
from smartguitaramp.
Hi Keith,
Sharing my draft model - it's just fo the testing. Not real amp or pedal yet, it's only a clean guitar recorded and applied amp plugin. I've got very good results using https://github.com/keyth72/PedalNetRT on files y_test.wav, y_pred.wav, and x_test.wav.
Uploaded the custom model in the SmartGuitarAmp and hear something unexpected, like noise, delays, scratches and hyper distortion. The same result with WaveNetVA. Both works fine on the out-the-box models. I've probably built a plugins wrong (Xcode, release, eigen), could you please try the model on your configuration?
My gear and flow:
- macOS 10.15.7 (19H2)
- iRig HD2 (24/192 sound card)
- Ableton 10 lite
- Saved input files as wav, 32, mono with normalization.
converted_model.json.zip
Thank you!!
from smartguitaramp.
Update: seems the question is related to the model conversion: GuitarML/PedalNetRT#2,
thank you
from smartguitaramp.
Issue resolved by reducing model size, closing
from smartguitaramp.
Related Issues (20)
- Feature request - Resizable GUI HOT 1
- Change amps on runtime HOT 2
- CUDA-less Pytorch HOT 8
- Investigate reducing CPU usage of current WaveNet implementation. HOT 6
- No way to load model in 1.0+git14.efe4597 (OpenSUSE) HOT 1
- How exactly do the models and plugin work? HOT 6
- Mac plugin HOT 11
- High CPU usage HOT 1
- Save/load plugin state across sessions HOT 3
- [SUGGESTION] Collaboration with other open projects HOT 4
- Improve graphics cpu usage
- Android/iOS? HOT 3
- ‘class juce::FileChooser’ has no member named ‘browseForFileToOpen’ HOT 2
- SmartAmp and SmartPedal have the same plugin UID? HOT 3
- Distorted output and high DSP usage in Ardour on Arch Linux HOT 1
- controlling synth with guitar
- Guitar.ml may be better for this project
- GUI front end for training models? HOT 2
- Feature-Add knob state saving HOT 1
- Add automation parameters HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smartguitaramp.