はじめに
業務で機械の音とかを取っているんだけど反響音って取り除けないか気になった。
センパイに相談したらARフィルタがいいよって勧めらえられたから調べてみた
AR(Autoregressive)フィルタとは
反響ノイズを取り除くフィルタで、
簡単に例えるとやまびこを取り除くフィルタでヤッホーの音波形の反射音ヤッホーを打ち消す感じです
※Snowみたいな画像に犬耳を付けるAR(Augmented Reality)フィルタではない!!
ARフィルタは音の中に同じ波形がどんな間隔で何個出ているかつまりやまびこ「ヤッホー」がどの位遅れで何回繰り返されるか。
つまりのつまり「どの辺に何個」音を跳ね返す物体があるのかをを学習している
使い方のイメージ
-
学習データの準備
次数をカバーするだけの長さの音が必要
つまり「ヤッホー ヤッホー ヤッホー」が途中で切れていないデータを準備 -
学習音からARフィルタを生成
-
確からしさの検証
AICやBICで適合度が最も高い次数を使う。
つまりAICやBICが元の「ヤッホー」の塊とやまびこと思われる「ヤッホー」が最も一致する値(の適合度)を出力してくれる。 -
同じ学習音をARフィルタで補正
まとめ
ARフィルタを調べてみて、反響音の除去にはとても有効なフィルタであることが分かった。
実際に使う際も、Pythonで実装すればそれなりに簡単にフィルタを作ることができるため、
今後活用したい。