stk :: SineWave如何计算正弦值?

时间:2013-03-22 15:21:47

标签: c++ sound-synthesis

我是C ++的新手,我正在尝试理解SineWave class from the Synthesis Toolkitdescription说:

This class computes and saves a static sine "table" that can be shared by multiple instances. It has an interface similar to the WaveLoop class but inherits from the Generator class. Output values are computed using linear interpolation.

所以我猜它根本不计算正弦值?如果它在正弦波的高点和低点之间使用线性插值,那不就是三角波吗?有人可以解释计算的作用吗?

1 个答案:

答案 0 :(得分:0)

如果您查看the implementation,您会看到构造函数按sin的步长计算0.01.0范围内的1.0 / TABLE_SIZE ,默认情况下TABLE_SIZE2048。然后在这些值之间进行线性插值。这非常接近正弦函数。