Azure VM在识别麦克风时抛出传输错误

时间:2018-04-26 13:17:24

标签: speech-recognition azure-virtual-machine microphone azure-cognitive-services

我正在尝试让Microsoft Cognitive语音在我的Azure VM中运行。当代码试图达到识别麦克风的点时,我得到以下错误。相同的代码在我的实际桌面中完美运行,但错误仅发生在VM中。

* ---使用带有ShortPhrase模式的麦克风启动语音识别---- --- OnConversationErrorHandler()---

收到错误

错误代码:-2147023728

错误文字:传输错误*

我尝试了大多数互联网文章中提到的所有可能选项,但没有运气

How to enable sound on Windows Azure VM

http://oakleafblog.blogspot.in/2012/07/enabling-remote-desktop-services-in.html

我应该检查具体设置吗?

1 个答案:

答案 0 :(得分:0)

我认为服务器存在连接问题。

有两种类型的Microsoft认知语音。

  1. 使用HTTPRequest发送音频数据
  2. 使用Websocket传输音频数据
  3. 如果您使用的是websocket,那么:

    https://docs.microsoft.com/en-us/azure/cognitive-services/speech/api-reference-rest/websocketprotocol

    Azure VM可能存在问题(因为Azure VM的构建是安全的)。确保Azure VM未阻止网络。 Websocket类型连接使用2个网络请求,即 HTTPRequest WebSocket

    api参考的摘要是:

    1. HTTPRequest是从以下位置获取令牌:https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken(确保您允许Azure VM允许连接到此站点)

    2. 获取令牌后,客户端必须发送HTTPRequest以开始websocket握手,客户端应该收到101个代码(交换协议),您可以开始websocket握手。 websocket连接链接将是 wss://xxxxxxxxxx.api.cris.ai/speech/recognition/ [dictation / shortphrase] / cognitiveservices / v1

    3.   

      确保您的Azure VM允许两者连接。

      如果您只使用HTTPRequest,则只需确保您的VM允许连接到令牌服务器和认知语音服务器。