我目前正在使用Microsoft.Speech API将话语指示为文本,但我真正需要的是程序可以使用的替代口述。我用这个作为我的荣誉论文,为此我想知道任何话语的十大解释。
2011年提出了一个非常类似的问题: C# system.speech.recognition alternates
但是从未回答过。因此我的问题是:如何使用Microsoft.Speech API获得对口述解释的替代方案?
答案 0 :(得分:1)
This MSDN page可以很好地处理你的问题。作为参考,我将发布包含的代码。最后的for循环包含
// Handle the SpeechRecognized event.
void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
{
//... Code handling the result
// Display the recognition alternates for the result.
foreach (RecognizedPhrase phrase in e.Result.Alternates)
{
Console.WriteLine(" alt({0}) {1}", phrase.Confidence, phrase.Text);
}
}
使用e.Result.Alternates
是获取其他可能词汇的官方方式。
如果没有给您足够的结果,this MSDN page会为您提供所需的信息。您需要在UpdateRecognizerSetting
上使用SpeechRecognitionEngine
来更改置信度拒绝级别。将其设置为0将使{{1}}中的每个结果与置信水平一起显示,您可以对其进行排序以获得前10名。