2

c# でバンドパス フィルターを実装するにはどうすればよいですか? Silverlight でカスタム MediaStreamSource を使用しており、加算合成を使用してサウンドを生成しています。私のオーディオ ストリームは、int16 ショートの連続ストリームです。

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

...ここで、「サンプル」は、short.MinValue から short.MaxValue までの正弦計算 (またはその他の複雑な波形の組み合わせ) の関数です。

バンドパスフィルターをどこから始めればよいかわかりません。どうすれば実装できますか?

4

3 に答える 3

1

ああ、これは私が探しているものです:

ローパスフィルターソフト?

私はまだ試していませんが、それは私が見つけたいと思っていた生の計算例です。double の代わりに Int16 で動作するようにそのコードを修正する必要があるように見えます。また、必要な特定の定数/係数を定義するために、前に多くの汚い仕事があるように見えますが、取得する必要があります私は正しい方向に始めました。

于 2009-11-03T17:46:43.577 に答える
0

この質問への回答を参照してください。特に、ジェイコブの回答が役立つ場合があります。

于 2009-11-03T16:06:39.707 に答える
0

puhh これは数学ですよね ;-) だから私はその System.Math を推測し、この無料の本を読みます

于 2009-11-03T16:09:11.673 に答える