This should do it.

M

On Sun, Nov 22, 2015 at 10:36 PM, Alexandre Torres Porres <porres@gmail.com> wrote:
Did you make it work in a patch? if so, can you share it? :)

Maybe someone could work on a "fix" on the source and send it to miller, perhaps this could be updated for the next version release (0.47).

cheers

2015-11-22 19:32 GMT-02:00 Matt Barber <brbrofsvl@gmail.com>:
Yeah, so all that really needs to be done is to force symmetry by copying the 0-pi phase inverted to the pi-2pi phase + guard points for [tabosc4~]. I did that and it's been stable for 3.5 hours. It wouldn't be too hard to fix this in the Pd source; it would be a marked improvement to [osc~] even with the 512-pt table and linear interpolation.

On Sun, Nov 22, 2015 at 12:43 PM, Matt Barber <brbrofsvl@gmail.com> wrote:
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.

Matt

On Sun, Nov 22, 2015 at 11:16 AM, Roman Haefeli <reduzent@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@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list




_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list