如何在c#/ Silverlight中实现带通滤波器

时间:2009-11-03 14:37:57

标签: c# silverlight audio synthesis

我如何在c#中实现带通滤波器?我在Silverlight中使用自定义MediaStreamSource并使用加性合成来产生声音。我的音频流是连续的int16短片流:

//over-simplified example:
short sample = oscillator.GetNextSample();
memoryStream.WriteByte((byte)(sample & 0xFF));
memoryStream.WriteByte((byte)(sample >> 8));

...其中“sample”是正弦计算(或其他一些复杂的波形组合)的函数,范围从short.MinValue到short.MaxValue。

我不知道从哪里开始使用带通滤波器。我将如何实施它?

3 个答案:

答案 0 :(得分:1)

啊,这就是我要找的东西:

Low pass filter software?

我还没有尝试过,但这是我希望找到的原始计算示例。看起来我需要修改那些代码才能使用Int16而不是双打,而且看起来我还有很多脏工作要么定义我需要的特定常量/系数,但它应该得到我从正确的方向开始。

答案 1 :(得分:0)

查看this question的答案,特别是您可能会发现Jacob's answer有用。

答案 2 :(得分:0)

嗯,这是数学,不是吗;-) 所以我想它的System.Math 并阅读此免费book

相关问题