1

私は現在、A0、27.5Hzのピッチから始まるピッチで満たされた列挙型のサウンド生成プログラムを持っています。G#5までの、含まれているすべてのピッチの半音階をループスローするたびに、ピッチが何時間続いても、音はシフトの間にカチッと音がします。モデルとして使用しているコードはhttps://stackoverflow.com/a/2065693/1777648で、音波のバイト配列も同じように生成されますが、クリックを修正する方法がわかりません。あるピッチ波の終わりが次のピッチ波の始まりにつながっていないのではないかと感じています。

4

1 に答える 1

3

あなたの仮定は正しいです。クリックを避けたい場合は、完全な期間のみがバイト配列内に書き込まれるように、正弦波が生成されたことを確認する必要があります。そうしないと、波がカットされ、クリックノイズが発生します。

実装の場合:変数「nextPitch」を使用できます。これは、全期間が書き込まれるとすぐに現在のピッチになります。

于 2012-11-06T17:11:06.250 に答える