当前位置: 首页 > 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 语音识别、百度语音识别),需要确保网络连接稳定。
识别准确率:语音识别的准确率受多种因素影响,如语音清晰度、环境噪音等。可以通过调整环境噪音、提高语音质量等方式提高识别准确率。

相关文章:

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&#xff…...

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应用做单元测试时&#xff0c;一般会使用spring-boot-test&#xff0c;pom.xml中会添加如下内容&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><…...

解锁 Java 回调函数:异步编程与事件处理的利器

什么是 Java 回调函数 在 Java 中&#xff0c;回调函数是一种编程模式&#xff0c;允许将一个方法作为参数传递给另一个方法&#xff0c;当某个特定事件发生或某个任务完成时&#xff0c;调用该方法。回调机制可以使代码更加灵活和可扩展&#xff0c;因为它允许在运行时动态地…...

记PasteSpider部署工具的Windows.IIS版本开发过程之草稿-Web.IIS.Administration解读(5)

本文是记录PasteSpider的Windows.IIS开发过程, 在应用开发中,结果很重要,但是开发过程中遇到的问题和思考绝对是更有意义的事情! 经历过不同的需求后,你会发觉案例项目还真的只是案例项目,和实际项目天差地别!!! PasteSpider是开发者专属部署工具, 新版本的支持Windo…...

MySQL Workbench安装教程以及菜单汉化

WorkBench的下载 直接给下载MySql WorkBench的链接&#xff0c;直接进入正题&#xff1a;MySQL :: Download MySQL Workbenchhttps://dev.mysql.com/downloads/workbench/进入了下载界面&#xff1a; &#xff08;安装路径自己看着办&#xff0c;注意安装路径不能有中文&#…...

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;ClearDiagnosticInformation0x14服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月13日 关键词&#xff1a;UDS协议、0x14服务、DTC清除、ISO 14229-1:2023、ECU测试 一、服务功能…...

Python的imutils库详细介绍

imutils 是一个专为简化OpenCV&#xff08;计算机视觉库&#xff09;常见操作而设计的Python工具库&#xff0c;提供了一系列便捷函数&#xff0c;使图像和视频处理更加高效和简洁。以下是对其功能、安装及用法的详细介绍&#xff1a; 1. 安装方法 通过pip安装&#xff1a; p…...

常用查找算法整理(顺序查找、二分查找、插值查找、斐波那契查找、哈希查找、二叉排序树查找、平衡二叉树查找、红黑树查找、B树和B+树查找、分块查找)

常用的查找算法&#xff1a; 顺序查找&#xff1a;最简单的查找算法&#xff0c;适用于无序或数据量小的情况&#xff0c;逐个元素比较查找目标值。二分查找&#xff1a;要求数据有序&#xff0c;通过不断比较中间元素与目标值&#xff0c;将查找范围缩小一半&#xff0c;效率…...

2526考研资料分享 百度网盘

通过网盘分享的文件&#xff1a;01、2026【考研数学】 链接:https://pan.baidu.com/s/1PwMzp_yCYqjBqa7492mP3w?pwd98wg 提取码:98wg--来自百度网盘超级会员v3的分享 通过网盘分享的文件&#xff1a;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服务器的简单搭建&#xff0c;但是有很多问题我们并没有解决。 在前文中&#xff0c;我们的 get…...

东方财富股吧发帖与评论爬虫

东方财富股吧发帖与评论爬虫 东方财富股吧爬虫 写在开头项目介绍主要功能文件介绍爬取逻辑 a. 爬取帖子信息b. 爬取评论信息 使用步骤 1. 下载代码2. MongoDB 安装3. Webdriver 安装4. 运行 main.py5. 查看数据 踩过的坑附录&#xff08;运行结果&#xff09; 东方财富股吧爬…...

【Elasticsearch】match_bool_prefix查询

match_bool_prefix查询是 Elasticsearch 中一种用于全文搜索的查询方式&#xff0c;适用于需要同时匹配多个词汇&#xff0c;但词汇顺序不固定的情况&#xff0c;它结合了布尔查询&#xff08;bool&#xff09;和前缀查询&#xff08;prefix&#xff09;的功能&#xff0c;适用…...

微信小程序image组件mode属性详解

今天学习微信小程序开发的image组件&#xff0c;mode属性的属性值不少&#xff0c;一开始有点整不明白。后来从网上下载了一张图片&#xff0c;把每个属性都试验了一番&#xff0c;总算明白了。现总结归纳如下&#xff1a; 1.使用scaleToFill。这是mode的默认值&#xff0c;sc…...

数据结构:最小生成树

1.基本概念 生成树&#xff1a;连通无向图的生成树是包含图中所有顶点的极小连通子图&#xff08;无环&#xff09;。 最小生成树&#xff1a;所有生成树中边权重总和最小的那棵。 2.常用算法 克鲁斯卡尔算法&#xff08;Kruskal&#xff09; 步骤&#xff1a; 将所有边按权…...

C语言-章节 4:函数的定义与声明 ——「神秘法术的卷轴」

少年和 Inta 成功通过运算符与表达式的考验后&#xff0c;继续在函数城堡中探索。他们沿着一条闪烁着幽光的走廊前行&#xff0c;走廊两侧的墙壁上刻满了奇异的符号&#xff0c;仿佛在诉说着古老的编程秘密。终于&#xff0c;他们来到了一间神秘的房间&#xff0c;房间中央悬浮…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...