我有以下代码成功识别短(少于1分钟)测试音频文件,但未能识别另一个长音频(1.5h)。
ffmpeg
这两个文件都上传到 Google Cloud 。
第一个: https://storage.googleapis.com/linear-arena-2109/sample.flac
第二个: https://storage.googleapis.com/linear-arena-2109/zoom0070.flac
两者都是使用ffmpeg -i sample.mp3 -ac 1 sample.flac
ffmpeg -i zoom0070.mp3 -ac 1 zoom0070.flac
实用程序转换为mp3:
google.gax.errors.RetryError: GaxError(Exception occurred in retry method that was not classified as transient, caused by <_Rendezvous of RPC that terminated with (StatusCode.INVALID_ARGUMENT, Sync input too long. For audio longer than 1 min use LongRunningRecognize with a 'uri' parameter.)>)
第一个文件已成功识别,但第二个文件输出以下错误:
uri
但是我已经在我的python脚本中使用了long_running_recognize
参数。有什么问题?
更新
@NieDzejkob帮助理解了这个错误。因此,应使用方法recognize
代替long_running_recognize
。可以在相应的document page
答案 0 :(得分:4)
对于任何超过1分钟的音频文件,您需要使用异步语音识别 和 ,该文件必须上传到Google云端存储,以便您可以传入gcs_uri
。
此外,您需要在脚本中使用.long_running_recognize
方法。可以找到GCP文档的示例here。
我意识到OP已经明白了,但认为提供答案并稍微概括一下是有用的。