Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

フォルマント強調フィルタの設計に関する備忘録

先日作ったフォルマント強調フィルタ、実は低ビットレート音声符号化のポストフィルタでよく利用されている以下のようなフィルタをベースにしています。

f:id:Kurene:20200708235219p:plain
Recommendation ITU-T G.729 4.2.2 Short-term postfilter

ここで、1/A(z)はスペクトル包絡(声道特性)の伝達関数です。

また、パラメタ γn と γd を 0< γn < γd <1 の条件で値を選択し、フィルタの効果を調整します。

なので、入力の音声信号に対して線形予測分析などを適用し、A(z)の時間領域のフィルタ係数 a_i[n] を得てしまえば、あとはそのフィルタ係数を使ったARMAディジタルフィルタとして処理できます。

A(z/γ)のフィルタ係数はどうすればよいか迷いどころだと思いますが、z変換のスケーリングに関する性質を使います。(下記画像では、a-1が1/γに相当)

f:id:Kurene:20200709000307p:plain
"Scaling in the z-domain ", z-transform, en.wikipedia

従って、A(z/γ)=1+a[1]γz-1+a[2]γ2 z-2+a[3]γ3 z-3…となります(a[0]=1.0)。