返回

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();
        }

应用程序无法连续不断地当我说出“什么是汽车”这几个词时,请识别这些词当我把他们说出来的时候,不停的休息。

为了使程序能够识别使用这些定义的单词构建的整个句子,而不必什么时候说出这个句子?

所需输出:

我说出这句话:什么是汽车

应用程序显示:什么是汽车

完美的例子:谷歌语音识别谷歌使用其词库中可用的单词开发一个句子

非常感谢:)

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像
下一篇
python-持续按下按钮开关时增加值 2022-06-26 15:50:24