如何让你的语音识别听你的

本文关键字:语音识别 | 更新日期: 2023-09-27 18:17:52

嗨,我正在用Michael C的语音识别程序做我的本科论文。我已经创建了一个命令行,其中BRIAN(合成器的名称)将使用这行代码停止侦听:

case "Stop listening":
                BRIAN.SpeakAsync("Alright");
                _recognizer.RecognizeAsyncStop();
                _recognizer.UnloadAllGrammars();
                break;

这行代码可以工作。然而,当我说"开始听"的命令时,我再也不能让他对我的命令做出反应了。我需要创建一个case语句,让他可以再次开始听我的命令。

如何让你的语音识别听你的

解决方案非常简单。不要强迫你的程序停止监听。使用bool来代替:

case "Stop listening":
    bAbleToListen = false; //stop listening
    break;

在你的事件处理程序中,你可以这样做:

void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
  string speech = e.Result.Text;
  if (speech == "Start listening") {
      bAbleToListen = true; //resume listening
      BRIAN.SpeakAsync("I am online and ready");
  }
  if (!bAbleToListen) return;
  switch(...) {
     //your code
  }
}