5

これはおそらく簡単な質問ですが、どこでも明確な回答は見つかりませんでした。このSystem.Speech.Recognition認識コードは「音声トレーニング」を利用していますか?

System.Speech.Recognition名前空間からの簡単なコードがあるとします。これはうまくいきます。 Windows 7をご使用する際に

 using (
      var recognizer = 
       new SpeechRecognitionEngine(
        new CultureInfo("en-US"))) 
     { 
      // Create and load a dictation grammar. 
      recognizer.LoadGrammar(new DictationGrammar()); 

      recognizer.SpeechRecognized -= 
recognizer_SpeechRecognized; 

      // Add a handler for the speech recognized event. 
      recognizer.SpeechRecognized += 
       recognizer_SpeechRecognized; 

      // Configure input to the speech recognizer. 
      recognizer.SetInputToDefaultAudioDevice(); 

      // Start asynchronous, continuous speech recognition. 
      recognizer.RecognizeAsync(RecognizeMode.Multiple); 
     } 
    } 

    // Handle the SpeechRecognized event. 
    private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
    { 
     textBox1.Text = ("Recognized text: " + e.Result.Text); 
    } 

私の質問は、である、と私は、「コントロールパネル」で入手可能なスピーチのトレーニングを行う - >「音声認識」 - >「より良いあなたを理解するには、コンピュータを訓練」、自動的に私のプログラムを行います実行された訓練を利用するか?
トレーニングの利点は、ユーザーまたはマシンに基づいていますか?
これらの音声の「プロファイル」は(簡単に)移動できますか?

答えて

1

はい、訓練(特にディクテーション用)が便利です。トレーニングにより、精度は20-50%向上します。 (これは特にアクセントがある場合に当てはまります)

トレーニングの利点はユーザーごとです。

Microsoftには音声プロファイルをコピーするツールがありますが、SRエンジン(XP-era)の古いバージョン用に作られています。私が知る限り、Microsoftの誰もそれを更新したり保証するより新しいSRエンジンで。それを試してみたい場合は、「Speech Profile Manager」のBingを押してください。すぐにポップアップします。

0

はい、それは訓練する必要はないかもしれませんが、this siteおよびthis siteとすることができます。

+1

Davidさん、コード機能として動作するように訓練する必要はありません。私は基本的に、上記のコードがうまく機能するように、Windows 7のトレーニングを人々に伝える価値があるのか​​どうか疑問に思っています。これが本当であれば、ログインしたユーザーまたはマシンに基づいてその利益が得られます。 – bulltorious

+0

ほとんどの場合、いいえ。ほとんどすべてが認識されている場合、トレーニングはパフォーマンスをわずかに向上させるだけです。 –

0

私はあなたがディクテーションの文法を使用しているとき、訓練が役立つと思います。より限定されたアプリケーション文法を使用している場合、トレーニングはあまり価値がないでしょう。

Windowsクライアントの音声認識API(System.Speech)とサーバーの音声認識API(Microsoft.speech)の主な違いの1つは、サーバーAPIがマルチユーザーを意図しており、訓練できないことです(音声自動電話システムについて考えると、すべての発信者に対して訓練することはできません)。好奇心が強い場合は、このような質問が役に立つかもしれません。What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?