本文目录导读:

是的,SpeechRecognition 是 Python 中最常用、最方便的语音识别库之一。
不过需要明确:SpeechRecognition 本身是一个封装库,它并不自带语音识别引擎,而是作为“中间人”集成了多种后端引擎(如 Google、Sphinx、Whisper 等)。
使用 SpeechRecognition 的典型流程
import speech_recognition as sr
# 1. 创建识别器对象
r = sr.Recognizer()
# 2. 从麦克风录音(需要安装 PyAudio)
with sr.Microphone() as source:
print("请说话...")
audio = r.listen(source)
# 3. 调用后端引擎进行识别
try:
text = r.recognize_google(audio, language='zh-CN')
print("你说的是:", text)
except sr.UnknownValueError:
print("无法识别")
except sr.RequestError as e:
print("请求出错:", e)
支持的主流后端引擎
| 引擎 | 特点 | 是否需要联网 |
|---|---|---|
recognize_google() |
免费、识别率高、支持中文 | 是 |
recognize_sphinx() |
离线、但准确率较低 | 否 |
recognize_whisper() |
使用 OpenAI Whisper,精度高 | 本地运行 |
recognize_azure() / recognize_wit() |
各云服务商引擎 | 是 |
安装注意事项
pip install SpeechRecognition pip install pyaudio # 麦克风录音需要,Windows可用 pipwin 安装
常见问题:
- 如果你只需要处理音频文件(不实时录音),可以不安装 PyAudio
- 中文语音推荐使用
recognize_google(language='zh-CN')或本地部署recognize_whisper()
是不是“唯一”或“最好”的选择?
不一定,取决于你的场景:
| 场景 | 推荐方案 |
|---|---|
| 快速原型、教学、简单调用 | ✅ SpeechRecognition |
| 高精度本地中文识别 | 🎤 直接用 faster-whisper / whisper.cpp |
| 实时流式语音识别 | 🎯 Vosk、百度的 ASR SDK、腾讯云等 |
| 大规模商业应用 | ☁️ 阿里云/腾讯云/Deepgram 等专业 API |
如果你的需求是“简单、快速地在 Python 项目里加语音识别”,SpeechRecognition 是非常好的起点。