语音识别在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来获取麦克风输入:
立即学习“Python免费学习笔记(深入)”;
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做出一个简单的语音助手或者语音控制程序了。
以上就是Python如何实现语音识别?SpeechRecognition库实战教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号