我如何在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。
我不知道从哪里开始使用带通滤波器。我将如何实施它?
答案 0 :(得分:1)
啊,这就是我要找的东西:
我还没有尝试过,但这是我希望找到的原始计算示例。看起来我需要修改那些代码才能使用Int16而不是双打,而且看起来我还有很多脏工作要么定义我需要的特定常量/系数,但它应该得到我从正确的方向开始。
答案 1 :(得分:0)
查看this question的答案,特别是您可能会发现Jacob's answer有用。
答案 2 :(得分:0)