2022/05/08

リミッタの改善

リミッタの実装を大幅に改善しました。移動平均フィルタの修正、トゥルーピークモードの設計と評価、リリースの計算あたりが大きな変更です。まだマニュアルを書いていないのでリリースはしていませんが、プラグインのリポジトリに BasicLimiter という名前で実装を追加しています。 

BasicLimiter は名前の通りベーシックなので特に目新しい音は出ませんが、オープンソースであることと、トゥルーピークモードがやや贅沢に作ってあることが特長です。トゥルーピークモードについてはオーバーサンプリングが 8 倍で、アップサンプラとダウンサンプラの FIR フィルタ係数の長さがどちらも 512 です。ナイキスト周波数付近の成分はトゥルーピークの検出が困難なので、オーバーサンプリングの前にプリフィルタをかけて落とすようにしています。

上の画像のようにデフォルトで Threshold が -0.1 dB になっているのは、 sinc 補間で得られる理論上のトゥルーピークを完全に制限することはできないからです。 BasicLimiter の性能を簡単に調べたところ +8.8 dB のトゥルーピークを +0.05 dB まで制限することができていました。 -0.1 という数字はこの 0.05 を 2 倍しただけのざっくりした値です。

ついでにすべてのプラグインでカスタムフォントを使うようにしたことで見た目がだいぶましになりました。