【发布时间】:2009-12-12 20:11:19
【问题描述】:
我已经实现了一个基本的 Karplus-Strong 算法。
Ringbuffer,填充白噪声,从前面输出一个样本,并将前两个元素的平均值附加到末尾并删除第一个元素。重复最后的步骤。
为了获得更好的结果并对其进行控制,我尝试实现该算法的扩展版本。
因此,我需要像低通滤波器这样的频率滤波器,而不是平均滤波器。
我的平均滤波器有两个输入和一个输出:avg(a,b) = (a+b)/2
维基百科页面上的示例代码提供与输入一样多的输出。
http://en.wikipedia.org/wiki/Low-pass_filter
我找到了其他(数学)版本,例如:
http://cnx.org/content/m15490/latest/
H(z) = (1+(1/z))/2
我猜z是一个复数。
两个版本都有两个输入和两个输出。
我如何从中获得一个有意义的价值?
还是我必须重写算法的更大部分?
如果是这样,我在哪里可以找到一个很好的解释?
【问题讨论】: