System.Speech.Recognition是否使用"语音训练"?

bul*_*ous 5 .net c# speech-recognition system.speech.recognition

我有一些简单的代码System.Speech.Recognition可以正常工作:

using (var recognizer = new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
    recognizer.LoadGrammar(new DictationGrammar());
    recognizer.SpeechRecognized += recognizer_SpeechRecognized;
    recognizer.SetInputToDefaultAudioDevice();
    recognizer.RecognizeAsync(RecognizeMode.Multiple);
}

private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
    textBox1.Text = "Recognized text: " + e.Result.Text;
}
Run Code Online (Sandbox Code Playgroud)

使用Windows 7时,我会进行语音培训"Control Panel" -> "Speech Recognition" -> "Train your computer to better understand you".

我的程序是否自动使用已完成的任何培训?培训的好处是基于用户还是机器?这些语音"简介"可以(轻松)移动吗?

Eri*_*own 2

是的,培训(尤其是听写)很有用。通过训练,准确率可以提高 20-50%。(如果用户有口音,则尤其如此。)

培训收益是针对每个用户的。

微软有一个复制语音配置文件的工具,但它是为旧版本的 SR 引擎(XP 时代)构建的,据我所知,微软没有人愿意更新它或在较新的 SR 引擎上为其提供担保。如果您想尝试一下,请搜索“语音配置文件管理器”,它会立即弹出。