非常にうるさいオーディオからのノイズ低減


8

バードコールの録音でオーディオの一部を自動的にセグメント化するアルゴリズムを記述しようとしています。私の入力データは1分間のwaveファイルであり、出力では、さらに分析するために個別の呼び出しを取得したいと考えています。問題は、S / N比が環境条件とマイクの品質(モノラル、8 kHzサンプリング)の質が悪いためにかなりひどいことです。

ノイズ除去をさらに進める方法についてのアドバイスをいただければ幸いです。

これが私の入力の例です。ウェーブ形式で1分の音声録音:http : //goo.gl/16fG8P

これは信号がどのように見えるかです:

私の入力信号(8 kHz)。 マークされた領域は鳥の鳴き声を示します

バンドパスフィルタリングでは、1500〜2500 Hzの範囲にあるものだけを維持していますが、状況は改善されますが、それでも期待からはほど遠いです。このスペクトルにはまだ多くのノイズが存在しています。

スペクトログラム

また、長期的な(32サンプル間隔を超える)平均エネルギーをプロットし、そこからいくつかのクリックを削除しました。結果は次のとおりです。

長期平均エネルギー

残りのすべてのノイズについて、開始検出アルゴリズムに非常に低いしきい値を設定して、最後の10秒間の鳥の鳴き声を選択する必要があります。問題は、そのような方法で微調整すると、次のレコーディングで誤検知が大量に発生する可能性があることです。

移動平均フィルターは、風雑音に少し役立ちます。他のアイデアは?「スペクトラルサブトラクション」を考えていましたが、鶏と卵の問題があるようです。ノイズのみの領域を見つけるには、オーディオをセグメント化し、オーディオをセグメント化して、ノイズを除去する必要があります。このアルゴリズムを含むライブラリや、疑似コードの実装を知っていますか?Methinks Audacityは、このような方法を使用してノイズを除去します。これは非常に効果的ですが、ノイズのみの領域をマークするのはユーザーに任されています。

私はPythonで書いており、それは無料のオープンソースプロジェクトです。

読んでくれてありがとう!


DSP.SEへようこそ。これは素晴らしい質問です!ここで良いリードが得られることを願っています。
フォノン2013年

@Lukasz Tracewski Respected sir:手遅れですが、同じプロジェクトに取り組んでいるので、wavファイルからスペクトログラムを作成する方法に問題があります。過去2か月からこの問題を解決しようとして、さらに時間を節約できます。よろしく
お願いいたします。どんな

@MubeenKhanオーディオファイルからスペクトログラムを作成するのを手伝うという意味ですか?目的に合った数十のツールとライブラリがありますが、何か推奨事項はありますか?または、ノイズ低減について質問していますか?
Lukasz Tracewski、

回答:


4

最後に、最良のソリューションであることが証明されたのは、高周波またはエネルギー含有量に基づく開始検出でした。ノイズが多すぎるため、ハイパスフィルターを使用して最初の1 kHzをカットする必要がありました。

ノイズのみの領域ができたら、そのプロファイルを使用して、残りのサンプルからのノイズを減らすことができます。

特に便利だと思ったライブラリの1つがAubioでした。良い例のセットがあり、発症検出のために選択できる多くのアルゴリズムを提供します。


0

オーディオノイズリダクションについてはあまり知りませんが、フィルター処理された通過帯域(1500〜3000 hz程度)からノイズをすばやく減算すると、次のようになります。

https://dl.dropboxusercontent.com/u/98395391/signal_denoised.wav

フィルター処理された信号と元の信号のほうが少し良いと思います。

単純なウィーナーフィルターを使用すると、非常によく似た結果が得られます。


私があなたを誤解していない限り、あなたは私の質問の2番目の段落(最初のグラフのすぐ下)ですでに私がしたことを参照しているようです。私の回答に記載されている方法で、すべての開始点を見つけ、スペクトル減算を適用することができました。これにより、さらに優れた結果が得られます。残念ながら、これはいわゆる「ミュージカル・トーン」も生み出しますが、それが今私の最大の関心事です。とにかくありがとう!
Lukasz Tracewski 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.