当前位置: 首页 > news >正文

Python实现语音识别详细教程【2025】最新教程

文章目录

  • 前言
  • 一、环境搭建
    • 1. 下载 Python
    • 2. 安装 Python
    • 3 使用 pip 安装必要的库
  • 二、使用 SpeechRecognition 库进行语音识别
    • 1.识别本地音频文件
    • 2.实时语音识别
    • 3. 使用其他语音识别引擎
  • 注意事项


前言

以下是一份较为完整的 Python 语音识别教程,涵盖环境搭建、使用不同库进行语音识别的示例等内容。


一、环境搭建

语音识别通常会用到 SpeechRecognition 库,它可以调用不同的语音识别引擎。此外,还需要 pyaudio 库来录制音频。

1. 下载 Python

访问 Python 官方网站,根据你的操作系统(Windows、Mac OS、Linux)选择合适的 Python 版本进行下载。建议下载 Python 3.x 版本,因为 Python 2 已经停止维护。

还可以从小编准备地址下载。

Python 3.7下载地址:https://pan.quark.cn/s/8268bf81f31f
Python 3.9下载地址:https://pan.quark.cn/s/9711a93276ad
Python 3.11下载地址:https://pan.quark.cn/s/9c44793cb24c

2. 安装 Python

访问 Python 官方网站(https://www.python.org/),根据自己的操作系统(Windows、MacOS、Linux)下载并安装 Python 3.x 版本。安装过程中注意勾选 “Add Python to PATH”,以便在命令行中能直接使用 Python。

Python 3.7安装教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安装教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489

3 使用 pip 安装必要的库

在命令提示符中输入以下命令并回车,以安装 Pandas:

pip install SpeechRecognition
pip install pyaudio

二、使用 SpeechRecognition 库进行语音识别

1.识别本地音频文件

以下是一个识别本地 WAV 格式音频文件的示例代码:。

mport speech_recognition as sr

# 创建一个 Recognizer 对象
r = sr.Recognizer()

# 打开音频文件
with sr.AudioFile('your_audio_file.wav') as source:
    # 读取音频数据
    audio = r.record(source)

try:
    # 使用 Google 语音识别服务进行识别
    text = r.recognize_google(audio, language='zh-CN')
    print("识别结果: " + text)
except sr.UnknownValueError:
    print("无法识别音频内容")
except sr.RequestError as e:
    print(f"请求错误; {e}")

代码解释:

  • sr.Recognizer():创建一个 Recognizer 对象,用于处理音频识别。
  • sr.AudioFile(‘your_audio_file.wav’):打开指定的音频文件。
  • r.record(source):从音频文件中读取音频数据。
  • r.recognize_google(audio, language=‘zh-CN’):使用 Google 语音识别服务- - 对音频数据进行识别,language=‘zh-CN’ 表示使用中文进行识别。

2.实时语音识别

以下是一个实现实时语音识别的示例代码:

import speech_recognition as sr

# 创建一个 Recognizer 对象
r = sr.Recognizer()

# 使用麦克风作为音频输入
with sr.Microphone() as source:
    print("请说话...")
    # 调整环境噪音
    r.adjust_for_ambient_noise(source)
    # 录制音频
    audio = r.listen(source)

try:
    # 使用 Google 语音识别服务进行识别
    text = r.recognize_google(audio, language='zh-CN')
    print("识别结果: " + text)
except sr.UnknownValueError:
    print("无法识别音频内容")
except sr.RequestError as e:
    print(f"请求错误; {e}")

代码解释:

  • sr.Microphone():使用麦克风作为音频输入源。
  • r.adjust_for_ambient_noise(source):调整环境噪音,提高识别准确率。
  • r.listen(source):监听麦克风输入的音频数据。

3. 使用其他语音识别引擎

除了 Google 语音识别服务,SpeechRecognition 库还支持其他语音识别引擎,例如百度语音识别、讯飞语音识别等。
以下是使用百度语音识别的示例代码:

import speech_recognition as sr

# 创建一个 Recognizer 对象
r = sr.Recognizer()

# 打开音频文件
with sr.AudioFile('your_audio_file.wav') as source:
    # 读取音频数据
    audio = r.record(source)

# 百度语音识别的 API Key 和 Secret Key
APP_ID = 'your_app_id'
API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'

try:
    # 使用百度语音识别服务进行识别
    text = r.recognize_baidu(audio, app_id=APP_ID, api_key=API_KEY, secret_key=SECRET_KEY, language='zh')
    print("识别结果: " + text)
except sr.UnknownValueError:
    print("无法识别音频内容")
except sr.RequestError as e:
    print(f"请求错误; {e}")

注意事项

音频格式:不同的语音识别引擎对音频格式有不同的要求,常见的支持格式有 WAV、FLAC 等。
网络连接:如果使用在线语音识别服务(如 Google 语音识别、百度语音识别),需要确保网络连接稳定。
识别准确率:语音识别的准确率受多种因素影响,如语音清晰度、环境噪音等。可以通过调整环境噪音、提高语音质量等方式提高识别准确率。

相关文章:

  • Ollama 开发指南
  • 应用层协议 HTTP 讲解实战:从0实现HTTP 服务器
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_time_update函数
  • NAC网络接入控制三种认证方式802.1X认证、MAC认证和Portal认证
  • Python 文本探秘:正则表达式的易错迷宫穿越 -- 7. 正则表达式
  • 模糊聚类分析方法:从模糊等价矩阵到动态分类
  • 笔记: 利用二极管、三极管、MOS管搭建过压保护电路
  • vitePress实现原理(三)
  • 使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
  • DIN:引入注意力机制的深度学习推荐系统,
  • Golang官方编程指南
  • 从安装软件到flask框架搭建可视化大屏(一)——创建一个flask页面,零基础也可以学会
  • Linux从0到1——线程池【利用日志Debug】
  • Elasticsearch:将 Ollama 与推理 API 结合使用
  • 【第11章:生成式AI与创意应用—11.3 AI艺术创作的实现与案例分析:DeepArt、GANBreeder等】
  • Leetcode 2466. Count Ways To Build Good Strings
  • 【Day41 LeetCode】单调栈问题
  • 什么是中间件中间件有哪些
  • 可解释性:走向透明与可信的人工智能
  • 浅谈线程安全问题的原因和解决方案
  • 过去24小时中美是否就关税问题进行过接触?外交部:没有
  • 莫名的硝烟|“我们最好记住1931年9月18日这个日子”
  • 结婚这件事,年轻人到底怎么想的?
  • 解放日报:上海深化改革开放,系统集成创新局
  • 中国农业国际交流协会会长王守聪失联已逾半年,协会启动罢免
  • 以“最美通缉犯”为噱头直播?光明网:违法犯罪不应成网红跳板