1

電話で2人の会話を録音する電話録音ソフトウェア(Android)を使用しています。各通話の出力は、発信者と着信者の両方からの音声を含むオーディオ ファイルです。

ただし、ほとんどの場合、このソフトウェアが実行されている電話からの音声は、他の電話よりも明確です。ユーザーは、2 つの音を同じようにはっきりさせてほしいと私に要求します。

だから私が今抱えている問題は、音量の異なる2つのソースからの音声を含むサウンドファイルがあります。ノイズに関して、これら2つのソースからの音声の音量を等しくするにはどうすればよいですか。これが電話であることを考えると、特定の時間に話しているのは 1 人だけです。

これには、少なくとも 1 つの直接的な解決策があります。サウンド ファイルの波形を分析するプログラムを作成し、ソースからのサウンド ファイルの部分の音声が小さいことを特定し、他の部分と一見バランスが取れているように見えるレベルまで上げます。ただし、これを実装するのは簡単ではありません。また、より良い解決策があることを願っています。何か提案はありますか?

ありがとうございました。

4

2 に答える 2

0

さて、最初にすべきことは、気にしないすべてのノイズを取り除くことです。

使用するスペクトルは、300 Hz ~ 3500 Hz です。

ノイズを大幅にカットする他のすべての周波数をカットできます。その後、自動イコライゼーション ゲイン プロファイルを適用したり、複数のデバイスで利用可能な DSP プロファイルを利用したりすることもできます。

機会があれば、このホワイトペーパーも参照してください。(IEEE または ACM メンバーシップが必要です)。

DirectShow 技術に基づく自動イコライゼーション システムとラジオ局のオーディオ放送システムへの応用

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5384659&contentType=Conference+Publications&searchWithin%3Dp_Authors%3A.QT.Bai+Xinyue.QT .

于 2012-11-11T04:32:40.943 に答える
0

これが私がこの問題を解決した方法です:

1. 保存されている WAV 形式のおかげで、オーディオを一連の整数値にデコードします。
結果は [xi] です。0 < x < 255

2. 次に、2 つのカスタム値を決定する必要があります。
- ノイズしきい値? if xi > threshold => それはノイズではありません (かなりナイーブです!)
- 人間の声の塊はどれくらいの長さの音であるべきですか?
私自身、最初の値を 5 に、2 番目の値を 100ms に選択します。

3. 私のアルゴリズムは [xi] を [Yi] に分析します。各 Y は x の配列であり、各 Y は人間の音のチャンクを表します。
その後、k=2 で k-mean を適用し、Y の 2 つの異なるクラスターを取得しました。1 つは声が大きい人に属し、もう 1 つは声が小さい人に属します。

4. 残ったものは非常に簡単です。パラメーター M を決定する必要があります。各 x は、より柔らかい声の Y に属し、M で乗算され、最終結果が得られます。

于 2012-11-17T13:02:15.200 に答える