実世界の録音でFastICAによる音声信号の分離に失敗する


12

Python MDP FastICAのコードを使用して、ステレオWAVファイルでFastICAを実行するプログラムを作成しました。

オーディオの例私は非常に良い結果を得ます。

次に、マイク1をLチャンネルに、マイク2をRチャンネルに接続して、PCのステレオマイク入力に接続された2つのコンピューターモノラルマイクを使用して、現実世界の録音を試みます。静かな部屋で話している間に、バックグラウンドで音楽を再生してテストします。

ただし、FastICAを実行しても信号はまったく分離されません。マイクの品質が低すぎる可能性はありますか?FastICAを実行する前に、記録されたWAVファイル(16ビット、署名付きPCM、44100Hz)に対して何かする必要がありますか?

こちらから録画をダウンロードできます。

回答:


11

未加工のICAは、位相同期観測混合物での使用にのみ適しています。説明したようにマイクを使用すると、他のポスターで指摘されているように、位相遅延が発生します。ただし、この位相遅延は非常に役立ちます。遅延がある場合にステレオ分離を処理する最もよく知られているアルゴリズムはDUETです。リンクは壊れていますが、探しているリファレンスはこちら> http://eleceng.ucd.ie/~srickard/bss.htmlです。

これはあなたが探すべき論文です>
A. Jourjine、S。Rickard、およびO. Yilmaz、ばらばらの直交信号のブラインド分離:2つの混合物からのNソースの分離、IEEE Con​​ference on Acoustics、Speech、およびSignal Processing(ICASSP2000)、ボリューム5、ページ2985-2988、イスタンブール、トルコ、2000年6月


2
質問-ミックスは、複数の空間的に独立したマイクから来ている場合は...その後、私たちはどのようにすることができ、これまでの位相同期を持っている...私は、複数のマイクのこの例では、普遍的に使用されるが、見るすべてのテキストには、位相同期の場合?そのような問題はなぜ言及されていないのですか?ここで理解しようとしているだけで、ICAのシーンは初めてです。
スペイシー

@Mohammad:位相同期性は他のアプリケーションにも存在するのではないかと疑っています。彼らは単にオーディオアプリケーションを使用して、読者にもっと馴染みのあるものにします。
エンドリス

1
@Mohammad間隔のあるマイクでは、1つのソースに対して位相同期性を持たせることができます。ソースの両側に等距離に配置された2つのマイクでソースがキャプチャされることを想像してください。ソースからマイクまでのパスの長さはいずれの場合も同じであり、信号は両方のマイクの位相で受信されますが、そのソースの場合のみです。異なる空間次元に沿って等距離にマイクを追加して、不要な信号をさらに除去できます。いくつかのEEG分析技術がこれを利用します。また、各マイク間の位相遅延は周波数の関数になる(波長が原因)
Dan Barry

@DanBarry Thanks Dan-脳波に関する興味深い点。明確にしましょう-もちろん、センサーがソースから等距離にある場合、同じ遅延が発生することは明らかです... :-)私が目指していたのは、そのようなことを制御できないアプリケーションの場合でした(スピーカー多数のセンサーを備えた部屋)、ICAはそのような場合に機能すると言われています-しかし、99%の場合、位相同期性はありません-この場合、それが動作アルゴリズムとして宣伝されている場合-それでもそれらの位相の問題に敏感です-その後ここに何が欠けていますか?...ありがとう!
スペイシー

1
@endolithはい、それは素晴らしい解決策であり、機能します!2003年に似たような解決策を考えましたが、似たようなものを見つけることに失望しました。幸運なことに、2004年に最初のリアルタイムソース分離アルゴリズムを開発できました。オリジナルのデモはこちら> audioresearchgroup.com/main.php?page=Demosおよび新しい改良版は、ビデオデモで実際に見ることができます。ここ> riffstation.com
ダンバリー

6

私がページのさらに下で言うように:

異なるセンサーチャネルで異なる遅延で信号が発生した場合、ICAは実際にはうまく機能しないことがわかりました。瞬時のミキシング(すべての異なる録音で信号が互いに完全に同期していること)を想定しています。各ソースは各マイクからの距離が異なるため、パフォーマーとマイクの実際の状況では遅延発生します。

チャンネル間のこの遅延が理由だと思います。2つの波をよく見ると、あるチャンネルでは他のチャンネルよりも早く音が発生し、残りのチャンネルでは逆に音が発生することがわかります。

マイクの品質ではないことを証明するには、1つのマイクを使用して2つの異なる信号を異なる時間に録音し、それらをミックスして各信号の一部が各チャネルにあるようにし、その場合にICAが機能するかどうかを確認します。


私はもう試した。あなたが提案するように、それは遅延の問題であるべきです。別々の録音をミックスすることにより、FastICAはほぼ完璧な結果を生み出します。私は遅れに対処するいくつかの方法を見つける必要がある....
ジェレミー・

@Jeremy:その場合、別のアルゴリズムが必要になると思います。
エンドリス

遅延に対処できるbssアルゴを知っていますか?
ジェレミー

実際、録音して手をたたいて大きなシャープなノイズを出すと、大胆さの遅れに気づきません。
ジェレミー

1
@endolithあなたは正しいかもしれません-いくつかの新しい情報-私は脚注をチェックしました。:-/言い換えれば、ミキシングマトリックスは単に振幅を変更するものです。えー 今ではさらに混乱します。:-)
スペイシー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.