ユーザー定義の IIR フィルタ (Infinite Impulse Response filter) を音声に適用します。
●フィルタの最大次数は 99 次です。係数名 (a0〜a99, b0〜b99) の定義は以下の形です。
H(z) は伝達関数、x はフィルタへの入力、y は出力
●係数は係数名と数値を等号で結んで記述します。一行当りー式を記述します。大文字と小文字の区別はしませんので a0 と A0 は同じ名前として扱われます。数値は 10, 20.0, 3.0e1 のような記述ができます。等号の前後などに半角スペースがある場合は読み飛ばされます。
例:
a0 = 1
a1 = 0.5
a2 = 2.0e-1
●b0 が記述されていない場合は b0 = 1 と判断し、b0 以外の係数で記述されていないものは、値が 0 であると判断します。
●右辺には計算式を記述することもできます。
例:
a0 = 1 + 2
a1 = (1.0 - 2.0) * 3.0 / 4.0
a2 = 2.0^(-3)
演算子 | 優先度 | 結合 |
^ (べき乗) | 高 ↑ ↓ 低 |
左から右 |
- (符号) | (単項演算子) | |
* (乗算) / (除算) |
左から右 | |
+ (加算) - (減算) |
a / b * c は (a / b) * c と同じです。a^b^c は (a^b)^c と同じです。
1/√2 を 2^-0.5 と書くとエラーになるので 2^(-0.5) と書く必要があります。
●行の始めの文字が # の行はコメント行です。# の前に半角スペースがあっても構いません。
●係数名以外のシンボルを係数名と同様に定義し、計算式に含めることができます。
例:
# moving average
g = 1/5
a0 = g
a1 = g
a2 = g
a3 = g
a4 = g
Sazanami Help
Copyright (c) 2023 Narumi Watanabe.
All Rights Reserved.