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 语音识别、百度语音识别),需要确保网络连接稳定。
识别准确率:语音识别的准确率受多种因素影响,如语音清晰度、环境噪音等。可以通过调整环境噪音、提高语音质量等方式提高识别准确率。
相关文章:
Python实现语音识别详细教程【2025】最新教程
文章目录 前言一、环境搭建1. 下载 Python2. 安装 Python3 使用 pip 安装必要的库 二、使用 SpeechRecognition 库进行语音识别1.识别本地音频文件2.实时语音识别3. 使用其他语音识别引擎 注意事项 前言 以下是一份较为完整的 Python 语音识别教程,涵盖环境搭建、使…...
【第12章:深度学习与伦理、隐私—12.4 深度学习与伦理、隐私领域的未来挑战与应对策略】
凌晨三点的自动驾驶测试场,AI系统突然在暴雨中做出惊人决策——它选择撞向隔离带而不是紧急变道,因为算法推演发现隔离带后的应急车道站着五个工程师。这个惊悚的伦理困境,揭开了深度学习伦理危机最尖锐的冰山一角。 一、潘多拉魔盒已开:深度学习伦理的四大原罪 1.1 数据原…...
Django中数据库迁移命令
在 Django 中,数据库迁移是确保数据库结构与 Django 模型定义保持一致的重要过程。以下是 Django 中常用的数据库迁移命令: 1. python manage.py makemigrations 功能:此命令用于根据 Django 项目的模型文件(models.pyÿ…...
Win11 远程 连接 Ubuntu20.04(局域网)
Win11 远程 连接 Ubuntu20.04(局域网) 0. Ubuntu 开启共享1. Ubuntu系统中安装RDP服务器2.windows中连接使用方式1:远程桌面连接(winr: mstsc)方式2:mobaXterm 3 问题远程连接后出现黑屏 参考文献: 0. Ubuntu 开启共享 在ubunt设置中&#x…...
安卓手游内存call综合工具/内部call/安卓注入call/数据分析(类人猿学院)
进程分析注入综合工具总界面 模块分析函数分析遍历 函数分析 so汇编分析 汇编call植入器,支持模拟器x86 x64 和手机arm64指令全平台 防ce搜索数据功能 全国首套发布,阿凡老师学院最好的安卓内存逆向老师,几乎行业最强的,有兴趣可以…...
PPT工具集
PPT模版 免费下载 爱PPT优品PPTPPT之家第一PPTOfficePlus部分免费 AI生成PPT Kimi秘塔搜索 可以输入内容生成PPT大纲。...
SpringBoot:使用spring-boot-test对web应用做单元测试时如何测试Filter?
对SpringBoot的Web应用做单元测试时,一般会使用spring-boot-test,pom.xml中会添加如下内容: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><…...
解锁 Java 回调函数:异步编程与事件处理的利器
什么是 Java 回调函数 在 Java 中,回调函数是一种编程模式,允许将一个方法作为参数传递给另一个方法,当某个特定事件发生或某个任务完成时,调用该方法。回调机制可以使代码更加灵活和可扩展,因为它允许在运行时动态地…...
记PasteSpider部署工具的Windows.IIS版本开发过程之草稿-Web.IIS.Administration解读(5)
本文是记录PasteSpider的Windows.IIS开发过程, 在应用开发中,结果很重要,但是开发过程中遇到的问题和思考绝对是更有意义的事情! 经历过不同的需求后,你会发觉案例项目还真的只是案例项目,和实际项目天差地别!!! PasteSpider是开发者专属部署工具, 新版本的支持Windo…...
MySQL Workbench安装教程以及菜单汉化
WorkBench的下载 直接给下载MySql WorkBench的链接,直接进入正题:MySQL :: Download MySQL Workbenchhttps://dev.mysql.com/downloads/workbench/进入了下载界面: (安装路径自己看着办,注意安装路径不能有中文&#…...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(ClearDiagnosticInformation0x14服务) 作者:车端域控测试工程师 更新日期:2025年02月13日 关键词:UDS协议、0x14服务、DTC清除、ISO 14229-1:2023、ECU测试 一、服务功能…...
Python的imutils库详细介绍
imutils 是一个专为简化OpenCV(计算机视觉库)常见操作而设计的Python工具库,提供了一系列便捷函数,使图像和视频处理更加高效和简洁。以下是对其功能、安装及用法的详细介绍: 1. 安装方法 通过pip安装: p…...
常用查找算法整理(顺序查找、二分查找、插值查找、斐波那契查找、哈希查找、二叉排序树查找、平衡二叉树查找、红黑树查找、B树和B+树查找、分块查找)
常用的查找算法: 顺序查找:最简单的查找算法,适用于无序或数据量小的情况,逐个元素比较查找目标值。二分查找:要求数据有序,通过不断比较中间元素与目标值,将查找范围缩小一半,效率…...
2526考研资料分享 百度网盘
通过网盘分享的文件:01、2026【考研数学】 链接:https://pan.baidu.com/s/1PwMzp_yCYqjBqa7492mP3w?pwd98wg 提取码:98wg--来自百度网盘超级会员v3的分享 通过网盘分享的文件:01、2026【考研政治】 链接:https://pan.baidu.com/s/1PwMzp_yCYqjBqa7492…...
网络编程(24)——实现带参数的http-get请求
文章目录 二十四、day241. char 转为16进制2. 16进制转为 char3. URL 编码函数4. URL 解码函数5. 实现 get 请求参数的解析6. 测试 二十四、day24 我们在前文通过beast实现了http服务器的简单搭建,但是有很多问题我们并没有解决。 在前文中,我们的 get…...
东方财富股吧发帖与评论爬虫
东方财富股吧发帖与评论爬虫 东方财富股吧爬虫 写在开头项目介绍主要功能文件介绍爬取逻辑 a. 爬取帖子信息b. 爬取评论信息 使用步骤 1. 下载代码2. MongoDB 安装3. Webdriver 安装4. 运行 main.py5. 查看数据 踩过的坑附录(运行结果) 东方财富股吧爬…...
【Elasticsearch】match_bool_prefix查询
match_bool_prefix查询是 Elasticsearch 中一种用于全文搜索的查询方式,适用于需要同时匹配多个词汇,但词汇顺序不固定的情况,它结合了布尔查询(bool)和前缀查询(prefix)的功能,适用…...
微信小程序image组件mode属性详解
今天学习微信小程序开发的image组件,mode属性的属性值不少,一开始有点整不明白。后来从网上下载了一张图片,把每个属性都试验了一番,总算明白了。现总结归纳如下: 1.使用scaleToFill。这是mode的默认值,sc…...
数据结构:最小生成树
1.基本概念 生成树:连通无向图的生成树是包含图中所有顶点的极小连通子图(无环)。 最小生成树:所有生成树中边权重总和最小的那棵。 2.常用算法 克鲁斯卡尔算法(Kruskal) 步骤: 将所有边按权…...
C语言-章节 4:函数的定义与声明 ——「神秘法术的卷轴」
少年和 Inta 成功通过运算符与表达式的考验后,继续在函数城堡中探索。他们沿着一条闪烁着幽光的走廊前行,走廊两侧的墙壁上刻满了奇异的符号,仿佛在诉说着古老的编程秘密。终于,他们来到了一间神秘的房间,房间中央悬浮…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
