Guitar amp modeling.
- KVRAF
- 2606 posts since 4 Sep, 2006 from 127.0.0.1
robrokken can you give me the dry recording of the first mp3? i wanna process it with somethin ;P~
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
- KVRAF
- 8511 posts since 12 Feb, 2006 from Helsinki, Finland
Another thing to possibly consider is feedback loops involving the non-linearities. I am no expert, but I am under the impression that at least triodes basically have certain amount of feedback "built-in" thanks to real-life limitations. Cool thing is, when you stick a feedback loop around a non-linearity, you can actually change the behavior in all kinds of interesting and dynamic ways. Google for the specifics, there's plenty of information (I unfortunately don't feel confident enough about the subject to go into any specifics).
-
- KVRist
- 286 posts since 22 Jul, 2009
Yes, feedback loops are nice. The thing is, these feedback loops were usually put in the output stages as to NOT distort the tubes
, Also, i believe(can't remember) that the "presence" control is a feedback adjuster. I tried feedback once in code and it didn't work, worked in SM just fine, but again, I just had to draw a line lol.
The above example was just a little distortion, nothing more, definately not a full amp, basically testing a transfer function, with a bit of a fail. Seems like theres just still too much zero disto to full blown, even with modding it.
Here's all that that distortion was:
I don't have the original file but I will make u a new one in a few 
So, Certain other things that I've worked with in the past, and now problably will work with now, cause this thread got me all hooked again are things like, the amp has different eq characteristics at different volumes. So my thought is to create a fletch/M curve with a couple filters that are triggered by an envelope follower. That will take care of that aspect of it, to some degree(cpu hit). IMO as a tube is driven harder, aslo you may find that you start getting a little boost in frequency around 700hz, so again, another filter is needed in this area, which may be based on overall distortion output(the knob) and just a little added dynamic db gain through the use of an env follower on top of that.
So, that right there gives a tonal change based on the volume. Still the big thing here, still the transfer curve. Seems as though, and even with gain staging, its still too fast, and when it does kick in, its that ugly and i mean ugly digital distortion, no smoothness, to me, smoothness in a tube is almost like the birdy sound when an mp3 is squashed, kinda something to fill in the gaps.
Not quite sure on this, but A/B amps effect the top half of the wave and bottom half independantly, when you look at these amps on a scope, you will see what is called "crossover distortion" its a little skip right on the zero crossing, its not desireable, but, if ya wanna emulate it, guess we should have it.
My thinking just right now off the top of my head to simulate a/b is to do something like this:
This will give an asymetric waveshape, and give you, I think the crossover distortion.
Crossover distortion:

Now there's a bunch of other stuff including blow by, basically a point in the transfer curve, like a dip, where gain actually goes down for a bit. But, if the tube isn't sounding smooth, imo theres no point lol.
Don't know if much of this is "correct" but, it's just whats floating around in my head.
The actually loudspeaker part, Can be done, somewhat, Doesn't sound as good as an impulse imo, but if someone has one that is a blackbox solution, I'd really be interested in hearing it. One thing that I do, when trying to do a black box aproach to the actual cab is use a comb filter, makes things sound all phasey and comby, Gives a nice air around things.
Well, Just thought I would keep this thread going, I'd like to hear others' approaches, research.
BTW: Heres a little test clip I made, kinda works good for testing that tubish thing, and transfer curves etc. A bit sloppy, but hey, deal with it lol:
http://dl.dropbox.com/u/1933049/RawTune.mp3
Also, keep in mind there are MANY great sounding solid state amps and pedals, Most of the pedals that sound really tubey, aren't even tube, and the schematics are pretty simple, although I cannot interpret them yet(noob status).
EDIT: Forgot about compression, Getting these algos to compress on their own, has been almost impossible for me, without doing 10 of them in series lol, So, looks like imo, I personally would set up a compressor to somewhat act how tube/speaker(a LOT of compression/ducking comes from that speaker!) act. If anyone has any tips/advice/charts on tube/loudspeaker compression, that would be greatly appreciated.
~Rob();
The above example was just a little distortion, nothing more, definately not a full amp, basically testing a transfer function, with a bit of a fail. Seems like theres just still too much zero disto to full blown, even with modding it.
Here's all that that distortion was:
Code: Select all
double rect = abs((*in1/2) + (*in2/2));
double b = 1.26175667589988239 + rect * (-0.79618574210627535 + rect * ( 0.38944033523200522));
double Result = (b * *in1) / (b * rect + 1);
double Result1 = (b* *in2)/ (b * rect +1);
*out1 = *Result * makeup;
*out2 = *Result1 * makeup;
So, Certain other things that I've worked with in the past, and now problably will work with now, cause this thread got me all hooked again are things like, the amp has different eq characteristics at different volumes. So my thought is to create a fletch/M curve with a couple filters that are triggered by an envelope follower. That will take care of that aspect of it, to some degree(cpu hit). IMO as a tube is driven harder, aslo you may find that you start getting a little boost in frequency around 700hz, so again, another filter is needed in this area, which may be based on overall distortion output(the knob) and just a little added dynamic db gain through the use of an env follower on top of that.
So, that right there gives a tonal change based on the volume. Still the big thing here, still the transfer curve. Seems as though, and even with gain staging, its still too fast, and when it does kick in, its that ugly and i mean ugly digital distortion, no smoothness, to me, smoothness in a tube is almost like the birdy sound when an mp3 is squashed, kinda something to fill in the gaps.
Not quite sure on this, but A/B amps effect the top half of the wave and bottom half independantly, when you look at these amps on a scope, you will see what is called "crossover distortion" its a little skip right on the zero crossing, its not desireable, but, if ya wanna emulate it, guess we should have it.
My thinking just right now off the top of my head to simulate a/b is to do something like this:
Code: Select all
if(*in1 > 0){
Top half polynomial deal here that is a bit thinner on the scope.
}
if(*in1 < 0{
Botom half polynomial deal here, that is a bit wider on the scope.
}
This will give an asymetric waveshape, and give you, I think the crossover distortion.
Crossover distortion:

Now there's a bunch of other stuff including blow by, basically a point in the transfer curve, like a dip, where gain actually goes down for a bit. But, if the tube isn't sounding smooth, imo theres no point lol.
Don't know if much of this is "correct" but, it's just whats floating around in my head.
The actually loudspeaker part, Can be done, somewhat, Doesn't sound as good as an impulse imo, but if someone has one that is a blackbox solution, I'd really be interested in hearing it. One thing that I do, when trying to do a black box aproach to the actual cab is use a comb filter, makes things sound all phasey and comby, Gives a nice air around things.
Well, Just thought I would keep this thread going, I'd like to hear others' approaches, research.
BTW: Heres a little test clip I made, kinda works good for testing that tubish thing, and transfer curves etc. A bit sloppy, but hey, deal with it lol:
http://dl.dropbox.com/u/1933049/RawTune.mp3
Also, keep in mind there are MANY great sounding solid state amps and pedals, Most of the pedals that sound really tubey, aren't even tube, and the schematics are pretty simple, although I cannot interpret them yet(noob status).
EDIT: Forgot about compression, Getting these algos to compress on their own, has been almost impossible for me, without doing 10 of them in series lol, So, looks like imo, I personally would set up a compressor to somewhat act how tube/speaker(a LOT of compression/ducking comes from that speaker!) act. If anyone has any tips/advice/charts on tube/loudspeaker compression, that would be greatly appreciated.
~Rob();
- KVRAF
- 8511 posts since 12 Feb, 2006 from Helsinki, Finland
You should be able to improve linearity with feedback, yeah, though it's a trade-off between harder clipping then. You can also get other stuff; say negative low-frequency feedback down to DC would attempt to dynamically adjust input DC bias to counter whatever DC is produced by asymmetric clipping in output, which could be fun for some duty-cycle modulation. If you do that individually for an AB push-pull arrangement, you could even have a setup which trades in some cross-over distortion when doing so will reduce the clipping, or similar things..robrokken wrote:Yes, feedback loops are nice. The thing is, these feedback loops were usually put in the output stages as to NOT distort the tubes, Also, i believe(can't remember) that the "presence" control is a feedback adjuster. I tried feedback once in code and it didn't work, worked in SM just fine, but again, I just had to draw a line lol.
It can be important to include the extra delay in a digital feedback loop into the equation when designing for a particular frequency response of the loop though, and too much feedback tends to result in "not-to-useful" results (ie square wave oscillators and/or comparators).
