音声アクティビティ検出用のライブラリ(音声認識ではない)


18

前回の質問のフォローアップとして、音声検出ライブラリが存在するかどうか疑問に思っていました。音声検出とは、音声バッファを渡し、音声の開始と停止のインデックスを取得することを意味します。したがって、44kHzで10秒間のオーディオサンプリングがある場合、次のような数値の配列が期待されます。

44000
88000
123000
190334
...

これは、たとえば、スピーチが1秒で始まり、2秒で終わることなどを示します。

私が探していないのは、話し言葉からテキストを書き出す音声認識です。残念ながら、これは「音声検出」をグーグルで検索したときによく見られるものです。

ライブラリがC、C ++、またはObjective-Cで作成されていれば、iPhone用のアプリを作成しているので素晴らしいことです。

ありがとう!


1
次の答えのいずれかで答えを見つけることができます。dsp.stackexchange.com
questions

1
これは、音声の代わりに歌っ除いて、非常によく似ています。dsp.stackexchange.com/q/2367/29
endolith

1
また、関連する:dsp.stackexchange.com/a/1543/29「音声アクティビティ検出」
endolith

1
オンセット/オフセット検出を調べる必要があります。音楽、音声、レーダー信号処理で多くのアプリケーションを持つアクティブなフィールド。
-Cyber​​Men

回答:


13

その質問に対する私の答えで、音声アクティビティ検出はG.729などのコーデックの標準機能であると述べました。

これを適用するアルゴリズムの参照エンコーダーとデコーダーを探す必要があります。

そのような例の1つは-http://www.voiceage.com/openinit_g729.phpです

別の可能なソースはSpeexコーデックです。VADを実装する

ところで:「音声検出」ではなく、「音声アクティビティ検出」または「トークスパート」をグーグル検索する必要があります。



4

適応しきい値を使用した音声アクティビティ検出は、任意のプラットフォームに実装するのが非常に簡単で便利です

ここでは、適応エネルギーベースのアルゴリズムを使用できます

初めて計算するときの上記のアルゴリズムへの小さな追加は、エネルギーの平均を取り、Eminとしてマークするために行きます

これで、渡すフレームはサブフレームに分割され、さらに各サブフレームのアクティビティを調べることができます

オーバーラップしたフレームに関するさらなる問題を克服できます


論文にメソッドを実装しようとしていますが、ノイズ抑制のためにMin_Eがゼロのときに失われます。その場合、Thresh_Eは方程式から-INFになります。log1p(Min_E)を使用しても、Thresh_Eはゼロになるため、非ゼロのエネルギーのために有声フレームを誤分類するのは非常に簡単です。良い提案やそれを誤解していますか?式:スレッシュ_ Eエネルギー_ Pr imThresh * log(Min _ E)
ファーリー

3

LibVADはどうですか?

それはまさにあなたが説明していることのようです。

開示:私はLibVADの開発者です


libVADはどのように取得しますか?
トッド

それを購入することにより。ただし、フォームに入力するまで、ウェブサイトは価格を公開しません。
カミーユグードセヌ

2
リンクは、訪問者にフラッシュの更新を要求するマルウェアサイトに移動します。
スティーブセブランス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.