O can see how that could happen. I think the error in Lagrange is spread out over all frequencies whereas I can imagine other interpolation methods in which the error would be at frequencies closer to the original sound (and so much harder to perceive in a situation like the one you're working in).
cheers Miller
On Wed, Jun 11, 2008 at 12:05:34AM +0200, cyrille henry wrote:
ok, thanks for the answer. i understand what's in your book, but i found other references where cubic interpolation is used for a function that offer continuity of the 1st derivative.
i can understand that tabread4~ minimise the error when the table is large (when you play it faster than the original speed). but with a small table, or when you play it slower, the first derivative discontinuity create lot's of high frequency.
So, in this condition, the function i use offer a better quality. see in the svn externals/nusmuk/tab/tabosc4c~-help.pd for more.
cyrille
Miller Puckette a ?crit :
I believe "lagrange interpolation" just means polynomail. tabread4~ uses cubic interpolation... details are in http://crca.ucsd.edu/~msp/techniques/latest/book-html/node31.html
It may be that there's a better way to do 4-point interpoation than Lagrange but the way to find out would be by doing careful distortion measurements. In particular, I know there are ways do do 4-point interpolation that don't give discontinuous first derivatives, but I think most measures of distortion would indicate using the Lagrance one instead.
cheers Miller
On Tue, Jun 10, 2008 at 05:29:49PM +0200, cyrille henry wrote:
Charles Henry a ?crit :
On Tue, Jun 10, 2008 at 4:43 AM, cyrille henry cyrille.henry@la-kitchen.fr wrote:
i realized that the 4 points interpolation in tabread4~ (and tabosc4~) are not optimal.
Please describe. I've analyze the interpolation formula too, and I think that it is a true cubic interpolation. Is the numerical accuracy bad?
well, i think the tabread4~ interpolation is a lagrange interpolator (but i'm may be wrong). at least with tabread4~, the 1st derivative is not continuous, while it should be with a cubic interpolation.
i program a cubic interpolation, and the shape of the waveform is really different.
please compile the object and look at the help patch to see the difference.
i can also send waveforme picture if needed.
cyrille
Chuck
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list