我正在构建一个可以识别来自用户的多个单词的应用程序;从而使用识别的单词组合一个句子。
这是我现在所拥有的:
namespace SentenceRecognitionFramework__v1_
{
public partial class Form1 : Form
{
SpeechRecognitionEngine recog = new SpeechRecognitionEngine();
SpeechSynthesizer sp = new SpeechSynthesizer();
public Form1()
{
InitializeComponent();
}
private void btnListen_Click(object sender, EventArgs e)
{
Choices sList = new Choices();
sList.Add(new String[] { "what","is", "a", "car" });
Grammar gr = new Grammar(new GrammarBuilder(sList));
recog.RequestRecognizerUpdate();
recog.LoadGrammar(gr);
recog.SpeechRecognized += sRecognize_SpeechRecognized;
recog.SetInputToDefaultAudioDevice();
recog.RecognizeAsync(RecognizeMode.Multiple);
recog.SpeechRecognitionRejected += sRecognize_SpeechRecognitionRejected;
}
private void sRecognize_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
sentenceBox.Text = "Sorry, I couldn't recognize";
}
private void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
sentenceBox.Text = e.Result.Text.ToString();
}
}
}
但是,此代码一次只能识别一个单词。即使我编辑我的代码来做到这一点:
private void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
sentenceBox.Text = sentenceBox.Text + " " + e.Result.Text.ToString();
}
当我连续说出“什么是汽车”这个词时,应用程序无法连续识别单词,而当我说出它们时没有中断。
为了让程序识别使用这些定义的单词构建的整个句子,我可以进行哪些更改,而不必在说出句子时出现语音中断?
需要输出:
我说出一句话:什么是汽车
应用展示:什么是汽车
完美示例:谷歌语音识别谷歌使用其词库中可用的单词开发一个句子
非常感谢你 :)