为什么我的python脚本无法识别音频文件中的语音?

时间:2017-06-29 21:48:02

标签: google-cloud-speech

我有以下代码成功识别短(少于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

上找到全面的{{1}}使用示例

1 个答案:

答案 0 :(得分:4)

对于任何超过1分钟的音频文件,您需要使用异步语音识别 ,该文件必须上传到Google云端存储,以便您可以传入gcs_uri

此外,您需要在脚本中使用.long_running_recognize方法。可以找到GCP文档的示例here

我意识到OP已经明白了,但认为提供答案并稍微概括一下是有用的。