ウェーブテーブルと DDS に基づいた単純な位相変調シンセサイザーを作成しようとしています。正弦波の 4096 サンプルを含む 12 ビット ウェーブテーブルがあり、32 ビット フェーズ アキュムレータを使用しています。
私のアイデアの実装は機能しますが、位相変調の深さの変調に関連する低レベルのクラックルがたくさんあるようです. 私は次のようにサンプルを生成しています:
Modulator = Modulation*SineWavetable[PhaseAc2>>20];
Sample = SineWavetable[(PhaseAc1 + Modulator)>>20];
「Modulation」パラメーターを少しハード/ファストにモジュレートすることでクラックルが発生するのではないかと考えましたが、これが問題の原因ではないようです。この位相変調方法の潜在的な問題について教えてもらえますか?
いつものように、ありがとう!