您的位置:首页 >Python语音识别实战:SpeechRecognition库使用教程
发布于2025-07-05 阅读(0)
扫一扫,手机访问
语音识别在Python中并不难,主要通过SpeechRecognition库实现。1. 安装SpeechRecognition和依赖:执行pip install SpeechRecognition及pip install pyaudio,Linux或macOS可能需额外安装PortAudio开发库。2. 实时录音识别:导入模块并创建Recognizer对象,使用Microphone监听音频,调用recognize_google方法进行识别,支持中文需加language="zh-CN"参数。3. 处理本地音频文件:使用AudioFile读取WAV文件,同样调用识别引擎处理。4. 可选识别引擎包括CMU Sphinx(离线识别)、Google Cloud Speech(付费API)等,可根据需求选择。5. 识别出错时可调整参数如adjust_for_ambient_noise、timeout、phrase_time_limit以优化效果。掌握这些步骤即可实现基础语音助手或控制程序。

语音识别在Python里其实没有想象中那么难,尤其是有了SpeechRecognition这个库之后。它封装了多种语音识别引擎和API,能让你用几行代码就把音频转成文字。

要使用SpeechRecognition,首先得安装它本身以及相关的依赖。最基础的命令是:

pip install SpeechRecognition
但光这样还不行,因为默认情况下它不带语音识别引擎。如果你打算用Google Web Speech API(免费、无需注册),还需要安装pyaudio来获取麦克风输入:
pip install pyaudio
注意:在Linux或macOS上可能需要额外安装PortAudio开发库才能编译PyAudio。

这是最常用也最有意思的部分——实时听你说话然后识别出来。步骤大致如下:
示例代码:
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
print("请说话...")
audio = r.listen(source)
try:
text = r.recognize_google(audio, language="zh-CN")
print("你说的是:" + text)
except sr.UnknownValueError:
print("无法识别音频")
except sr.RequestError as e:
print(f"请求出错;{e}")这段代码会监听一次麦克风输入,然后调用Google的API进行识别。如果你希望支持中文,记得加上language="zh-CN"参数。
除了实时录音,SpeechRecognition也能处理WAV格式的音频文件。其他格式比如MP3需要先转换一下。
步骤类似,只是把Microphone换成AudioFile:
with sr.AudioFile('example.wav') as source:
audio = r.record(source) # 读取整个文件然后同样用recognize_google或者其他引擎去识别。这种方法适合做批量语音转文字的任务,比如会议记录、视频字幕提取等。
SpeechRecognition支持多个引擎,比如CMU Sphinx(本地识别,不需要联网)、Google Cloud Speech(需付费API密钥)、Microsoft Bing Voice Recognition等。
常用的几个方式对比:
另外,如果识别不出来或者总是出错,可以尝试调整以下参数:
adjust_for_ambient_noise():用于消除背景噪音timeout和phrase_time_limit:控制监听时间长度基本上就这些。掌握这几个关键点,就能用Python做出一个简单的语音助手或者语音控制程序了。
上一篇:格式工厂提取音频方法详解
下一篇:老电脑装轻量Linux系统教程
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9