In short: what kind of mathematical function was applied to this sine WAVE?
I am trying to implement my own distortion plugins. Amongst other things I have read several chapters of Will Pirkle's book ("Designing audio effect plugins in C++"). In the few examples there are in this book and that I could find on the internet, the distortion functions are always pretty straightforward. Here are few examples:
y = 2*1/(1 + e**(-k*x)) - 1
y = [(e**x - 1)(e + 1)]/[(e**x + 1)(e - 1)]
y = tanh(kx) / tanh(k)y = arctan(kx) / arctan(k)
y = sng(x) * [1 - e**(-abs(kx))] / [1 - e**(-k)]
I then decided to apply some distortions from Ableton Live(1) to a sine wave to see if I could replicate the distortion or get something similar to it.
And none of the examples I found in the literature seem to work. Indeed, if we take equation 3 as an example, if the input is symmetrical at its peak like the sine wave is, then the output should also be symmetrical at its peaks. But that's not the case. To be more specific, for all the distortion examples above, if two samples have the same value, then the output for those two samples will also be the same.
As per my screenshot, we can see that is clearly not the case for that distortion as we can see that the symmetry around the peaks is broken. So my question is simple: what kind of DSP function is applied to the signal? I am speculating that it must have some kind of feedback to create this shape? Is there any examples you guys can refer me to?
To be clear, I'm not trying to replicate this exact distortion, I'm just trying to understand the kind of DSP functions that are used to implement those distortion plugins.
Thanks in advance for your help!
(1) Ableton Live is a DAW (digital audio work station) and is used to make music.
update: thanks all for the help, overwhelmed by how nice this community is :)