Wavemorph was created from the combination of several ideas I was testing.
The first was user definable wave-shaping. I've seen many waveshapers based on polynomials and math functions for generating specific distortions, but this is a solution for those who want to draw in the way a waveform will actually be mangled. The x axis represents the incoming signal, and the y axis shows what values will come out.
The second concept was the emulation of old, nonlinear digital conversion. There are many bit-crushers and sample-reducers people use to add a nice layer of digital trash to a signal, but this takes bit-crushing a step further by adding in a controllable amount of nonlinearity. Additionally, bit depth can be altered for differing sample values. The lowest values of a signal can have 12 bit accuracy, while the highest values might only have a bit depth of 4.
The final idea, and my personal favorite, is dynamic morphing between wavetables. Not only can you make two separate wavetables and morph between them with the drag of a slider, you can assign the morphing to the signal's amplitude with attack and release characteristics! By dynamic morphing between tables, you can create distortion that actually changes based on the input level. You can even use it as a compressor that changes characteristics dynamically!
NOTE: Requires Pluggo Runtime
http://web.ics.purdue.edu/~afaulsti/...wavemorph.html
http://web.ics.purdue.edu/~afaulsti/...vemorphV05.dll





Reply With Quote