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

开发Python语音助手时反复出现Traceback错误,请求排查问题及解决方法

开发Python语音助手时反复出现Traceback错误,请求排查问题及解决方法

嗨,我帮你梳理下代码里可能导致反复报错的几个问题,一个个来看:

  • 语法错误:HTML转义的引号
    你代码里的"是HTML环境下的转义字符,Python解释器根本不认识这个,必须换成普通的双引号"。比如把print("listening")改成print("listening"),所有出现"的地方都要替换,这是最直接触发语法Traceback的原因。

  • 语音识别方法选择有误
    你当前用的recognize_google_cloud是Google Cloud付费的语音识别服务,需要配置服务账号密钥、开通API才能正常使用,个人项目完全没必要用这个。换成免费通用的recognize_google方法就行,修改后的代码行是:

    query = r.recognize_google(audio, language="en-pk")
    
  • 异常处理的返回值不完整
    你代码里最后return &qu...是截断状态,这会导致语法错误或者逻辑异常。可以改成让函数重新调用自己(实现重复询问),或者返回空字符串,示例代码:

    except Exception as e:
        print("say that again")
        return takecommand()  # 重复调用,让用户重新说话
        # 或者 return ""  返回空字符串,后续逻辑自行处理
    
  • 额外的环境检查项

    • 确认pyaudio安装正常:如果是Windows系统直接用pip install pyaudio失败的话,可以尝试用pipwin install pyaudio安装预编译包;Linux/Mac可以通过系统包管理器先安装 portaudio 再装pyaudio。
    • 麦克风权限:确保你的Python程序有权限访问麦克风,Mac需要在「系统设置-隐私与安全性-麦克风」里勾选对应的终端/IDE;Linux可能需要调整用户权限。
    • 测试麦克风可用性:可以添加一行代码列出所有可用麦克风,确认设备能被识别:
      print(speech_recognition.Microphone.list_microphone_names())
      

给你整理了修正后的完整代码,你可以直接测试:

import pyttsx3
import speech_recognition as sr
import pyaudio

engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)
engine.setProperty('rate', 170)

def speak(audio):
    engine.say(audio)
    engine.runAndWait()

def takecommand():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print("listening")
        r.pause_threshold = 1
        r.energy_threshold = 300
        audio = r.listen(source, 0, 4)

    try:
        print("understanding")
        query = r.recognize_google(audio, language="en-pk")
        print(f"you said: {query}\n")
        return query
    except Exception as e:
        print("say that again")
        return takecommand()

# 测试调用
if __name__ == "__main__":
    speak("Hello, I am your voice assistant")
    takecommand()

备注:内容来源于stack exchange,提问作者muteeb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:15:30