ユーザー定義の FIR フィルタ (finite impulse response filter) を音声に適用します。
振幅の設定はグラフ部分を直接マウスでクリックまたはドラッグして行います。グラフ上の赤線付近をクリックするとその位置に定義ポイントが作成されます。作成された定義ポイントはドラッグして移動させることができます。隣り合う定義ポイントを直線で結んだものがフィルタの振幅特性になります。
定義ポイントは幾つでも作成可能です。定義ポイントをドラッグして隣の定義ポイントに重ね合わせるとドラッグされていた側が消去されます。
定義ポイント間の補間のされ方はグラフに描かれている赤線のとおりになります。グラフの周波数軸が対数の場合と真数の場合とでは補間のされ方が違うことに注意してください。フィルタの振幅特性はおよそグラフのとおりになりますが、ある程度の誤差が生じます。
FIR フィルタの、より正確な振幅特性は、「実フィルタ表示」ボタンを押すと見ることができます。「実フィルタ表示」ボタンをもう一度押すと元の編集可能モードに戻ります。ユーザーの指定した特性と実フィルタとの誤差が大きい場合は (特に 100 Hz 程度以下の低域)、フィルタを長くすることで、指定した特性に近づけることができます。しかしフィルタを長くすることには、浮動小数点演算の誤差が蓄積するとか、計算に時間がかかるといったマイナス面があります。
定義ポイントを直接グラフに打っていく以外に、定義ファイルを読み込ませることでも振幅の設定ができます。
定義ファイルは定義ポイントの周波数と振幅を列挙した単純なテキスト ファイルです。一行につき、一つの定義ポイントの周波数と振幅を空白で区切って記述します。周波数はヘルツ、振幅は真数 (対数でなく) で記述します。区切りの空白は半角スペースまたはタブである必要があります。
100.0 0.00001
200.0 1.0
8000.0 1.0
8100.0 0.00001
アナログ フィルタやデジタル IIR フィルタ (最小位相系) を模したものを作る場合は、「因果的インパルス応答」にチェックを入れると、元のフィルタの位相特性に近くなります。
「因果的インパルス応答」が非チェックの場合は、フィルタの位相特性は直線位相 (linear phase) になります。
直線位相フィルタの場合は、「標準」フィルタ長は約 50 ミリ秒です。因果応答フィルタの場合は、振幅特性が直線位相フィルタとほぼ同じになるように適当な長さが選ばれます。
Sazanami Help
Copyright (c) 2023 Narumi Watanabe.
All Rights Reserved.