python-3.x 声转文:Google API错误400同步输入太长,对于超过1分钟的音频,请使用带有'uri'参数的LongRunningRecognize

qybjjes1  于 2023-03-09  发布在  Python
关注(0)|答案(1)|浏览(64)

尽管使用了文档中描述的gcs_uri链接,但我在转录一个长音频文件时仍然遇到问题。

def googleAPI(self, gcs_uri): 
        client=speech.SpeechClient(credentials=CREDENTIALS)
        audio = speech.RecognitionAudio(uri=gcs_uri) 
        config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16, 
        sample_rate_hertz=int(self.audio_frame), 
        language_code="fr-FR", 
        audio_channel_count=int(self.audio_channels), 
        enable_separate_recognition_per_channel=True,
        use_enhanced=True, 
        model="phone_call", 
        )
        #ADDED HERE FOR LONG AUDIO FILES 
        operation = client.long_running_recognize(config=config, audio=audio)
        print("Waiting for operation to complete...")
        response = operation.result(timeout=10000) #set timeout to a large number 
        response= client.recognize(config=config, audio=audio)
        return response

我的音频文件大约30-40分钟长。请指示。

oaxa6hgo

oaxa6hgo1#

代码中的问题是您尝试运行语音识别两次。第一次使用正确的函数。然后使用仅支持最长1分钟音频的函数。因此出现错误。请删除此行:

response= client.recognize(config=config, audio=audio)

在此之前的响应是您需要的结果。此行将尝试做与$ operation = client.long_running_recognize(config=config, audio=audio)相同的事情,但仅支持最多1分钟。

相关问题