[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Sc-devel] [documentation] Shaper

Hi, the following from Shaper help file  is wrong:

Wavetable format is a special representation which includes an extra number between each sample containing the difference between two adjacent samples, to make linear interpolation faster.

Signal: [a0, a1, a2...]
Wavetable: [a0, a1-a0, a1, a2-a1, a2, a3-a2...]

If your buffer doesn't have the deltas between adjacent samples, the calculations are wrong and you get distortion.

Right would be:

Signal: [a0, a1, a2...]

Wavetable: [
	2 * a0 - a1 , a1 - a0,
	2 * a1 - a2, a2 - a1,
	2 * a2 - a3, a3 - a2

Also, as pointed out by JMC here:
<http://www.create.ucsb.edu/pipermail/sc-users/2007-February/ 031727.html>

Signal:asWavetable (from SC2) is not suited so well for waveshaping tables. It is for cycling, wrapping waves.