Azure Bot Framework с когнитивной речью не работает - PullRequest
0 голосов
/ 14 марта 2019

Я следую по этой ссылке , где мы можем использовать распознавание речи в каркасе бота.

Код по умолчанию работает с Опция 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

Просьба помочь мне решить эту проблему

1 Ответ

0 голосов
/ 03 апреля 2019

После некоторого глубокого поиска у моего коллеги, мы нашли проблему.

Оригинальный код использует JavaScript из https://cdn.botframework.com/botframework-webchat/latest/CognitiveServices.js

 <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 speech url

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

Поскольку bing речь ограничена , мы должны обновить эту строку в нашем собственном подразделе

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

Как только мы обновили, теперь все работает нормально

...