However, speed put aside: If you want to change the waveshaping function on the fly, then you're stuck with arithmetics as changing a table's content is generally a no go in Pd in this use case. There are some special externals for Chebyshev polynome based waveshaping. I did shabby~ and shaffy~ but they are crude and even I don't use them anymore, the better one is in Tom Schouten's collection of creb and called [cheby~]
I found that changing the table that is being read using a set message triggered by a samphold (with some method of blocking unwanted bangs) accomplishes the arithmetic switching on the fly... the arithmetics just have to be predetermined and written into the various arrays on load up. Also... I'm using waveshaping for distortion. To me Chebychev polys seem more of a practice found in synthesis as opposed to signal processing. I've found that the fractional power equations offer a very good approximation of traditional analog distortion. Other interesting equations are those based off sums of odd powers. I've also tried various combinations of periodic equations as well (atan, tan, acos, etc)... Well... this is all for people more interested in playing with distortion. Cool thing about the arrays, though, is that you can draw in data on the fly. Yeah noise!
Thanks to all those who've responded!
Cheers- Phil
Do you Yahoo!? Yahoo! Search presents - Jib Jab's 'Second Term'