文本的Watson语音返回有关文件大小的奇怪错误

时间:2018-07-30 04:25:19

标签: curl speech-to-text ibm-watson

刚开始使用Watson的Voice API。尝试使用其演示文件audio-file.flac。您必须要保证我要从它所在的目录中发布curl命令,并且根据ls -l命令,文件大小为285928字节。

这是我的帖子

curl -X POST -u xxxxxxxxxx-:yyyyyyyy --header "Content-Type: audio/flac" --data-binary "audio-file.flac" "https://stream.watsonplatform.net/speech-to-text/api/v1/recognize"

然后我回来

  

{“ code_description”:“错误请求”,“ code”:400,“ error”:   “流是15个字节,但至少需要100个字节。” }

令人惊奇的是流大小。我的网络连接非常好,无论尝试多少次它都返回15。如果将文件名更改为不正确的名称,它将返回0。那么这15是哪里来的?

任何人都对此有经验吗?

谢谢

2 个答案:

答案 0 :(得分:4)

问题在这里:

--data-binary "audio-file.flac"

您正在告诉命令行发送文件名的15个字节作为消息的内容。这就是为什么它失败了。

在文件名前加上@符号。示例:

--data-binary @audio-file.flac

答案 1 :(得分:0)

除了 Simon O'Doherty 的回应之外,我的第一个问题是我没有设置 @ 但在修复后我收到了消息:

“流为 0 字节,但必须至少为 100 字节。”

经过一些研究,我注意到我的错误是我使用的是 \ 而不是 /,所以我改变了它并且它起作用了。

我的最终路线是这样的:

--data-binary @C:/Users/KARIQUE/Desktop/example.mp3

Pd:我的操作系统是 windows