# Hi, while I was looking some examples for my chip design class I came across with this site: http://www.fpga.synth.net/pmwiki/pmwiki.php?n=FPGASynth.PhaseDistortionOscil... where it talks about the idea of Phase Distortion Oscillator: http://en.wikipedia.org/wiki/Phase_distortion_synthesis # I made a very simple implementation of it with Pure Data. (Actually PD is very fast for realizing the ideas!) And want to share it. # I am attaching the patch: PhaseDistortion.pd There are two tables with the same length. First table includes the phase values of the sin function, ie. if the n.th point in the first table has the value x_n then n.th point in the second has the value of sin(2*pi*x_n). My patch is not versatile. It has only one parameter for manipulating the first table. You can change it with the slider and see its effects. (There is some aliasing, because I did not used any interpolation for reading from the table) # Have a nice day! -ugur-
Uğur Güney wrote:
You can change it with the slider and see its effects. (There is some aliasing, because I did not used any interpolation for reading from the table)
I get some crackling noise when I move the slider, is this what you're talking about? It would be cool to avoid this, since I imagine this being highly useful if wrapped up in an abstraction, with modulateable phase distortion (like modulating a lpf in subtractive synthesis).
If I find some time over the next few days, I'll look into this.
Thanks for sharing!
Ugur, here is your original patch with the expr converted into expr~
also, you can get some really cool resonant filter sort of sounds by really distorting the phase (like 10 times). i added a slider for that too.
# Your technique of using expr~ and creating the waveform on the fly (rather than trying to calculate it in a table and getting clicks and glitches) is great! Now the parameters are real-time tweakeable, as Atte requested! # The problem using a partial function is the discontinuity in its slope. So, i changed the function used in the expr~ with a gaussian function. The width and height of it are adjustable. You can try. -ugur-
On Sun, Jun 29, 2008 at 2:59 PM, hard off hard.off@gmail.com wrote:
Ugur, here is your original patch with the expr converted into expr~
also, you can get some really cool resonant filter sort of sounds by really distorting the phase (like 10 times). i added a slider for that too.
...and you can also get some squelchier sounds by increasing those sliders to a larger range, and playing the phasor~ at lower frequencies.
i did a patch a while back that uses something similar to the phase distortion algorithm used by casio cz-series synthesizers:
http://puredata.hurleur.com/sujet-648-casio-sounds-gets-emulated