0

私はsphinx4と音声認識のことは初めてです。sphinx4を使って音声アプリを作っています。問題はノイズであり、ユーザーによる音声入力がなくてもプログラムによって認識されます。つまり、ユーザーによる音声入力がない場合でも音声をテキストに変換するため、精度に影響します。

主な問題は、ノイズリダクションをどのように実装するかです。これは、マイクに向かって何も話していなくても、システムが入力を検出するためです。だから、ノイズのせいだと思います。

ノイズリダクションについてオンラインで確認しましたが、同じことについて明確な情報はほとんどありません. sphinx4 に付属している Denoise.java という名前のファイルについて、インターネット上でいくつかの情報があります。しかし、sphinx4-1.06 にはありません。

もう 1 つのファイルは WienerFilter.java です。wienerfilter は、ノイズの多い信号に使用されるフィルターのタイプです。しかし、そのファイルを使用または実装するための指示はありません。

プログラムの文法ファイルである hello.gram には、すでにいくつかの単語を追加しています。Imtool によって生成されたこれらの余分な単語の音声表現が辞書に追加されました。

私はEclipseとsphinx4-1.0beta6を使用しています

"HOW TO ACITIVATE NOISE CANCELLATION IN SPHINX4" のスタック オーバーフローに関する質問が 1 つありますが、まだ回答がありません。

4

1 に答える 1

3

最新バージョンの sphinx4-5prealpha では、スペクトル減算による静的ノイズ キャンセルがデフォルトで有効になっています。特別なことをする必要はありません。最新バージョンを使用するだけです。

チュートリアルに従ってください:

http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4

言語モデルによる大語彙のデコードではなく、文法のデコードを使用している場合、最新バージョンでは余分な音声は無視されます。文法デコードを使用する場合、文法内のすべての単語を無視する必要があります。文法にない単語については、特別な単語を返す必要があり<unk>ます。

精度のデバッグは複雑なプロセスであり、精度の問題を再現するにはテスト記録が必要です。テスト記録がなければ、精度を向上させる方法を提案することは困難です。テスト記録のほかに、デコードに使用するモデルや結果を再現するためのその他の情報を提供する必要があります。

于 2015-03-15T15:04:41.747 に答える