新的 Microsoft 语音服务 WebSocket API 的端点是啥?

Posted

技术标签:

【中文标题】新的 Microsoft 语音服务 WebSocket API 的端点是啥?【英文标题】:What are the endpoints for the new Microsoft speech service WebSocket APIs?新的 Microsoft 语音服务 WebSocket API 的端点是什么? 【发布时间】:2018-09-24 08:13:39 【问题描述】:

我想使用新的 MS Speech Translation API,但我正在使用 Go,所以没有 SDK。我为之前的语音翻译 API 提供了 WebSockets 实现,因此原始 WebSocket 没有问题。

documentation 声明它正在使用 WebSockets,但我无法在文档中找到端点。有谁知道什么是 WS 端点及其路径/标头参数?

编辑: documentation also says:“如果您已经有通过 WebSockets 使用 Bing Speech 或 Translator Speech 的代码,您可以更新它以使用 Speech 服务。WebSocket 协议是兼容的,只是端点不同。” 但是新的端点不见了。

【问题讨论】:

【参考方案1】:

在深入研究客户端 SDK 的二进制文件后,我发现语音翻译 API 是 wss://<REGION>.s2s.speech.microsoft.com/speech/translation/cognitiveservices/v1

另一个问题是 WebSocket 协议不兼容,尽管文档是这样说的。好在经过实验我发现新的 Speech Translation WS API 使用与旧的Bing Speech WS API 相同的协议,除了 URL 查询参数。必应语音 API 有一个 language 参数,而语音翻译预览 API 有 fromtovoicefeaturesfromto 按预期工作,您甚至可以在 to 中发送更多语言(逗号分隔且缺少 TTS)。我还没有尝试过voicefeatures 看起来像什么都不做,总是有部分结果、计时信息和 TTS。

响应也不同,但与 Bing Speech 相似。它们有标头,并且有多个不同的 JSON。只需观察原始字符串。

由于这是一个预览 API,它可以随时更改。

【讨论】:

我们当然不会尝试更改结果,因为这会破坏现有的 SDK 客户端。但同样值得注意的是,我们在 Speech.Config 中添加了有关客户端版本的信息。将来,根据客户端版本,服务结果可能会发生变化。但这不是现在发生的......【参考方案2】:

Websocket 协议没有发生实质性变化,因此旧文档应该是合理准确的。

Microsoft 认知服务语音 SDK 尚不支持 GO,它已在路线图中,但不会在本日历年推出。

谢谢 沃尔夫冈

【讨论】:

新的语音翻译 WebSocket API 使用的协议类似于旧的语音识别(Bing 语音)WebSocket 协议。完全不使用旧的翻译器语音 WebSocket 协议。反应也有点不同。 GO SDK 不是那么重要,更重要的是 WebSocket 协议的良好文档。在 GO 中使用 WebSockets 只需几行代码。

以上是关于新的 Microsoft 语音服务 WebSocket API 的端点是啥?的主要内容,如果未能解决你的问题,请参考以下文章

对 Microsoft WebSockets 命名空间感到困惑

本人对于netty框架的一些理解,怎么与网站上的websock建立连接

Android websock 应用

新的 Microsoft 语音服务 WebSocket API 的端点是啥?

WebSocket实现Java后台消息推送

webSock 重连机构 简略版