(Thinking outside the nest…) >(...maybe that means opening up the LPF as the gain knob setting is reduced)
Yes And good discussion elsewhere in there, thanks Robert. On Jun 17, 2014, at 4:07 PM, robert bristow-johnson <r...@audioimagination.com> wrote: > On 6/17/14 3:30 PM, Nigel Redmon wrote: >> This is getting…nesty... > > yah 'vell, vot 'r ya gonna do? :-) > >> On Jun 17, 2014, at 10:42 AM, robert >> bristow-johnson<r...@audioimagination.com> wrote: >> >>> On 6/17/14 12:57 PM, Nigel Redmon wrote: >>>> On Jun 17, 2014, at 9:09 AM, robert >>>> bristow-johnson<r...@audioimagination.com> wrote: >>>> >>>>> On 6/17/14 5:30 AM, Nigel Redmon wrote: >>>>> >>> ... >>>>>> Anyway, just keep in mind that the particular classic amps don’t sound >>>>>> "better" simply because they are analog. They sound better because over >>>>>> the decades they’ve been around, they survived—because they do sound >>>>>> good. There are plenty of awful sounding analog guitar amps (and >>>>>> compressors, and preamps, and…) that didn’t last because they didn’t >>>>>> sound particularly good. Then, the modeling amp has the disadvantage >>>>>> that they are usually employed to recreate a classic amp exactly. So the >>>>>> best they can do is break even in sound, then win in versatility. And an >>>>>> AC-30 or Matchless preset on a modeler that doesn’t sound exactly like >>>>>> the amp it models loses automatically—even if it sounds better— because >>>>>> it failed to hit the target. (And it doesn’t helped that amps of the >>>>>> same model don’t necessarily sound the same. At Line 6, we would borrow >>>>>> a coveted amp—one that belonged to a major artist and was highly >>>>>> regarded, for instance, or one that was rented out for sessions because >>>>>> it was known to sound awesome.) >>>>> what did you guys do with the amps when you borrowed/rented them? was >>>>> your analysis jig just input/output, or did you put a few high-impedance >>>>> taps inside at strategic places and record those signals simultaneously? >>>> Yes. For instance, sweeping the EQ with incremental settings changes. >>>> >>> yes, another issue (which i didn't really touch on) is mapping the settings >>> of the knob to the internal (to the DSP) coefficients and threshold values >>> and such. that is "coefficient cooking" and is the same issue as defining >>> Q in EQs so that the knob behaves like the ol' Pultec or whatever. your >>> digital implementation might work very well, but if the position of the >>> knob in the emulation is not nearly the same as it was for the venerable >>> old gear (to get the same sound), someone might complain. >> Oh yes, they *will* complain ;-) >> >>>>>> On Tue, Jun 17, 2014 at 6:58 PM, Nigel Redmon<earle...@earlevel.com> >>>>>> wrote: >>>>>>> On Jun 16, 2014, at 7:51 PM, robert bristow-johnson< >>>>>>> r...@audioimagination.com> wrote: >>>>>>>>> one thing that is hard to replicate is a sample rate that is infinity >>>>>>>>> (which is how i understand continuous-time signals to be). but i >>>>>>>>> don't >>>>>>>>> think you should need to have such a high sample rate. one thing we >>>>>>>>> know >>>>>>>>> is that for *polynomial curves* (which are mathematical abstractions >>>>>>>>> and >>>>>>>>> maybe have nothing to do with tube curves), that for a bandwidth of B >>>>>>>>> in >>>>>>>>> the input and a polynomial curve of order N, the highest generated >>>>>>>>> frequency is N*B so the sample rate should be at least (N+1)*B to >>>>>>>>> prevent >>>>>>>>> any of these generated images from aliasing down to below the >>>>>>>>> original B. >>>>>>>>> if you can prevent that, you can filter out any of the aliased >>>>>>>>> components >>>>>>>>> and downsample to a sample rate sufficient for B (which is at least >>>>>>>>> 2*B). >>>>>>>>> >>>>>>>> This really goes out the window when you’re modeling amps, though. The >>>>>>>> order of the polynomial is too high to implement practically (that is, >>>>>>>> you >>>>>>>> won’t end up utilizing the oversampling rate necessary to follow it), >>>>> this is a curious statement *outside* of the case of hard clipping. >>>>> oversample by 4x and you can do a 7th-order polynomial curve and later >>>>> eliminate all of the aliasing. oversample by 8x and it's 15th-order. do >>>>> *no* oversampling and you can still make use of the fact that there's not >>>>> a lot above 5 kHz in a guitar and amp (so 48 kHz is sorta oversampled to >>>>> begin with). you can fit a quite curvy curve with a 7th-order polynomial. >>>>> >>>>>>>> so >>>>>>>> you still be dealing with aliasing. Modern high gain amps have huge >>>>>>>> gain >>>>>>>> *after* saturation. In practical terms, you round into it (with a >>>>>>>> polynomial, for instance), then just hard clip from there on out, and >>>>>>>> there >>>>>>>> goes your polynomial (it can be replaced by an approximation that's >>>>>>>> very >>>>>>>> high order, but what’s the point). >>>>> yes, we splice a constant function against a curve. if at the splice as >>>>> many possible derivatives are zero as possible, that splice appears >>>>> pretty seamless. this is why i had earlier (on this list) been plugging >>>>> these curves: >>>>> >>>>> x >>>>> f(x) = C * integral{ (1 - u^2)^M du } >>>>> 0 >>>>> >>>>> (C gets adjusted so that f(1) = 1 and f(-1) = -1.) >>>>> >>>>> you can splice that to flat values at +/- 1 and the nature of the >>>>> function will not change appreciably from the polynomial in the region of >>>>> the splice. >>>>> >>>>> anyway, the whole point is to give the guys with golden ears no cause to >>>>> complain about hearing aliases. same with emulating sawtooths and >>>>> hard-sync synthesis. >>>>> >>>>>>>> Anyway, you pay your money, you make your choices. Obviously some >>>>>>>> really >>>>>>>> good musicians making really interesting music use modeling amps. They >>>>>>>> don’t have to be better than tubes, in order to be a win, just good >>>>>>>> enough >>>>>>>> to be worth all the benefits. If you’re a session music, you can bring >>>>>>>> in >>>>>>>> the truck with all of the kinds of amps that might be called on, or >>>>>>>> you can >>>>>>>> bring a modeling amp, for instance. And going direct into the PA or >>>>>>>> your >>>>>>>> recoding equipment…etc. I’m not going to make judgments on what people >>>>>>>> should like, so I’ll leave it at that. >>>>>>>> >>>>>>>> One happy thing about the aliasing is that, given a decent level of >>>>>>>> oversampling, it won’t be bad at lower overdrive levels. At the higher >>>>>>>> the >>>>>>>> overdrive levels, the harder it is to hear aliasing through all that >>>>>>>> harmonic distortion you’re generating. So it could be worse... >>>>> i really agree with this, Nigel. with *some* oversampling (but >>>>> theoretically not sufficient oversampling), you can get away with a lot >>>>> (like hard limits or whatever stuff goes on inside a transformer with >>>>> core loss). i would not say that you have to oversample to a >>>>> ridiculously high degree just because there is a hard-limit saturation in >>>>> there or that your tube model is not a polynomial approximation (but i >>>>> wonder why you wouldn't try to fit the grid-to-plate tube curve to a >>>>> finite-order polynomial). >>>> What I mean is... for a modern high-gain amp, the gain is on the order of >>>> 2^16 (and the curve starts it’s significant bend up near 1). So most of >>>> the signal, when you’re playing maxed out, is simply clipping hard. If >>>> your goal is to not alias in the audio band at all, by figuring the max >>>> harmonic component based on the order of the equivalent polynomial and the >>>> highest freq of the guitar input coming in…well, your oversampling factor >>>> is going to be a lot higher that you’re willing to implement. >>> i understand. hard-hard-limit and you got harmonics going up to infinity >>> anyway. >>> >>>> There’s really no point in calculating a continuous polynomial over that >>>> range that I can see. >>> well, if it splices *well* to the clip region, it might *still* have a >>> point. >>> >>>> It’s no big deal—I just brought it up because I often see people, here and >>>> elsewhere, go down the thought path of... "OK, I want to make a guitar >>>> distortion unit…if I keep my polynomial to order N, I only need to >>>> oversample by (N+1)/2...", completely forgetting that when, in their code, >>>> they branch to limit the output to +/- 1, their polynomial order just went >>>> out the window. >>> yes, that's true (sorta). at least *if* the splice to the limited constant >>> value is not smooth. >>> >>> but you can make a polynomial match as many derivatives (equal to zero) of >>> the hard limit as possible (but that might be at cross-purposes to getting >>> the polynomial to follow a tube curve) and for levels that hit that limit >>> (so the code branches to the limit), if the overflow or spike isn't so bad, >>> the behavior isn't so far away from the "ideal" polynomial and the total >>> behavioral issue remains inside the window, i would think. >> Yes, Robert…but, with the kind of gain necessary…OK, so you have the y-xis >> as you output level, x-axis as input. To view the entire curve for a Soldano >> Super Lead Overdrive, for instance, you draw the curve of your choice to >> rise from y=0 and give you a soft bend into y=1 (full output). The bend will >> be somewhere around x=1, ballpark (maybe it’s x=2 or 3, to allow for lower >> input levels, but the point is that it’s a small number compared to what’s >> coming next)…then you allow for x=30000 or so (a flatline from the x=1..3 >> area). Is that not a pretty high order polynomial? > > well, yeah, and it might better be described as a function that is > discontinuous with most of its derivatives, even the 1st. > > so > >> The point being, yes the polynomial would be handy at low gain settings, but >> you still need to build this thing to work at extreme gain settings at the >> same time. > > okay, you mean with it cranked up so that it virtually hard limits. that's > not exactly what comes to mind about "warm" tube distortion. like those > DevilDrive guys (or was it the Kemper guys) built a 12AX7 preamp to model > (and i wonder how much that tells us about how a Fender Twin Reverb cranked > up to arcweld behaves like). > > but this is hard clipping distortion, not zero-crossing distortion, right? > in between the nasty hard limits, you might be able to decently model the > tube curves with finite-order polynomials. specifically the mapping curve > from biased grid voltage to biased plate voltage given a specific load line > (which may be affected by power sag). maybe you can cover that quite well > with a finite-order polynomial and emulate that with a finite sampling rate. > but if it clips, might be nasty, regarding aliases. > > the only thing i know how to tame down a hard limit (and it may very well not > be compatible with the characteristic tube curve) is to set as many > derivatives as possible to zero and splice the hard limit to that thing. > continuity to the 2M-th derivative including the hard limit. > >> So anything at the low gain settings is pretty insignificant for something >> designed to handle the high gain settings. > > well, we gotta think sorta like the string theorists. we gotta imagine how > to seamlessly glue together two ostensibly incompatible systems. like how do > we crossfade from the low-gain behavior (the "warm tube sound") to the > behavior we like when it's cranked up to arc-weld? > > >> Hence my feeling that there not much point to calculating how much headroom >> you have—you can pretty much count on infinity. There may be some reasons to >> do it—I’m not demanding that I have the right idea, just simply explaining >> what I meant by my comments. In reality, it’s not so clear cut, because as I >> mention before, the more you get into a situation where aliasing will be >> big, at the same time you are in a situation where you’ll have more >> generated harmonics to mask the aliasing. In the end, aliasing is *mainly* a >> problem if you bend a guitar note and you heard harmonics going in the wrong >> direction. For some reason guitarists just can’t get around that (lol). >> >>>> BTW, the more the overdrive, the less the weaker upper harmonics of your >>>> guitar matter, so you can cheat by rolling them off as you increase drive. >>> a useful idea. more pre-LPF as the grunge gets cranked up. >>> >>>> But you can’t rely on that too much, because guitar players like to hang >>>> analog distortion stomp boxes in front of your modeling amp, giving you >>>> powerful higher harmonics. :-) >>> yeah, but can't you *still* pre-LPF that signal (the output of the >>> distortion stomp box) as the amp drive is cranked up? i dunno. >> Yes, it’s definitely one place where you can win, and help yourself make the >> best of a practical amount of frequency headroom. Probably the biggest >> difference (between assuming direct, clean guitar strings as input, and one >> that’s be pre-crunchified with a stompbox) is that for the former you might >> get by with a lower-order filter, because guitar string harmonics drops of >> pretty quickly by themselves. (So, you might design an amp sim that seems >> relatively alias-free, then get a customer or beta tester complaining about >> the aliasing, and that's were you find out that guitarists will still want >> to run their stuff into your sim, even if you give them those functions in >> DSP.) > > well, i know there can be different specs. but for a 32-tap FIR LPF, you can > put the same brick-wall LPF on both guitar (that might not need it as bad) > and the grunge box. it's just that for clean amp setting, you might hear the > difference between your straight-grunge pedal and the LPF'd one (and it's > less necessary, maybe that means opening up the LPF as the gain knob setting > is reduced). > > -- > > r b-j r...@audioimagination.com > > "Imagination is more important than knowledge." -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp