Re: Steven Curtin: Waveshaping?

From: Steven Curtin (sdcurtin@lucent.com)
Date: Wed Jan 07 1998 - 13:19:10 EST


>Assuming you mean "tableread", it is interpolating. I don't
>know why the spec doesn't say so, but I'll fix it in the next rev.
>It should say: 'if x is not an integer, then the value shall be
>interpolated from the nearby table values, as follows: (TBD)'.
>It's already implemented this way in the code.

OK, that's nice the way it switches depending on the input value as opposed
to being hard-coded interpolating or noninterpolating like in Csound.

>(Right now, all interpolation in 'saolc' is linear, so it sounds
>pretty bad for non-oversampled wavetables. The spec on this
>hasn't been written yet, but I'm hoping to get to it before
>the next MPEG meeting and then bring the code up to spec.)

Maybe the user should specify the interpolation method globally like they
do sample rate. Linear is fine for most close sampling synths on the
market and probably for a quick audition- you could then switch in the more
CPU-intensive and better-sounding interpolation for the final mixdown to a
file or with fewer instruments.

>Chebyshev are particularly useful due to their relation with
>FM synthesis, though, I guess. Maybe we should rethink that.
>For the time being, it's easy enough to write an iopcode
>that acts as a table generator (assuming you have the right
>algorithm around).

Yes, I would vote to make an exception for cheby since it's so often used.
For now you could just generate the transfer function in Matlab or C. (If
anybody out there has Matlab to generate the cheby I'd like to see it).

>Eh? No, that's not right, can you give me a reference so I can
>fix it. All calculation is done internally in double-float,
>then converted to 16-bit integer for output.

Oh good, I'm glad to hear that. The sample bank reference keeps referring
to 16-bit samples and that was where the confusion came from. I suppose
the internal data representation might also be implemetation-independent.

Steve C

--------------------------------------------------------------
Steven Curtin
http://www.emf.org/people_curtin.html
Lucent Technologies - Bell Labs Innovations
rm. 3C-208, 200 Laurel Ave S
Middletown, NJ 07748-4801 U S A
ph: (732)957-2996 fax: (732)957-6878
--------------------------------------------------------------



This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 11:46:31 EST