[PD] oscillators (osc~ / cycle~) not working well in FM?

Matt Barber brbrofsvl at gmail.com
Sun Nov 22 18:43:16 CET 2015

OK, subtracting out the DC is more stable, but still deteriorates after a
bit, since the exact value likely changes with frequency due to
interpolation. So the solution is going to have to be in writing the table.
We can do it in Pd but we're hampered by the six-digit limit on specifying
2pi directly as a float. The most accurate pi I can think of for feeding
through [cos] is [0 -1( -- [atan2]. [cos] uses the cosf() function from C,
which expects floats instead of doubles, so hopefully the symmetry is
better. I'm going to try it for a while and write back.


On Sun, Nov 22, 2015 at 11:16 AM, Roman Haefeli <reduzent at gmail.com> wrote:

> On Sun, 2015-11-22 at 10:44 +0100, volker böhm wrote:
> > hi,
> > i think the timbre change in the FM example is due to a less than ideal
> cosine wavetable which is used for osc~ (and cos~ etc.).
> > the "cos_maketable(void)" in d_osc.c produces a waveform which is
> slightly asymmetric, i.e. it has a tiny DC offset.
> > this in return, causes the timbre shift when used in an FM context
> (asymmetric FM).
> > vb
> Well spotted.
> Roman
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20151122/dee28411/attachment.html>

More information about the Pd-list mailing list