python 中带有 "interim_results = True" 的 Watson 语音文本给出 ValueError

Watson speech to text with "interim_results = True" in python gives ValueError

当使用带有 Python SDK 的 Watson Speech-to-Text 服务时,设置 interim_results = True 每次都会给我以下错误:

File "c:\...\Miniconda2\Lib\json\decoder.py", line 367, in decode
    raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 16 column 2 - line 401 column 2 (char 256 - 8843)

我运行它有一个大约6秒长的.wav文件(目录省略):

with open("C:/Users/.../assistant_output.wav",
          'rb') as audio_file:
    transcript = speech_to_text.recognize(
        audio_file, content_type='audio/wav', interim_results = True)

当设置 interim_results = False 时它工作正常,但我想处理临时结果。

知道为什么会这样吗?

根据 API 文档 interim_results 仅在使用会话或 websocket 时适用。

Recognize audio Sends audio and returns transcription results for a sessionless recognition request. Returns only the final transcription results; to enable interim results, use Sessions or WebSockets.

https://www.ibm.com/watson/developercloud/speech-to-text/api/v1/#recognize_audio_websockets