Efficient antialiasing for distortion of any input

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

Funny that this resurrects just now...
I am going to give more info on this soon.

All I can say for now is I did show it to capable people and it works.

Post

That's right,

simple Mipmaps work for wavetable oscillators because the phase variation is very smooth.

In the case of phase modulation a la synclavier, mipmaping is useless.

Even if you do some fast mipmap change/crossfade depending on the slew rate of the modulator.
- Yep, no shame i tried this years ago and it did not work - the fast crossfading between mipmap levels generate aliasing per se. :dog:

The edge corrective grains are not a practical solution either. Evaluating their amplitudes and positions is not CPU friendly.

But, well, i experimented some old tricks this evening, and they seem to do it. :hyper:
Last edited by Smashed Transistors on Sun Aug 28, 2016 8:02 pm, edited 2 times in total.
See you here and there... Youtube, Google Play, SoundCloud...

Post

Hi Mokafix
and thanks for this thread.

DSP education is a good thing: it provides you with a lot of tools and concepts that are very helpful for solving problems. I'm very happy to have studied DSP, Fourier, Z transforms and all sorts of their cousins.

The main drawback is that sometimes you lack the ability to think out of the box (even if the box is quite large).
That's why threads like this one are great. :tu:
See you here and there... Youtube, Google Play, SoundCloud...

Post

Obviously, one should at first manage to produce a good anti-aliased result with x*x, then one can talk about higher-order distortion.
Hello,

Here is a little JSFX plugin:
http://forum.cockos.com/showthread.php?t=180926
it is a 3 operator Phase modulation synth which base waveforms are parabolas.
https://soundcloud.com/thierry-rocheboi ... modulation

The antialiasing method is a variant of the Differentiated Polynomial method. I extended it to modulated waveforms... which is quite tricky as very small deviations in the differentiation can lead to outbursts and infamous clicks.

I applied the same method to tabulated distortions http://forum.cockos.com/showthread.php?t=180951 and I combined it with x2 oversampling. Differentiation of pre-integrated waveforms or wavetables does not suppress aliasing but it changes its decay rate.
https://soundcloud.com/thierry-rocheboi ... d-tubeysat

The main drawbacks of this method is that
  • it needs double float precision (polynomial substractions and divisions by small numbers)
  • it can lead to outbursts and clicks (if all limit cases are not managed => specific update of state variables)
  • it uses divisions (CPU + supplementary code to manage divisions by 0)
Last edited by Smashed Transistors on Tue Sep 06, 2016 11:35 pm, edited 1 time in total.
See you here and there... Youtube, Google Play, SoundCloud...

Post

You may want to look at this paper for ideas Aliasing reduction in soft-clipping algorithms

Post

Well, Lorcan, the idea of using Blamps have been described in this topic more than once.
Last edited by Smashed Transistors on Wed Sep 14, 2016 4:28 pm, edited 2 times in total.
See you here and there... Youtube, Google Play, SoundCloud...

Post

Smashed Transistor, I have no connection whatsoever to the authors of that paper, just to be clear.
I'm not sure about the claim you make about academic research however, it seems a bit of a broad judgement to me.
Research, be it academic or else, usually builds up on prior art, and radical breakthroughs are not so frequent in any field.
Some times theoretical proof comes long after empirical results, with that proof helping better understanding and possibly allowing more innovation.

I have not seen any mention of their idea to use of BLAMP applied to a hard clipper followed by a correction step to achieve anti-aliased soft-clipping presented in this thread anywhere .. Have you even had a look at the paper ?

Anyway, leaving the topic of the originality of the method described in the paper aside,
an interesting result is that it manages to reduce aliasing, but there is quite a fair bit of it still there.
Also currently from I gather the method doesn't work arbitrary input signals at the moment.

Post

Well, they soft clip a blamped hard clipper. :wink:

When you are in the academic circles, there is a lot of pressure/stress for publications if you want your doctorate or if you want to continue your research. Publish or disappear... :scared: I've been there 20 years ago. So, I understand what it means for a doctoral student to publish papers, I've been in the process. I'm not being judgemental but we must be aware of that bias when we read their papers. Today i work in another field and musical signal processing is a pure hobby :phones:

Concerning my dilettante experiments on the subject,

As far as i experimented, i can anti-alias any kind of tabulated distortion or phase modulated wavetable, problem solved (as far as my ageing ears can hear).
I am very very happy with that, I will be able to code lots of lovely anti aliased JSFX plugins to play with :hyper:
Last edited by Smashed Transistors on Wed Sep 14, 2016 4:29 pm, edited 1 time in total.
See you here and there... Youtube, Google Play, SoundCloud...

Post

lorcan wrote: I have not seen any mention of their idea to use of BLAMP applied to a hard clipper followed by a correction step to achieve anti-aliased soft-clipping presented in this thread anywhere .. Have you even had a look at the paper ?
This method (or some trivial variant of the same) has been suggested on these very forums many times over the years (and I've suggested it a few times myself as a theoretical possibility). I can't give you an exact date when it first surfaced, but I'd say it was "known" (as an idea at least) already some 5 years ago... and more realistically it probably wasn't too long after Eli's original BLEP paper that people started considering it for clipping as well (and once you can hard-clip the extension is trivial and it's been noted many times over that only the hard-clipping part is really a problem). There might also be some patents using similar ideas, except they usually try to call it something else. I'd be surprised if there wasn't any commercial product using something very similar too.

That said, there's still some value in the paper as far as they actually bothered to implement it and measure whether or not it actually helps and where it fails.. but the idea itself is hardly novel. Who cares, it's not like this is the least original academic paper ever, the paper itself is actually kinda nice and saves you the trouble of trying to implement it just to see how well (or rather not) it works. :)

Post

I think it is important that ideas are published in academic papers or even in public forums like KVR DSP and others.

This way, they are put in the public domain, they become prior art and theoretically cannot be patented.

Even so... https://www.google.fr/patents/US7589272 :scared: :evil:
See you here and there... Youtube, Google Play, SoundCloud...

Post

Smashed Transistors wrote: Even so... https://www.google.fr/patents/US7589272 :scared: :evil:
There's probably like 20 different patents (by different people) that describe the same thing.

Unsurprisingly, they are all filed significantly after Eli's 2001 paper... go figure.

Post

@mystran I myself know very little about BLEP and its variants, apart from the basic concept, so I'll take your word for it :)

@Smashed Transistors Yes I completely agree.
But I'm not sure what happens in practice if for example Korg patents something based on publicly available existing works and some small developper uses that.
If they decided to sue the dev, it would take some time and a lot of money for lawyers before the case was made, and the dev would probably have to go out of business before that, or stop selling his product.
How a patent based on prior art can even get validated in the first place is beyond me, but that's another subject.

Post

lorcan wrote: But I'm not sure what happens in practice if for example Korg patents something based on publicly available existing works and some small developper uses that.
...
Well, lorcan, i don't know neither... and i really don't want to know.

Maybe, mystran, that's why i like old techniques like differentiated polynomials... self-preservation instinct.
See you here and there... Youtube, Google Play, SoundCloud...

Post

Off topic... Lorcan, do you know the Palme from the Ondes Martenot, its like a 30s hardware version of your Superchord.http://194.250.19.151/media/CM/IMAGE/CMIM000022800.jpg
See you here and there... Youtube, Google Play, SoundCloud...

Post

Wow, that's amazing, thanks for the info Smashed Transistors !
I didn't know about it no, I took my inspiration from the sitar actually.
Then I discovered many traditional instruments use sympathetic strings (https://en.wikipedia.org/wiki/Category: ... ic_strings)
Apparently a certain Julius Bluthner even patented that applied to piano in 1873, calling it 'aliquot stringing'

Post Reply

Return to “DSP and Plugin Development”