6

私は子供向けのソフトウェアに取り組んでおり、ソフトウェアが多くの非音声音に応答する機能を追加しようとしています。たとえば、拍手、吠える、口笛を吹く、おならの音などです。

過去に CMU Sphinx と Windows Speech API を使用したことがありますが、どちらも音声以外のノイズをサポートしていないことがわかります。実際、積極的にそれらを除外すると思います。

一般に、「この機能を取得するにはどうすればよいですか」を探していますが、次に何を検索するかについての私の推測である3つの質問に分解すると役立つと思います。

  1. 主要な音声認識エンジンの 1 つを使用して、音響モデルまたは発音レキシコンを変更することにより、単語以外の音を認識する方法はありますか?
  2. (または) 単語以外のノイズ認識を行う既存のライブラリは既に存在しますか?
  3. (または) 私は隠れマルコフモデルと大学の音声認識の基礎となる技術に少し精通していますが、ゼロから非常に小さなノイズ/サウンド認識器を作成することがどれほど難しいかについての適切な見積もりはありません (<20 のノイズから認識されます)。1) と 2) が失敗した場合、自分でロールするのにかかる時間の見積もりはありますか?

ありがとう

4

2 に答える 2

4

はい、CMU Sphinx などの音声認識ソフトウェアを使用して、音声以外の音を認識することができます。このためには、独自の音響モデルと言語モデルを作成し、タスクに限定されたレキシコンを定義する必要があります。ただし、対応する音響モデルをトレーニングするには、関心のある注釈付きの音を含む十分なトレーニング データが必要です。

要するに、一連の手順は次のとおりです。

まず、トレーニング用のリソース (レキシコン、辞書など) を準備します。プロセスについては、http: //cmusphinx.sourceforge.net/wiki/tutorialamで説明されています。しかし、あなたの場合、音素セットと辞書を再定義する必要があります。つまり、フィラーを実際の単語としてモデル化する必要があり (そのため、++周りにはありません)、完全な音素セットを定義する必要はありません。多くの可能性がありますが、おそらく最も単純なのは、すべての音声音素に対して単一のモデルを使用することです。したがって、レキシコンは次のようになります。

CLAP CLAP
BARK BARK
WHISTLE WHISTLE
FART FART
SPEECH SPEECH

次に、ラベル付きのトレーニング データを準備します。これは VoxForge に似ていますが、テキスト注釈にはレキシコンのラベルのみを含める必要があります。もちろん、音声以外の音にも正しくラベルを付ける必要があります。ここでの良い質問は、そのようなデータを十分に大量に取得する場所です。しかし、私はそれが可能であるべきだと思います。

これで、モデルをトレーニングできます。タスクは音声認識に比べて簡単です。たとえば、モノフォンだけでトライフォンを使用する必要はありません。

任意の音声/音声の事前確率が等しいと仮定すると、最も単純な言語モデルはループのような文法になります ( http://cmusphinx.sourceforge.net/wiki/tutoriallm ):

#JSGF V1.0;
/**
 * JSGF Grammar for Hello World example
 */
grammar foo;
public <foo> = (CLAP | BARK | WHISTLE | FART | SPEECH)+ ;

これは、タスクに ASR ツールキットを使用するための非常に基本的なアプローチです。HMM 構成を微調整し、統計的言語モデルを使用し、きめの細かい音素モデリングを使用することで、さらに改善できます (たとえば、単一の SPEECH モデルを使用する代わりに母音と子音を区別します。トレーニング データの性質によって異なります)。

音声認識のフレームワークの外では、入力データをフレームごとに分析する単純な静的分類器を構築できます。スペクトログラム上で動作する畳み込みニューラル ネットワークは、このタスクに非常に適しています。

于 2016-12-28T10:41:50.217 に答える
0

使用できる既存のライブラリはわかりません。独自のライブラリを作成する必要があるかもしれません。

この論文は興味深いものでしょうか?いくつかの技術的な詳細があり、拍手を認識してホイッスルと区別できるようです。

于 2010-11-04T15:43:25.583 に答える