I've been messing around lately with combining Neural Amp Modeler with another open source project I've contributed to in the past - LiveSPICE.
LiveSPICE allows you to simulate audio circuits in real-time, which is very cool. The disadvantage it has is that it is very CPU-heavy. It's CPU usage is also not super consistent, but can be spiky, which makes it hard to use in a live, low-latency environments without getting audio dropouts.
It *is* however, very easy to use it to generate training data for Neural Amp Modeler. So that's what I did.
Because it uses a simulation of the pedal circuit, the generated training audio has none of the added noise that is difficult to fully avoid when capturing actual pedals. This "idealized" version of the pedal should be even easier for the neural net model to learn.
And indeed, it is. Here is the ESR of a "feather" model (the smallest, least CPU-intensive default NAM model type).
It shows 0.000, but it was actually around 0.0001.
You can get the resulting .nam model here on ToneHunt.
@rerdavies
ReplyDeleteRemarkable how many interest we share. :-)
I have a project that's on hiatus. The general idea: to implement a Fender Bassman neural net emulation with an accurate and functional tone control section. The basic idea: split the Bassman schematic into pre- and post- EQ sections. Since the EQ section is linear and easily implemented using digital filters, I used LiveSpice to generate training data for the pre-EQ and post-EQ sections of the Bassman schematic.
The target implementation: (Neural Net emulation) -> Digital tone stack filter -> (Neural Net emulation perhaps with a Drive parameter).
For reasons I don't completely understand, I could generate good neural net approximations for the pre-EQ section of the schematic; but, with an LSTM model, I could not get the training sessions to converge for the post-EQ sections. So the project has been stalled for about 8 months now. (Abandoned might be a more honest word).
I'm thinking I need to revisit this using Neural Amp Modeler to train the pre- and post-EQ sections.
I've had similar thoughts - having something like LiveSpice create input/output training data for any non-linearity in the circuit, and using (hopefully small) networks for those bits. The Guitarix amp simulation approach does something like this, except that it just uses lookup tables for the non-linear bits.
Delete