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

Matt Barber brbrofsvl at gmail.com
Mon Nov 23 07:04:19 CET 2015


This should do it.

M

On Sun, Nov 22, 2015 at 10:36 PM, Alexandre Torres Porres <porres at 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 at 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 at 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 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
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> 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/20151123/94c38f05/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FM-fix.pd
Type: application/octet-stream
Size: 4460 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20151123/94c38f05/attachment.obj>


More information about the Pd-list mailing list