C#语音同时识别多个单词?(识别一个句子)
发布时间:2022-06-26 19:30:29 195
相关标签: # flask
我正在构建一个可以识别用户多个单词的应用程序;这样就可以用所识别的单词拼凑出一个句子。
以下是我目前的情况:
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();
}
应用程序无法连续不断地当我说出“什么是汽车”这几个词时,请识别这些词当我把他们说出来的时候,不停的休息。
为了使程序能够识别使用这些定义的单词构建的整个句子,而不必什么时候说出这个句子?
所需输出:
我说出这句话:什么是汽车
应用程序显示:什么是汽车
完美的例子:谷歌语音识别谷歌使用其词库中可用的单词开发一个句子
非常感谢:)
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报