javascript - 带有认知语音的Azure Bot框架不起作用

原文 标签 javascript azure speech-recognition microsoft-cognitive azure-bot-service

我遵循的是this link,我们可以在bot框架中使用语音识别。

默认代码与选项2配合使用。

  // // Option 2: Native browser speech (not supported by all browsers, no speech recognition priming support)
  //
  // Note that Chrome automatically blocks speech if the HTML file is loaded from disk. You can run a server locally
  // or launch Chrome (close all the existing Chrome browsers) with the following option:
  // chrome.exe --allow-file-access-from-files <sampleHtmlFile>
  //
  const speechOptions = {
     speechRecognizer: new BotChat.Speech.BrowserSpeechRecognizer(),
     speechSynthesizer: new BotChat.Speech.BrowserSpeechSynthesizer()
  };


但是,当我尝试使用认知服务时,它不起作用,这意味着麦克风不会进入聆听模式。

这是我所做的更改,

      // // Option 3: Cognitive Services speech recognition using API key (cross browser, speech priming support)
 const speechOptions = {
        speechRecognizer: new CognitiveServices.SpeechRecognizer({ subscriptionKey: 'YOUR_COGNITIVE_SPEECH_API_KEY' }),
        speechSynthesizer: new CognitiveServices.SpeechSynthesizer({
          gender: CognitiveServices.SynthesisGender.Female,
          subscriptionKey: 'YOUR_COGNITIVE_SPEECH_API_KEY',
          voiceName: 'Microsoft Server Speech Text to Speech Voice (en-US, JessaRUS)'
        })
      };


除了评论和取消评论外,我什么也没做。但是代码仍然仅与选项2一起使用

请帮我解决这个问题

最佳答案

经过我同事的深入研究后,我们发现了问题所在。

原始代码使用的是https://cdn.botframework.com/botframework-webchat/latest/CognitiveServices.js中的javascript

 <div id="BotChatGoesHere"></div>


    <!-- If you do not want to use Cognitive Services library, comment out the following line -->
    <script src="https://cdn.botframework.com/botframework-webchat/latest/CognitiveServices.js"></script>


如果我们打开该JS文件,则可以在下面使用bing语音网址找到一行

Storage.Local.GetOrAdd("Host","wss://speech.platform.bing.com")}


由于使用了必应语音,我们必须将此行更新为我们自己的订阅

Storage.Local.GetOrAdd("Host","wss://<region>.stt.speech.microsoft.com")}


更新后,它现在可以正常工作

关于javascript - 带有认知语音的Azure Bot框架不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55160058/

相关文章:

javascript - 将事件处理程序分配给带括号和不带括号的方法之间的区别

azure - 将App Service连接到不同资源组中的负载平衡群集

azure - 启用 Windows Azure 订阅

java - CMUSphinx 实时语音识别太慢?

Javascript在继续之前等待结果

javascript - 我如何在 HTML 中自动更改测验(可能是 jquery?)

javascript - 使用jAlert作为简单的提示

c# - 使用 c# 获取应用程序洞察中的自定义事件数据到数组中

c# - Windows 7 上的语音识别 C# WPF 应用程序的两个问题

javascript - 如何在Electronic JS中使用语音识别