|
how is number precision handled in csound variables ?
It seems to me there is plenty resolution in the variables,
but that the resolution is sometimes not utilized by the receiving opcode.
when using fof2 to granulate audio from a long ftable for example,
I need to set the kform variable very low to get a 1:1 playback transposition rate.
When using a ftable size of 2097152 for the source audio to be granulated,
I need to set kform somewhere close to 0.02.
When kform is set to a value this low, I lose resolution, and I am not able to set it to a value that gives the pitch/transposition I want.
I tried to let kform go from 0.02 to 0.04 during the length of a note,
and this creates a pitch transposition that moves in steps, it sounds somewhat similar to a part of the overtone series.
If I put a printk statement in there, I can easily see that the kform parameter has a much finer resolution than the pitches created by fof2,
so I think it is not related to number precision per se, but how it is handled inside the opcode.
On a related matter, I recall having used poscil instead of oscil some times, to get better pitch resolution.
My question is:
What is the cause of the poor pitch resolution at low fundamental frequencies ?
And, is there anything I could do to improve the matter ?
best
Oeyvind
|