Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

Reducing aliasing of waveshaping using convolution

DSP related issues, mathematics, processing and techniques

Reducing aliasing of waveshaping using convolution

Postby stw » Thu Jun 22, 2017 10:42 pm

This is a proof of concept of REDUCING ALIASING OF NONLINEAR WAVESHAPING USING CONVOLUTION
I recently stumbled over that conference paper and implemented the method in my upcoming plug.
However i found it surprisingly efficient compared to the cost of CPU (well, at least if done in C++ :mrgreen: )
So i mocked up the given tanh example in fsm to let you guys take a look at it.
Maybe someone wants to dig deeper into this or implement some other waveshaping functions.
The code is absolutely non optimized and much room for improvement is left ;)

The full paper can be found here:
https://www.researchgate.net/publication/308020367

Some interesting related and other projects and papers can be found there as well!

cheers, stw

conv tanh.fsm
Reducing aliasing of nonlinear waveshaping using convolution
(867.53 KiB) Downloaded 84 times
stw
 
Posts: 113
Joined: Tue Jul 13, 2010 11:09 am

Re: Reducing aliasing of waveshaping using convolution

Postby martinvicanek » Sun Jun 25, 2017 10:06 pm

Thanks for sharing this, stw!
Funny I never perceived aliasing in digital distortion as something bad. If anything, it adds some extra dirt and may enhance expression. Anyway, thanks!
BTW it would be interesting to compare this method with oversampling performance wise. If done right with polyphase filters and such, it is not obvious to me which is more efficient.
martinvicanek
 
Posts: 709
Joined: Sat Jun 22, 2013 8:28 pm

Re: Reducing aliasing of waveshaping using convolution

Postby Spogg » Mon Jun 26, 2017 9:10 am

Not directly related but, thanks to Adam Szabo, I recently discovered Roland’s technique of using a tracking HPF set to the fundamental pitch of an oscillator. This all but eliminates the aliasing frequencies below the fundamental but still keeps the higher enharmonics created and, to my ears, sounds quite nice.

Of course if you don't know the fundmental then you'd have to find it and that takes time, but you could use a look-ahead system I guess.

Cheers

Spogg
User avatar
Spogg
 
Posts: 1464
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: Reducing aliasing of waveshaping using convolution

Postby stw » Mon Jun 26, 2017 11:50 am

Hi Martin,
well i'd say it's a matter of taste. Maybe if you like to have it less digital and more analogueish style it'll become an issue.
Depending on the input source this "extra dirt" sometimes can be annoying. But you're right, in case of wave shaping it's less important than in other effects.
The cost will always be dependant on the antiderivative you get from the original function. I'd guess most times it'll be less expensive compared to oversampling. At least if you're doing it more than 2x.
Anyway, i think it's an interesting concept.
stw
 
Posts: 113
Joined: Tue Jul 13, 2010 11:09 am

Re: Reducing aliasing of waveshaping using convolution

Postby stw » Mon Jun 26, 2017 11:58 am

Spogg wrote:Not directly related but, thanks to Adam Szabo, I recently discovered Roland’s technique of using a tracking HPF set to the fundamental pitch of an oscillator. This all but eliminates the aliasing frequencies below the fundamental but still keeps the higher enharmonics created and, to my ears, sounds quite nice.

Of course if you don't know the fundmental then you'd have to find it and that takes time, but you could use a look-ahead system I guess.

Cheers

Spogg


Yes, that's a good approach if you're dealing with synths or other environments which provide single fundamental frequencies. But in case of e.g. an general effect plugin which runs on any audio mix that wouldn't work.
Beside that you always get aliasing above the fundamental frequency too.
stw
 
Posts: 113
Joined: Tue Jul 13, 2010 11:09 am

Re: Reducing aliasing of waveshaping using convolution

Postby Iainmf » Mon Jun 26, 2017 12:59 pm

I've played around with pre-filtering with a low-pass filter before the waveshaping. The idea is that the content in the top octave or so will be masked by the harmonics of the distortion and the ear is not very sensitive in this range anyway. You could think of it resampling to half the sample rate and then using 2x oversampling (which is the original sample rate). You can push it a little bit more with guitar amp applications because guitar amp speakers typically roll off quite low.

Maybe something else to add to the tool box.
Iainmf
 
Posts: 10
Joined: Fri May 01, 2015 7:17 am


Return to DSP

Who is online

Users browsing this forum: No registered users and 5 guests