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

Python语音识别无法正常工作,识别结果差的问题求助

解决语音识别脚本麦克风输入音质差及识别失败的问题

我之前也碰到过完全一样的情况!结合你的描述和相关问题记录,下面几个方法应该能帮你解决问题:

1. 明确指定麦克风参数(与录音脚本对齐)

你的录音脚本用的是44100采样率、1024 chunk大小、双声道,但speech_recognition的Microphone类默认参数可能和这个不匹配,导致录制的音频格式错乱(出现低沉缓慢的变声效果)。修改初始化代码,明确传入这些参数:

import pyaudio
import speech_recognition as sr

def initSpeech():
    r = sr.Recognizer()
    # 明确指定麦克风参数,和你的录音脚本保持一致
    mic = sr.Microphone(
        sample_rate=44100,
        chunk_size=1024
    )
    with mic as source:
        r.adjust_for_ambient_noise(source, duration=2)
        print("Set minimum energy threshold to {}".format(r.energy_threshold))
        print("Say something")
        audio = r.listen(source, phrase_time_limit=10)
        
        # 保存音频时强制匹配录音脚本的格式
        with open("microphone-results.wav", "wb") as f:
            f.write(audio.get_wav_data(convert_width=2))
            
    command = ""
    try:
        command = r.recognize_google(audio)
    except sr.UnknownValueError:
        print("Couldn't understand you!")
    except sr.RequestError as e:
        print(f"Could not request results from Google Speech Recognition service; {e}")
    print(command)

initSpeech()

2. 确认并指定正确的麦克风设备索引

Windows系统可能存在多个音频输入设备(比如内置麦克风、外接耳机麦),speech_recognition可能默认选中了错误的设备。先列出所有可用麦克风:

import speech_recognition as sr
for idx, name in enumerate(sr.Microphone.list_microphone_names()):
    print(f"设备索引 {idx}: {name}")

找到你实际使用的麦克风对应的索引,然后在初始化Microphone时加上device_index参数:

mic = sr.Microphone(
    device_index=你的设备索引,
    sample_rate=44100,
    chunk_size=1024
)

3. 调整噪音阈值与监听参数

有时候adjust_for_ambient_noise的效果不够理想,导致语音没有被正确捕捉。可以尝试调整相关参数:

with mic as source:
    r.adjust_for_ambient_noise(source, duration=3)  # 延长环境噪音采集时间,让阈值更准确
    r.energy_threshold += 500  # 手动提高阈值,过滤轻微背景噪音
    audio = r.listen(source, phrase_time_limit=15)  # 延长语音监听时长

这些调整应该能解决音频格式错乱的问题,进而让Google语音识别正常工作。

内容的提问来源于stack exchange,提问作者Tobias Schäfer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:25:17