2021/01/24

ウェーブテーブルのピッチベンド

ウェーブテーブルのピッチベンドを読む (github.io)

Laurent de Soras さんによる The Quest For The Perfect Resampler を参考にして、ウェーブテーブルをピッチベンドしたときにエイリアシングノイズを出さないようにする方法を試しました。 

オクターブごとにウェーブテーブルを用意して、線形補間と2倍のオーバーサンプリングを組み合わせることでエイリアシングノイズは消せました。ただしピッチベンド中にウェーブテーブルが切り替わるとポップノイズが出ます。ポップノイズを抑えたいときは4倍以上にオーバーサンプリングするとよさそうです。

De Soras さんの資料ではミップマップとアップサンプラを組み合わせていますが、フィルタ係数の補間と FIR の畳み込みが重たそうだったので今回は実装していません。

画像の上は今回実装したオーバーサンプリングを行うウェーブテーブルオシレータでのこぎり波を出力したときのスペクトログラムです。下はウェーブテーブルが切り替わるタイミングを示しています。

2021/02/24追記: リンク先の記事を大幅に加筆修正しました。