Deep Learning for Guitar Effect Emulation
121–130 of 168 posts
Re: Deep Learning for Guitar Effect Emulation
#122I'm not an expert on machine learning or DSP, but I do know just enough of each to suspect this isn't anywhere near as impressive as it seems. A distortion pedal is essentially just a waveshaper [1]. Think of audio in digital terms as just a series of numbers. A waveshaper is just a simple mathematical function. To apply it, you literally just apply the function to each value in the input stream and there's your outp…
Linear adaptive filters have been around for a long long time, and nowadays are everywhere. They can't capture the nonlinear behavior of effect pedals, not even just the waveshaper.
The model you are describing sounds like a 'wiener model,' which refers to a linear filter followed by some nonlinearity (i.e. the waveshaper).
There are other approaches to nonlinear adaptive filters, like Volterra series and kernel methods.
People have been using all of these techniques, and more, to approximate analog audio effects for decades.
A 'trained deep neural network' is not in principle that much different or 'less pure' than other nonlinear adaptive filtering techniques, just with a load more parameters. What matters is if the results are sufficiently improved to justify the computation.
Re: Deep Learning for Guitar Effect Emulation
#123I'm not an expert on machine learning or DSP, but I do know just enough of each to suspect this isn't anywhere near as impressive as it seems. A distortion pedal is essentially just a waveshaper [1]. Think of audio in digital terms as just a series of numbers. A waveshaper is just a simple mathematical function. To apply it, you literally just apply the function to each value in the input stream and there's your outp…
I think the real innovation here is that this was done on just a few minutes of training data, opening up the possibility for all kinds of effects / amps to be modeled through this same method somewhat easily. I'm not sure how current DSPs are designed, but this is likely orders of magnitude more simple than designing the audio transformations (digital or analog) manually.
Re: Deep Learning for Guitar Effect Emulation
#124Earlier quoted context omitted.
Reverb is time invariant? You can set custom decay time, rate etc, so the one not can be heard for say, 10 seconds if you want to go full Devin Townsend. I'd think Chorus would work better. I wanted to do a very similar project, but with an overdrive. Let's see if I get time anytime soon!
>Reverb is time invariant? You might want to familiarize yourself with [0]. Time-invariance is a specific property of a system, where the output (for any given input) has no dependency on if the input signal happens now or 1 second from now or 100 years from now (except for the corresponding delay). Most reverb models are, to a first approximation, time invariant, because the effect will have the same sound for the s…
Studio reverbs famously aren't, and some of the most popular models (notably Lexicon) have included time-variant algorithms since the late 70s. The processing power to handle IR convolution didn't exist, and it turned out some time variation added lushness and density to the sound that simpler models couldn't capture.
Modelling a chorus or time-variant reverb with any form of convolution - including any convolution-based neural net - is a complete waste of time, because most chorus algos are trivial and convolution is completely the wrong tool for the job.
It's literally about as useful as taking a still picture of a 90 minute movie.
Re: Deep Learning for Guitar Effect Emulation
#125Earlier quoted context omitted.
Just to be perfectly clear here because I'm not sure you're just using my post as a soapbox or if you have misunderstood my argument: I agree that it's clear what real-time means in this context. I disagree that "usually fast enough" guarantees failure for a VST, because in the case of VST, "usually fast enough" is the only guarantee the host operating system will offer your software. It's not "theorycrafting" to say…
It usually doesn't happen in practice unless you're doing a lot of other things at the same time. Which you shouldn't be. Of course audio is block buffered over (mostly) USB, and as long as the buffers are being filled more quickly than they're being played out, the odd ms glitch here and there is irrelevant. As real-time systems Windows, MacOS and Linux are terrible from a theoretical POV, and they're useless for th…
> Of course audio is block buffered over (mostly) USB, and as long as the buffers are being filled more quickly than they're being played out, the odd ms glitch here and there is irrelevant.
As I've noted earlier in the thread. In fact, that the only thing you can offer under such circumstances is that "it usually doesn't happen" because "it's usually fast enough" is my entire point.
> As real-time systems Windows, MacOS and Linux are terrible from a theoretical POV, and they're useless for the kinds of process control applications where even a ms of lag can destroy your control model.
You could employ the same strategies to process control problems where latency is not a problem so much as jitter. You don't, because unlike a music performance an occasional once-in-a-week buffer underflow caused by a system that runs tens to hundreds of processes already at boot can actually make lasting damage there.
Re: Deep Learning for Guitar Effect Emulation
#126Earlier quoted context omitted.
The show won't collapse, if you have one glitch an hour.
If you drop an audio buffer and fire off a 22kHz impulse into a 50,000 watt soundsystem, you are going to have thousands of very unhappy people and likely some hearing damage.
Re: Deep Learning for Guitar Effect Emulation
#127I'm not an expert on machine learning or DSP, but I do know just enough of each to suspect this isn't anywhere near as impressive as it seems. A distortion pedal is essentially just a waveshaper [1]. Think of audio in digital terms as just a series of numbers. A waveshaper is just a simple mathematical function. To apply it, you literally just apply the function to each value in the input stream and there's your outp…
I believe you are are vastly oversimplifying this. An impulse response will characterize only a system that is * linear * time-invariant Many effects are not linear (especially distortion: the crunchiness comes from the nonlinearity). f(a) + f(b) != f(a+b) And many effects are time varying, for example phasers and choruses which have low frequency oscillators controlling how the sound is shaped depending on when it c…
Re: Deep Learning for Guitar Effect Emulation
#128"many purists argue that the sound of analog pedals can not be replaced by their digital counterparts." Truly effective modelling of analog pedals, tube amps and guitar cabs has been around for years and is way more cost effective from the bedroom to touring bands. The "purists" are hipsters who value the rarity of some pedals, massive pedalboards and their tube amps. I'm not knocking them - I understand why there is…
I am by no means a musician or an experienced one at that. I tinker and enjoy playing and learning. But I have limited experience overall. My personal experience with electronic tools is the lack of feel. Can I make music with digital tools like AxeFX and similar? Absofreakinglutely. No doubt about it. But those digital tools feel VERY different to me than the real thing. I'm not just talking about a speaker moving a…
Can you expand on this a bit? Curious what you mean by responds and what the difference is.
Re: Deep Learning for Guitar Effect Emulation
#129Earlier quoted context omitted.
Not quite. As long as the knobs make consistent changes, just feed some large amount of tests and the model should generalize (smartly interpolate) the rest. What I do have a problem with is that if the pedal is already implemented digitally, then all the human interpretability, along with the classic DSP machinery, is thrown out the window. A better approach would be to build the pedal via a differentiable programmi…
The knobs actually don't behave linearly on a tube screamer. Even the "tone" knob (EQ) doesn't behave at all linearly like you might expect out of consumer audio gear. Tube Screamers have an S-curve potentiometer in use for that knob. That would be part of the problem with this approach. Also with this approach you pretty much have to train the model with a near infinite collection of guitars in front of the model an…
As for the collection of guitars and samples - not necessarily, it would depend on how you set up the training.