You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Google Cloud Speech API同步语音识别文档代码报错求助

解决Google Cloud Speech API同步识别代码的gax/retry报错问题

看起来你遇到的是旧版Google Cloud客户端依赖导致的重试模块报错,我来帮你一步步排查解决:

1. 优先升级到官方推荐的客户端库

你用的google-gax是比较旧的底层依赖库,现在Google官方已经主推google-cloud-speech这个更易用的高层客户端,两者兼容性冲突是报错的核心原因:

  • 先卸载冲突的旧依赖:
    pip uninstall google-gax googleapis-common-protos -y
    
  • 安装最新版的官方客户端:
    pip install --upgrade google-cloud-speech
    
  • 替换你的代码为最新的同步识别示例(适配新版库):
    from google.cloud import speech_v1p1beta1 as speech
    
    def sync_recognize_audio(audio_file_path):
        # 初始化客户端
        client = speech.SpeechClient()
    
        # 读取音频文件
        with open(audio_file_path, "rb") as audio_file:
            audio_content = audio_file.read()
    
        # 配置音频参数(根据你的实际音频调整)
        audio_config = speech.RecognitionConfig(
            encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
            sample_rate_hertz=16000,
            language_code="zh-CN",  # 换成你需要的语言代码
        )
        audio = speech.RecognitionAudio(content=audio_content)
    
        # 发送同步识别请求
        response = client.recognize(config=audio_config, audio=audio)
    
        # 处理识别结果
        for result in response.results:
            print(f"识别结果: {result.alternatives[0].transcript}")
    
    # 调用函数,替换为你的音频文件路径
    sync_recognize_audio("your-audio-file.wav")
    

2. 确认认证和API启用状态

  • 检查环境变量是否正确配置了服务账号密钥:
    # macOS/Linux终端执行
    export GOOGLE_APPLICATION_CREDENTIALS="/绝对路径/你的服务账号密钥.json"
    
    # Windows PowerShell执行
    $env:GOOGLE_APPLICATION_CREDENTIALS="C:\绝对路径\你的服务账号密钥.json"
    
  • 登录Google Cloud控制台,确认你的项目已经启用了Cloud Speech-to-Text API,没启用的话去API库搜索启用即可。

3. 检查音频文件格式是否匹配配置

同步识别对音频格式有严格要求:

  • 确保你的音频编码、采样率和代码中RecognitionConfig的参数一致,比如如果是MP3文件,要把encoding改成speech.RecognitionConfig.AudioEncoding.MP3,同时匹配对应的采样率。
  • 避免用过大的音频文件(同步识别建议音频时长不超过1分钟),超长音频建议用异步识别。

4. 移除旧的gax重试配置

如果你的原代码里手动配置了gax的重试逻辑,直接删掉这些代码就行——新版客户端已经内置了合理的重试机制,不需要额外配置。

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

火山引擎 最新活动