【问题标题】:How to implement a band-pass filter in c# / Silverlight如何在 C#/Silverlight 中实现带通滤波器
【发布时间】:2009-11-03 14:37:56
【问题描述】:

如何在 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。

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

【问题讨论】:

    标签: c# silverlight audio synthesis


    【解决方案1】:

    啊,这就是我要找的:

    Low pass filter software?

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我不确定这些响应将如何转化为我的 Silverlight 应用程序,因为它们似乎针对托管 DirectX 或非托管库 - 在我的上下文中这两者都不可用。我希望能找到更多“原始”计算示例。不过,这些回复可能会有所帮助 - 我会看看。
      【解决方案3】:

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

      【讨论】:

      猜你喜欢
      • 2011-05-05
      • 2012-05-09
      • 2014-10-27
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      相关资源
      最近更新 更多