考察:「音源分離」

by ご近所のきよきよ


 
 音源分離をもう少し深く考えてみました。部分のパターンから全体を推測するという、パターン認識の技術が必要になりそうです。では、その顛末を・・・。
 
 二つの音f(t)とg(t)の合成y(t)を考えてみましょう(tは時間) 。
 y(t)=f(t)+g(t)
音色は基本的に周波数分布と関連していますから、これをフーリエ表現にします。
 Y(ω,t)=F(ω,t)+G(ω,t)
 Y(ω,t)=ΣYi(ω,t)*[ei]    [ei]は周波数要素の単位ベクトル
 F(ω,t)=ΣFi(ω,t)*[ei]
 G(ω,t)=ΣGi(ω,t)*[ei]
部分パターンマッチングを考えますから、マッチング部分だけを取り出す為に窓関数(Hf,Hg)を導入してみましょう。
 Y'(ω,t)=Hf(ω,t)*F(ω,t)+Hg(ω,t)*G(ω,t)
F(ω,t)とG(ω,t)が重ならないならば、ステップ窓関数で周波数成分が分離できて、
 Y'(ω,t)=Y(ω,t)
とでき、音源分離は簡単です。とくに時間変動しなければ完全に分離出来ます。
 
 問題は、周波数成分の分離が時間変動する場合と、周波数成分に重なりが有る場合です。重なる部分からは、音源分離情報を得る事ができません。そうすると、時間的に変動する、重ならない部分の抽出と、その部分から全体の周波数分布を推測する技術が必要になります。
 この重ならない部分の抽出は音源の音の大きさに影響されてはいけません。音の大きさを正規化しながらの周波数分布のパターン発見処理が必要になります。それはウェーブレット技術が得意な分野です。パターン発見も並列のウェーブレット解析処理で実現出来るでしょう。音源に特徴てきな部分パターンを用意しておいて、それで、ウェーブレット解析するのです。一致度が高い部分パターンの元パターンを選んで、音源分離の候補にすればいいのです。
 音源分離の基本的な技術は、ウェーブレット解析と部分パターンの定義方法の工夫で実現出来そうです。
 
 

おわり