2

.NET 音声テキスト変換ライブラリ (SpeechRecognizer) の使用を開始しました

このサイトをグーグルで検索しているときに、次のコードサンプルを見つけました。

var c = new Choices();
for (var i = 0; i <= 100; i++)
  c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.UnloadAllGrammars();
rec.LoadGrammar(g);
rec.Enabled = true;

それは私が始めるのを助けました。この2行を変更しました

for (var i = 0; i <= 100; i++)
   c.Add(i.ToString());

私の必要に

c.Add("Open");
c.Add("Close");

しかし、「閉じる」と言うと、Windows の音声認識エンジンがアプリケーションを閉じてしまいます!

さらに、自分の辞書を作成するよりも音声認識に適した方法はありますか? ユーザーに「自分自身にメモを書いて」のように言ってもらいたいと思います。ユーザーが話し、私が書きます。

同じ質問で 2 つの質問をして申し訳ありません。どちらも私の 1 つの問題に関連しているようです。

4

2 に答える 2

1

共有音声認識エンジン (SpeechRecognizer) を使用しています。SpeechRecognizer をインスタンス化すると、他のアプリケーションと共有できるレコグナイザーが得られます。これは通常、デスクトップで実行されているウィンドウとアプリケーションを制御するアプリケーションの構築に使用されます。

独自のプライベート認識エンジン (SpeechRecognitionEngine) を使用したいようです。そのため、代わりに SpeechRecognitionEngine をインスタンス化してください。

SpeechRecognizer クラスを参照してください。

組み込みの音声認識コマンドを無効にしますか? も役立つ情報があるかもしれません。

Microsoft のデスクトップ認識エンジンには、ディクテーション文法と呼ばれる特別な文法が含まれており、これを使用して、ユーザーが話した任意の単語を書き写すことができます。口述文法を使用して、書き起こしスタイルの認識を行うことができます。DictationGrammar クラスSAPI および Windows 7 の問題を参照してください。

于 2011-07-01T13:03:07.257 に答える
1

私はより良い答えを持っています....

口述文法をレコグナイザーに追加してみてください...選択/削除/閉じるなどのすべての組み込みコマンドを無効にしているようです..

次に、音声認識イベントと SendKeys を使用して、ページにテキストを追加する必要があります。これまでの私の調査結果は、SAPI ケーキを手に入れて食べることはできないことを示しています。

まだ解決していない(または先に進んでいない)場合は、上記の解決策が役立つはずです。

于 2012-11-19T12:41:54.970 に答える