• ### Better sounding guitar distortion ... beyond \[clip~\] and \[tanh~\]

@nau said:

Thanks, I think I'll try the 'parallel combination into a single biquad" option tonight

I don't think this is possible. Biquad filters can be thought of as two first-order filters in SERIES, not parallel.

• Ok, I cleared my mind.

Of course two biquad filters combine in series or in parallel resulting in a FOURTH order recursive filter.
So the only mean of doing this by coefficient calculation (following http://www.dspguide.com/CH19.PDF , pages 617-618) is to create such a recursive filter in Pd. I could try to make such an abstraction with [cpole~] and [czero~] objects, but this requires solving a fourth order equation (far from trivial for me).
I love learning, but priority for this idea will be deffered to 'low', till I find a library that does the math for me. Furthemore, I don't know if this will give better results. And maybe there's another way, manual recursion equation ?

But Maelstorm's proposal of a simple [hip~5] is perfect, as this remembered me that in the original design the emitter-follower stages can be seen as [hip~ 3], one at the input and the other at the output ! In fact as I mentionned before I tend to find this disto rather acid, and I stupidly removed those filters to 'save the bass', and rapidly forgot this 'cut' in the circuit. Of course in an analog circuitry this has a 'protection' function, which I dumbly decided to consider 'unuseful' for a digital design. Doh.

Thank you,

Nau

• I think you meant this?

http://www.dspguide.com/CH33.PDF

And, yeah, nevermind that last comment. Of course you can combine a two parallel filters into one by summing their z-transforms. Brains fart from time to time, and mine is no exception.

If you do want to go that route, you're in luck: it's not going to be a fourth-order filter. The reason is that while your tone stage uses two second-order filters, the ones mentioned in the paper are first-order filters. (The patch I posted was really meant to illustrate how to sum [filterplot.mmb]. I just used the [filtercoeff.mmb] for convenience.) Those will, in fact, sum up to be a biquad.

Also, one of the reasons why you might find this distortion so "acid" could be in the guitar sample you've chosen. It really has a lot of highs and sounds like it's had some processing already done to it. I've tried running some dry samples through (sorry, I can't legally share them), and they don't quite have that acidic sound to them.

• @Maelstorm said:

If you do want to go that route, you're in luck: it's not going to be a fourth-order filter. The reason is that while your tone stage uses two second-order filters, the ones mentioned in the paper are first-order filters. (The patch I posted was really meant to illustrate how to sum [filterplot.mmb]. I just used the [filtercoeff.mmb] for convenience.) Those will, in fact, sum up to be a biquad.

Doh! Doh! Doh! I'm so stupid, I knew it from scratch I was using first order filters, yesterday I just forgot it ... should stop smoking.

@Maelstorm said:

Also, one of the reasons why you might find this distortion so "acid" could be in the guitar sample you've chosen. It really has a lot of highs and sounds like it's had some processing already done to it. I've tried running some dry samples through (sorry, I can't legally share them), and they don't quite have that acidic sound to them.

Thank you, I'll ask on another forum to get some decent clean guitar samples.

Nau

• Hi,

I calculated coefficients of first order filters for recursive filtering using [biquad~] using formulas found in http://www.dspguide.com/CH19.PDF, page 323.
I could only confirm what I was fearing from the beginning : it's not possible to approximate the given transfer functions given in the article no more, as the slopes of the individual filters are less steep. So the filter calculated previously (quartic) is the best that we have now.

My curiosity stepped down and I decided to leave this tone stage as is.

Nau

edit (removed) : joined last version. (0.3)

• Hi there,

I made slight changes in the DS-1 patch, and finished a TubeScreamer abstraction. It works, I will post them later for discussion.

Now I'm considering asymmetrical clipping, which should lead to even harmonics at the output. Basically this could be seen as scaling positive and negative values of the incoming signal using two different coefficients, and then send it to [tanh~], and then scale again "back".

I hope I'll find an efficient way to do that.
But before I take a week off. See you !

Nau

• Something like this will give you asymmetrical clipping:

[+~ .2]
|
[tanh~]
|
[*~ .8]
|
[-~ .2]

Of course, it will depend on the shape you want. But you shouldn't need to deal with filter coefficients for it.

• I fairly often use some distortion like [tanh~] with a slow random offset signal added to the audio, for continuously varying distortion effects. I follow this with a [hip~] to avoid DC or very low frequency output (choosing the cutoff frequency based on the characteristics of the audio and random signals). You can even use it as a sort of distorting amplitude control, as a small signal added to a large offset will be effectively muted (like the cut-off region of a bipolar transistor). This was sometimes used in analog drum machines to gate white noise, for example (swing VCA).

• @acreil said:

I fairly often use some distortion like [tanh~] with a slow random offset signal added to the audio, for continuously varying distortion effects.

That sounds like a good idea. I'm going to have to try that out!

• Yop,

Thanks Maelstorm and acreil !

My concern was about cpu efficiency, and this slow random offset is clearly (dunno how to say it in english) the cherry on top of my pie !

Anyway for cpu I will use table lookup. The article talks about 'nonuniform logarithmic sampling with a floor of about zero', but I'll start with a 'normal' tablelookup.

Thanks,

Nau

• I know bt said going pass the regular distortion do you know what he is talking about ?

• @ShawnPD said:

I know bt said going pass the regular distortion do you know what he is talking about ?

Sorry, I don't understand you. Who is this 'he' ?

Nau

• Yop,

here is a folder containing the 'DistOdrive' project , both effects are modelized, modifications were made (a forgotten lop~ somewhere, a switchable upsampling (16x) section (sucks less cpu when in 'bypass' mode) and of course the second pedal, etc).

I'll be glad to read any comment, the last time I asked for it it has been efficient !

Thank you again.

The files : two guitar samples (44.1khz and 48khz) are included for comparison sake. Open 'DistOdrive.pd' or read the 'Readme' file to learn more.

Nau

• Yop,

now I'm going to replace some static coefficients calculation with numerical values, to make the patches smaller. But my attempts of retrieving values to put it into a simple message failed, as the coefficients values obtained by [print] , [number] or [tabwrite] and save to file are truncated (max 6 digits after dot), so when I copy them back into a message and send it to a [filterplot.mmb] I get a slight but significant change in shape.

I could I save float data into files with higher accuracy ? This could also be useful in table-lookup schemes.

Thank you,

Nau

• Hay the artist bt said some thing about new distortion what is it and how do you go past the clipping don't he said
its not wave shaping ? I would like know what is he talking about

• You're going to need to provide a link to him saying that or something. Without any context, we can't know what he's talking about.

• bt is a good artist but I don't follow him he is the one who made the shutter edit vst(load of crap) and always dose alot of exponential thing with metter and fx with c sound ok so he already come out with its called trash. http://www.izotope.com/products/audio/trash/

I edited your post because I don't think this is the appropriate place to be bashing people's religious views. Please try to be more considerate. -Maelstorm

• Trash has been around for several years. I doubt BT had much to do with it. Anyway, the only part of that link that says anything about "non-standard" distortion is the multi-band distortion part. That could be done with just band-pass filtering different frequencies into different types of distortion.

• may be its some thing else that he was saying I know he did some thing micro with every sample point thinking its may know of like the gormeter vst where you cam delete wave points and picks to give you some thing new

• Gosh ! Very rude.

I edited the sendspace link since I realized my lastly posted archive was not actually a folder but a bunch of files (sorry for the mess). fixed.

Is there anyone here that owns or knows well the TubeScreamer pedal to give me some comments about the quality of the model ?

I noticed the tone parameter is rather subtle, certainly not as the one implemented in the DS-1 model.

Thanx,

Nau

Posts 76 | Views 71185
Internal error.

Oops! Looks like something went wrong!