[PD] better tabread4~

Mathieu Bouchard matju at artengine.ca
Fri Jun 20 20:15:41 CEST 2008


On Wed, 11 Jun 2008, cyrille henry wrote:

> ok, if you don't wish to compile in order to test, here are 2 samples :
> http://www.chdh.free.fr/tab/tabosc4.wav
> http://www.chdh.free.fr/tab/tabosc4c.wav
> note that this is the worst case for tabread4~ : a very small table play at low frequency.

I believe that the difference will be more perceivable in non-sound 
contexts or at least non-waveform contexts, e.g. video/OpenGL, or 
sequencing.

> for bigger table, the difference can be very small.

For a normal 4-point interpolator, the size of the table does not matter, 
because you always only use the previous two points and the next two 
points. It's just the scale at which you are looking at the thing, that 
gives the impression of large details.

I tried [tabread4] between two arrays of different sizes, to visualise 
interpolation, and just clicking around in one array for a few minutes got 
me to produce quite wild discontinuities of first derivative. This has 
little to do with the twice-continuously-differentiable (C2) nice things 
that I learned in school and such.

In very large tables, the interpolation will get lousy because the 
resolution of floats gets too close to the resolution of the table indices 
themselves (that is, there are not enough fractions between two 
consecutive integers). But this does not happen at the beginning of the 
table. On average, though, or on worst-case (which often matters), bigger 
tables make things worse in pd.

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec


More information about the Pd-list mailing list