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 成功通过运算符与表达式的考验后,继续在函数城堡中探索。他们沿着一条闪烁着幽光的走廊前行,走廊两侧的墙壁上刻满了奇异的符号,仿佛在诉说着古老的编程秘密。终于,他们来到了一间神秘的房间,房间中央悬浮…...
如何永久保存微信聊天记录:3种格式导出与年度社交报告生成指南
如何永久保存微信聊天记录:3种格式导出与年度社交报告生成指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...
5分钟彻底解决Windows应用程序无法启动的终极指南:VisualCppRedist AIO完全解析
5分钟彻底解决Windows应用程序无法启动的终极指南:VisualCppRedist AIO完全解析 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这种…...
扣子(Coze+image)实战:电商人福音!Coze 一键生成详情页,秒完成
大家好,我是专注于AI的咕咕姐。你还在为电商详情页而苦恼吗?没有美工,不会PS,该如何做电商详情页?今天通过image2Coze工作流一键可以生成电商详情页,直接省去美工成本,感兴趣的立刻跟练操作。干…...
为什么你需要深蓝词库转换工具:3分钟解决输入法迁移难题
为什么你需要深蓝词库转换工具:3分钟解决输入法迁移难题 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因更换输入法而面临词库无法迁移的困境&…...
为开源Agent框架OpenClaw配置Taotoken作为模型供应商的教程
为开源Agent框架OpenClaw配置Taotoken作为模型供应商的教程 1. 准备工作 在开始配置之前,请确保您已经完成以下准备工作。首先,您需要在Taotoken平台注册账号并获取API Key。登录Taotoken控制台后,可以在"API密钥"页面创建新的密…...
利用快马ai快速原型设计,一键生成微pe环境下的系统自动化部署脚本
今天想和大家分享一个特别实用的技术实践——如何用InsCode(快马)平台快速生成Windows PE环境下的系统自动化部署脚本。这个需求源于我最近频繁帮朋友重装系统,每次手动操作太耗时,于是尝试用AI生成脚本实现一键部署。 需求场景分析 微PE作为轻量级Windo…...
Khadas VIM4开发板评测:A311D2性能与Android 11实战
1. Khadas VIM4开发板开箱体验:从硬件拆解到系统安装作为一名嵌入式开发老手,最近拿到Khadas VIM4开发板时还是被它的配置惊艳到了。这款搭载Amlogic A311D2处理器的单板计算机(SBC)在性能上完全超越了市面上大多数同类产品。先来…...
OpenAssistantGPT/chatbot-sdk:统一LLM接口,快速构建智能对话机器人
1. 项目概述:一个面向开发者的对话机器人构建利器最近在折腾一个需要集成智能对话功能的小项目,后台逻辑和前端界面都搭得差不多了,就差一个能“说人话”的聊天模块。自己从头训练模型不现实,调用各大厂的云API又觉得不够灵活&…...
如何掌握现代C++ constexpr lambda:编译时表达式的终极指南
如何掌握现代C constexpr lambda:编译时表达式的终极指南 【免费下载链接】modern-cpp-features A cheatsheet of modern C language and library features. 项目地址: https://gitcode.com/gh_mirrors/mo/modern-cpp-features 现代C constexpr lambda是C17引…...
基于 Simulink 的数字控制延时补偿与稳定性分析深度实战教程
目录 🎯 一、 核心痛点:为什么算法上板就“发疯”? 🛠️ 二、 详细建模过程:复现“炸机”现场 第一步:搭建含真实延时的被控对象 第二步:频域透视——伯德图验证 💻 三、 核心代码与算法实现 策略 A:一拍超前预测(One-Step-Ahead Prediction) 策略 B:改进…...
