You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Speech-to-Text API处理长音频仍遇问题求助

问题根源与解决方案

问题核心

你的代码存在致命错误:在调用异步长音频接口long_running_recognize并获取结果后,又调用了同步短音频接口client.recognize。同步接口recognize不支持处理超过1分钟的音频,这就是你仍收到400错误的直接原因。

修复步骤

  1. 移除同步接口调用
    删除代码中最后一行response= client.recognize(config=config, audio=audio),直接返回异步接口的处理结果。

  2. 修正后的完整代码

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", 
    )
    # 仅使用异步长音频接口处理
    operation = client.long_running_recognize(config=config, audio=audio)
    print("Waiting for operation to complete...")
    response = operation.result(timeout=10000) # 可根据音频实际时长调整超时值
    return response
  1. 额外注意事项
    • 确认self.audio_frame和self.audio_channels的数值与GCS上的音频文件实际参数完全匹配,参数不匹配可能导致识别失败或结果异常。
    • 如果音频时长超过设置的timeout(当前10000秒),会抛出超时异常,需根据音频实际时长适当调整该值。

内容的提问来源于stack exchange,提问作者divyashie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 11:20:56