音声が人間の音声にどの程度似ているかを判断する


12

この問題への答えを探している間、このボードが見つけたので、この質問を Stack Overflowからクロスポストすることにしました。


私は、音声セグメントと人間の声の類似性を判定する方法を探しています。これは数値で表現されています。

私はかなり検索しましたが、私がこれまでに見つけたもの(詳細は下記)は、私が必要とするものに実際には合いません。

  • 1つの方法は、音声認識ソフトウェアを使用して音声セグメントから単語を取得することです。ただし、この方法では、人間の発話に対する「類似した」音声を思い付くことができません。多くの場合、音声に単語があるかどうかを判断できますが、明確な単語がない場合、音声がそのような単語を持っていることを近くに伝えることはできません。
    例:CMU SphinxDragonflySHoUT

  • より有望な方法は、音声アクティビティ検出(VAD)と呼ばれます。ただし、これには同じ問題がある傾向があります。VADを使用するアルゴリズム/プログラムは、アクティビティのしきい値に達したかどうかを返すだけで、そのようなしきい値の前後に「類似性」値はありません。あるいは、多くの人は人間の音声との類似性ではなく、音量だけを探します。
    例:SpeexListenerFreeSWITCH


何か案は?


1
あなたの質問から、問題がA /オーディオ録音であるかどうか、そしてそれが人間のスピーチを含んでいるかどうかはわかりません(アプリケーションの例:ラジオ番組の録音からDJトークを検出および削除します); またはB /音声入力を取得し、参照音声セグメントにどの程度似ているかを言います。Bの場合、どの基準で類似性を測定しますか。メロディーの輪郭は?(例:歌われた声を歌に合わせる)。リズムとクラスターのクラスで?(例:ビートボックス/オノマトペをドラムループに一致させる)。音色で?(音声と効果音を一致させる)。アプリケーションを教えてください。
ピクネット

申し訳ありませんが、私の問題はAで詳しく説明したものです。オーディオセグメントが人間の発話であるかどうかを判断したいと思います。
ジェフゴートメーカー

1
私は関連する問題に取り組んでいます-いびき/呼吸の音がスピーチや音楽によって「汚染された」ときを判断しようとしています。信頼性を高め、「高度な」音声認識アルゴリズムに頼らずに(実際に機能する場合でも)イライラするのは困難です。私の観察では、音声は不規則なリズムを持つ傾向がありますが、音楽は(通常)規則的です。それとおそらく「スペクトルの平坦性」はチェックインする価値があります(私は今でもその目的のためにそのメリットを評価しています)。
ダニエルRヒックス

(さらに詳細:オーディオのFFTから計算されたスペクトルの平坦性の標準化された標準偏差は、オーディオ品質の何かを反映しているようです。)
ダニエルRヒックス

回答:


6

この種の問題は通常、機械学習技術を使用して解決されます。

信号を20msまたは50msフレームのシーケンスに分解します。各フレームで特徴を抽出します。MFCCは一般にこの種のアプリケーションに適していますが、音声検出に固有の機能(4 Hzの変調エネルギー-これはおおよそ人々が話す速度であり、ゼロクロスレート)があります。

次に、音声のトレーニングセットを使用して、音声ではなく音声として手動でラベル付けし、フレーム機能で分類器(ガウス混合モデル、SVM ...)をトレーニングします。

これにより、ラベルのないフレームを音声/非音声クラスに分類できます。最後の手順は、たとえばHMMまたはメディアンフィルターのみを使用して、決定を平滑化することです(数百の音声フレームに囲まれた非音声として分類されるフレームは分類エラーである可能性が高い)。

いくつかの参照:

音声ドキュメントの堅牢な音声/音楽分類(Pinquier&al) マルチメディアアプリケーション向けの音声/音楽識別(El-Maleh&al) の機能の比較(Carey&al)

それらが説明する機能と分類手法は、音声を検出する1クラスの問題にも関連することに注意してください(音声と他の何かを区別するのではなく)。この場合、1クラスSVMなどの1クラスモデリング手法を使用するか、音声データでトレーニングされたGMMから尤度スコアを「音声」尺度として取り出すことができます。

一方、あなたの問題がスピーチと他の何か(音楽など)を本当に区別している場合、このコンテンツ自体を識別するのではなく、同様のオーディオコンテンツ間の境界を検出することに焦点を当てた監視なしのアプローチを使用することもできます。


おかげで、これは非常に役立ちます!信号を小さなウィンドウに分割する利点は何ですか?探している出力はオーディオセグメント全体を表す数値であるため、特定のウィンドウだけでなく、信号全体の特徴を抽出した方が良いでしょうか?
ジェフゴートメーカー

非常に長いウィンドウで特徴(特にスペクトルまたはケプストラムの特徴)を計算すると、音声を際立たせるいくつかのプロパティが平均化またはキャンセルされます。音声の多くの短い断片を一緒に混合することにより、これを自分で確認することができます-結果を音声として認識することは困難です。したがって、小さなセグメントで分類を実行することをお勧めします。そして、あなたの場合、スコアを集約します(たとえば、GMMによって与えられた尤度スコアの平均を計算します;または、バイナリ分類子によって音声として分類されたフレームの%を計算します)。
ピクネット

より正確に言うと、スペクトルを見ると時間ディメンションが「崩壊」していることに注意してください。たとえば、500 Hzトーンのパワースペクトルとそれに続く1 kHzトーンのパワースペクトルは、同時に再生される2つのトーンのパワースペクトルに似ています。そのため、長いウィンドウで大きく変化する信号のパワースペクトルは、信号の内容を非常によく表していない可能性があります。
ピクネット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.