so, i put together a patch to make to make 16 harmonic waveforms. i am using the sinsum message as demonstrated in the floss manual. there is a clicking that sounds to me like it is the result of an index in the table that isn't receiving a value, but i'm not sure how that could be. the patch is attached i was hoping someone might be able to help me figure out why it is making the clicking sound.
-
Trouble using sinesum and tabread4~
-
Change the lookup to this:
[phasor~]
|
[*~ 1024]
|
[+~ 1]
|
[tabread4~ $0-waveform]Sinesum adds three guard points to the waveform (one in the beginning, two at the end) to ensure that the 4-point interpolation used by [tabread4~] and [tabosc4~] work correctly. So your 1024 point table actually becomes 1027 points. The first guard point is just a copy of the last sample, and the ending two guard points are just copies of the first two sample. You don't read them directly, they're just used for the interpolation. But if you ignore them, [tabread4~] assumes the samples past the ends of the waveform are 0 and calculates the interpolated value wrong, which is why you're getting clicks.
-
Why add 1?
-
Too avoid the first guard point. It's just there for the 4-point interpolation, which uses one previous point and two following points from int(index). It's just a copy of index 1024, which you're reading anyway.
-
Revisiting this stuff, thought this was a nice visualization of the 'problem': http://puredata.hurleur.com/sujet-3703-guard-points-tabosc4