Bing 语音 API cURL > 408 请求超时(> 14000 毫秒)

Bing Speech API cURL > 408 Request timed out (> 14000 ms)

我正在尝试使用 Bing 语音 API.

构建一个基于 PHP 的应用程序

按照此 link (https://docs.microsoft.com/en-us/azure/cognitive-services/speech/getstarted/getstarted-curl) 中的示例,我尝试将其改编为 PHP 请求。 获取 JWT 访问令牌非常简单,我设法将原始 cURL 请求调整为基于 PHP 的 cURL 请求。

然而,要识别音频文件却让人头疼。 起初我尝试了几种将代码转换为基于 PHP 的 cURL 请求的方法,其中 none 有效。他们最终都返回了“408 请求超时(> 14000 毫秒)”错误。我认为这与我的 PHP 脚本有关。然而,使用示例 URL 进行的进一步测试(显然用正确的 ID 和所有替换)也给了我相同的“408 请求超时(> 14000 毫秒)”错误。

我试图在网上四处寻找答案,但没有成功。有这个 link (),但它似乎使用了旧版本的 API,当我尝试时只导致“403 Forbidden”错误。

我试过的直cURL是:

curl -v -X POST "https://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=en-US&locale=en-US&format=detailed&requestid=d8d3c0ed-fca2-4418-b12a-9526ffefa729" -H 'Authorization: Bearer [_token_id_obscured_]' -H 'Content-type: audio/wav; codec="audio/pcm"; samplerate=16000' --data-binary @[_wav_filename_obscured_]

我试过几个文件,所有文件的长度都不到 10 秒。文件使用 Audacity 导出,项目速率设置为 16000Hz,文件格式为 "WAV (Microsoft) signed 16bit PCM".

如有任何意见,我们将不胜感激。

要避免此问题,您还需要在命令中添加以下请求 header:

-H 'Transfer-Encoding: chunked'