azure - 微软认知服务语音转文本的客户计费/客户使用情况?

标签 azure speech-to-text azure-cognitive-services

我正在开发一个网站,该网站应该为用户提供使用 azures 认知服务 API 的功能。他们可以播放音频或使用麦克风将语音转换为文本。

我目前正在使用 azures js sdk从技术上讲它工作得很好。然而,我注意到这种方法有一个很大的缺点。 sdk 通过 websocket 与 azure 服务器连接,该服务器向客户端公开订阅 key 。所以理论上每个成员都可以读出来并出售它或类似的东西。 此外,如果客户端直接与 azure 连接,我没有安全的方法来防止客户端滥用该服务。我需要一种方法来粗略地测量客户使用该服务的时间,并将个人账单考虑在内。

我在官方文档中找不到任何相关内容。那么我的选择是什么?

  1. 我是否应该将客户端的音频输入重定向到我自己的服务器,进行一些定量分析,然后将输入从服务器端连接转发到 Azure?我担心对于许多并发客户,它可能会变得滞后或连接可能会丢失......
  2. 有没有办法将至少客户端 ID 或类似内容附加到 Azure WebSocket 连接,以便我稍后可以以某种方式读出?

你对我有什么建议吗?

最佳答案

鉴于您的附加评论,我建议您将实现从使用订阅 key 切换为使用身份验证 token 。

那会:

  • 根据 1 个全局订阅 key 为每个客户端生成唯一的 token
  • 不要向客户公开您的订阅 key
  • 限制 API 的使用,因为 token 的有效期仅为 10 分钟

Each access token is valid for 10 minutes. You can get a new token at any time, however, to minimize network traffic and latency, we recommend using the same token for nine minutes.

查看文档 here供全局实现。简而言之,您需要在后端实现此 token 生成,并使用此 token 而不是 key 将页面提供给您的客户端。

旁注 1:注意并发请求的最大数量(100 - 请参阅 here)。

注 2:根据客户的使用情况,这不会帮助您向客户收取费用,因为您只有 1 个 key ,并且无法识别其中的不同用途

关于azure - 微软认知服务语音转文本的客户计费/客户使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70634045/

相关文章:

json - Cloud Speech-to-Text 糟糕的采样率赫兹

azure - LUIS 中的 400 错误请求 : Cannot find the specified subscription

azure - B2C 注册页面中的自定义属性

c# - 指定 Azure Function 中使用 CloudQueue 类型的存储帐户的名称

c# - MongoDB服务器状态已断开

android - 如何在Android中使用带有 "application/octet-stream"的HTTP POST? (微软认知视频)

c# - Azure 认知服务 - 为什么我无权访问服务? (401错误)

powershell - 您能否在发布管理中将一个 PowerShell 任务的输出通过管道传输到另一个任务?

iPhone 应用程序 › 添加语音识别?

javascript - 如何将语音捕获的文本放入文本字​​段