微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

谷歌的speech2srt python代码显示错误

如何解决谷歌的speech2srt python代码显示错误

我正在尝试从音频创建srt文件。实际上,我为此遵循tutorial。但是,当我运行命令master时,它显示以下错误

python3 speech2srt.py --storage_uri gs://subtitlingsc/en.wav

如果有人可以帮助解决这个问题!

speech2srt.py file链接

解决方法

之所以发生这种情况,是因为您提供了参数 config audio 这两个参数都应该是关键字参数。要解决此问题,可以将client.long_running_recognize(config,audio)替换为client.long_running_recognize(config = config,audio = audio)

您可以确认here,函数 long_running_recognize 具有以下定义:

async long_running_recognize(
    request: google.cloud.speech_v1.types.cloud_speech.LongRunningRecognizeRequest = None,*,config: google.cloud.speech_v1.types.cloud_speech.RecognitionConfig = None,audio: google.cloud.speech_v1.types.cloud_speech.RecognitionAudio = None,retry: google.api_core.retry.Retry = <object object>,timeout: float = None,metadata: Sequence[Tuple[str,str]] = ()
    )

Python 中,带有诸如(arg1,arg2,*,arg3,agr4,...)之类的参数的函数定义意味着只有 * 之前的参数可以作为位置参数提供。在这种情况下, * 之后的所有参数都应作为关键字参数提供。

作为一个例子,让我们用我提到的参数创建一个函数:

def function(arg1,arg2,arg3,agr4):
    pass

如果我尝试将此函数称为function(1,2,3,4),则它将失败,因为仅需要两个位置参数。要正确调用它,我应该提供两个位置参数和两个关键字参数,因此正确的调用应该是function(1,arg3 = 3,arg4 = 4)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。