由于请求过多,Azure 文本转语音受到限制 websocket 错误代码:1007,只有 3 个并发请求

问题描述

我正在使用 Azure 文本到语音服务。我有很多小的 ssml 文件,我为其生成音频,然后使用 FFMPEG 将它们组合起来。 我写了一个脚本来生成所有的小音频文件。如果脚本发出 3 个并发请求,那么在大约总共 20 个请求之后,其他一些请求将完成,但文件将为空。检查结果对象,我看到 Throttled due to too many requests websocket error code: 1007。 如果我从脚本中删除任何并发并在最后一个文件的结尾和下一个请求之间添加 1 秒的等待,它就会起作用。

我检查了 Text to Speech API 的配额和限制,它提到最多 20 个并发请求(与我发送的 3 个相去甚远)。

知道我可能做错了什么(我使用的是 javascript SDK)。

解决方法

原来是 Rest API,在免费计划中有每分钟 20 个请求的限制...... https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-services-quotas-and-limits#text-to-speech-quotas-and-limits-per-speech-resource