Skypeのエコーキャンセレーション機能などでオーディオファイルを実行したい。iChatやその他のVoIPにもこの機能がありますが、ファイルをインポートまたは開くことができるソフトウェアが見つかりません。
2 に答える
エコーを削除するには、マイクとリファレンスの2つのファイルが必要です。マイクはエコーを含む信号です。基準は、エコーを生成した元のオーディオを含む信号です。
これらのファイルを両方作成したら、エコー除去のロジックの構築を開始できます。主題に関するwikiページから始めます。
基本的なアプローチ:
遅延を決定します。振幅オフセットを決定します。
信号を反転します。遅延を適用します。振幅を調整します。両方のオーディオ ファイルを再生します。
どのマルチトラック オーディオ アプリでもこれが可能です (例: audacity、protools、または logic)。
より複雑な信号の場合は、フィルタリングについてより賢くする必要があります。理想的には、干渉する前に信号を抑制します (Skype のシナリオで)。
クールに聞こえますし、理論的には非常に理にかなっていますが、どうすればいいのかまだよくわかりません。私は Logic にかなりの経験がありますが、遅延を判断する方法がわかりません。ファイルのコピーを作成し、反転させて、いい音になるまで移動するだけでよいのでしょうか?
遅延を判断するには、2 つの信号のトランジェントを視覚的に並べるだけです。次に、最適なキャンセルを実現するために、ズームインしてサンプルまでの遅延を決定する必要があります。間近でなければキャンセルせず追加します。
振幅オフセットとは、元のノイズとエコー ノイズの音量差のことですか?
丁度。非常にまれなケースを除いて、エコーはソースとは異なる (通常は低い) 振幅になるため、最適にキャンセルするにはこの違いを知る必要があります (このオフセットは反転信号に適用されます)。振幅が間違っている場合は、反転した信号を (聞こえるように) 導入するか、エコーがソースよりも大きい場合は、エコーの一部だけを減らします。
トランジェントが(サンプルに対して)調整され、信号が反転したら、音量の違いを判断します。音量が高すぎたり低すぎたりすると、可能な限りキャンセルされません。
繰り返しますが、それは基本的なアプローチです。使用している信号とプロセッサに応じて、改善するために多くのことができます。ほとんどの場合、このアプローチは排除ではなく抑圧をもたらします。