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

如何使用语音识别实现用户卡片信息的语音输入替代键盘输入?

解决方案:将所有卡片输入改为语音识别

修改思路

把重复的语音识别逻辑封装成可复用函数,用该函数获取四张卡片的语音输入替代键盘输入,同时添加异常处理避免识别失败导致程序崩溃。

完整代码

import speech_recognition as s

def get_voice_input(prompt):
    sr = s.Recognizer()
    print(f''' listening...
{prompt}''')
    with s.Microphone() as m:
        # 适配环境噪音,提升识别准确率
        sr.adjust_for_ambient_noise(m, duration=0.2)
        audio = sr.listen(m)
        try:
            # 通过Google语音识别API转换语音为文本
            query = sr.recognize_google(audio, language='eng-in')
            print(f"识别结果:{query}")
            return query.strip()
        except s.UnknownValueError:
            print("无法识别语音,请重新输入")
            return get_voice_input(prompt)
        except s.RequestError:
            print("语音识别服务不可用,请检查网络连接")
            return get_voice_input(prompt)

# 获取四张卡片的语音输入
first_card = get_voice_input("speak the first card")
second_card = get_voice_input("speak the second card")
third_card = get_voice_input("speak the third card")
fourth_card = get_voice_input("speak the fourth card")

# 输出结果
print("the upnext cards are", fourth_card, third_card, second_card, first_card)

关键说明

  • 函数封装:get_voice_input函数统一处理语音监听、识别流程,减少代码冗余,方便后续维护。
  • 噪音适配:adjust_for_ambient_noise方法让识别器快速适应环境噪音,降低识别错误率。
  • 异常处理:捕获两类常见错误(无法识别语音、服务不可用),并递归重新请求输入,保证程序稳定运行。
  • 输入替换:用语音输入函数完全替代原有的input键盘输入,实现全语音输入需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:09:24