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

python实现语音识别

1. 首先安装依赖库

pip install playsound # 该库用于播放音频文件
pip install speech_recognition # 该库用于语音识别
pip install PocketSphinx # 语音识别模块中只有sphinx支持离线的,使用该模块需单独安装
pip install pyttsx3 # 该库用于将文本转换为语音播放
pip install comtypes # 该库可以从文本文件中获取输入转换为语音文件

2. 播放音频文件 

from playsound import playsound 
playsound('audio_files\cnhello.mp3')

3. 语音识别

默认只识别英文,如果需要支持中文,需要下载中文模型包,下载地址如下:

CMU Sphinx - Browse /Acoustic and Language Models at SourceForge.net 

下载完解压到sphinx安装路径下:

D:\install\Anaconda\Lib\site-packages\speech_recognition\pocketsphinx-data

 

import speech_recognition as sr
r = sr.Recognizer()
harvard = sr.AudioFile('audio_files\harvard.wav')
with harvard as source:
#     r.adjust_for_ambient_noise(source) # 消除环境背景音audio = r.record(source) # record()函数,将整个音频文件读入AudioData实例
print(type(audio))    
r.recognize_sphinx(audio) 

4. 通过麦克风输入并识别

import speech_recognition as sr
mic = sr.Microphone()
with mic as source:r.adjust_for_ambient_noise(source)audio = r.listen(source)r.recognize_sphinx(audio)

5. 文本转语音播放

import pyttsx3
engine = pyttsx3.init()
engine.say("hello world")
engine.say("你好")
engine.runAndWait()
engine.stop()

6. 文本转语音

# 文本转语音
from comtypes.client import CreateObject
from comtypes.gen import SpeechLibengine = CreateObject("SAPI.SpVoice")
stream = CreateObject('SAPI.SpFileStream')
infile = 'demo.txt'
outfile = 'demo_audio.wav'
stream.open(outfile, SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream = stream
f = open(infile, 'r', encoding='utf-8')
theText = f.read()
f.close()
engine.speak(theText)
stream.close()

7. 语音转文本(英文识别)

# 语音文件转文本文件
import speech_recognition as sr
r = sr.Recognizer()harvard = sr.AudioFile('demo_audio.wav')
with harvard as source:
#     r.adjust_for_ambient_noise(source)audio = r.record(source)r.recognize_sphinx(audio, language='en-US')

>>'hello everyone my name is bob'

8. 语音转文本(中文识别)

# 语音文件转文本文件
import speech_recognition as sr
r = sr.Recognizer()harvard = sr.AudioFile('demo_audio.wav')
with harvard as source:
#     r.adjust_for_ambient_noise(source)audio = r.record(source)r.recognize_sphinx(audio, language='zh-CN')

 >> '好好 学习 天天 向上'

参考:

python实现语音识别功能

从0开始语音识别

相关文章:

python实现语音识别

1. 首先安装依赖库 pip install playsound # 该库用于播放音频文件 pip install speech_recognition # 该库用于语音识别 pip install PocketSphinx # 语音识别模块中只有sphinx支持离线的,使用该模块需单独安装 pip install pyttsx3 # 该库用于将文本转换为语音播…...

java八股文面试[多线程]——线程的状态

5种状态一般是针对传统的线程状态来说(操作系统层面) 6种状态:Java中给线程准备的 NEW:Thread对象被创建出来了,但是还没有执行start方法。 RUNNABLE:Thread对象调用了start方法,就为RUNNABLE状…...

Go学习[合集]

文章目录 Go学习-Day1Go学习-Day2标识符变量基础语法字符串类型类型转换string和其他基本类型转换其他类型转stringstring转其他类型 指针类型运算符标准IO分支语句 Go学习-Day3循环语句函数声明init函数匿名函数闭包defer Go学习-Day4函数值传递,引用传递常用的函数…...

代码随想录算法训练营第42天 | ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

文章目录 前言一、01背包问题,你该了解这些!二、01背包问题,你该了解这些! 滚动数组三、416. 分割等和子集总结 前言 01背包 一、01背包问题,你该了解这些! 确定dp数组以及下标的含义 对于背包问题&#x…...

解决DNS服务器未响应错误的方法

​当你将设备连接到家庭网络或具有互联网接入功能的Wi-Fi热点时,由于各种原因,互联网连接可能无法正常工作。本文中的说明适用于Windows 10、Windows 8和Windows 7。 无法连接到DNS服务器的原因 故障的一类与域名系统有关,域名系统是世界各地互联网提供商使用的分布式名称…...

SpringBoot的HandlerInterceptor拦截器使用方法

一、创建拦截器 通过实现HandlerInterceptor接口创建自己要使用的拦截器 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.…...

java 常用 jar 包

1 Lombok 是一个 java 类库,它利用注解方式自动生成 java bean 中 getter、setter、equals 等方法,还能自动生成 logger、toString、hashCode、builder 等 日志相关变量、Object 类方法或设计模式相关的方法,能够让你的 代码更简洁&#xff0…...

C#面试十问

1:C#中变量类型分为哪两种?它们的区别是什么?2:Class和Struct的区别?3:C#中类的修饰符和类成员的修饰符有哪些?4:面向对象的三个特征(特点)是什么&#xff1f…...

Day 41 动态规划part03 : 343. 整数拆分 96.不同的二叉搜索树

96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1…...

四轴飞行器的电池研究(MatlabSimulink仿真)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

准备HarmonyOS开发环境

引言 在开始 HarmonyOS 开发之前,需要准备好开发环境。本章将详细指导你如何安装 HarmonyOS SDK、配置开发环境、创建 HarmonyOS 项目。 目录 安装 HarmonyOS SDK 配置开发环境 创建 HarmonyOS 项目 总结 1. 安装 HarmonyOS SDK HarmonyOS SDK 是开发 Harmo…...

Java 面试 - Redis

Redis Redis 是基于键值对的非关系型数据库。Redis 拥有string、hash、list、set、zset等多种数据结构, redis具有惊人的读写性能, 其优秀的持久化机制是的它在断电和机械故障时也不会发生数据丢失, 可以用于热点数据存放, 还提供了键过期、发布订阅、食物、流水线、LUA脚本等多…...

【Go 基础篇】Go语言结构体之间的转换与映射

在Go语言中,结构体是一种强大的数据类型,用于定义和组织不同类型的数据字段。当我们处理复杂的数据逻辑时,常常需要在不同的结构体之间进行转换和映射,以便实现数据的转移和处理。本文将深入探讨Go语言中结构体之间的转换和映射技…...

Java 多线程系列Ⅳ(单例模式+阻塞式队列+定时器+线程池)

多线程案例 一、设计模式(单例模式工厂模式)1、单例模式2、工厂模式 二、阻塞式队列1、生产者消费者模型2、阻塞对列在生产者消费者之间的作用3、用标准库阻塞队列实现生产者消费者模型4、模拟实现阻塞队列 三、定时器1、标准库中的定时器2、模拟实现定时…...

将 ordinals 与 比特币智能合约集成 : 第 1 部分

将序数与比特币智能合约集成:第 1 部分 最近,比特币序数在区块链领域引起了广泛关注。 据称,与以太坊 ERC-721 等其他代币标准相比,Ordinals 的一个主要缺点是缺乏对智能合约的支持。 我们展示了如何向 Ordinals 添加智能合约功…...

【USRP】集成化仪器系列1 :信号源,基于labview实现

USRP 信号源 1、设备IP地址:默认为192.168.10.2,请勿 修改,运行阶段无法修改。 2、天线输出端口是TX1,请勿修改。 3、通道:0 对应RF A、1 对应 RF B,运行 阶段无法修改。 4、中心频率:当需要…...

串行协议——USB驱动[基础]

多年前的学习记录,整理整理。 一、USB协议基础 二、Linux内核USB驱动源码分析 USB中不同类型设备使用的 设备描述符(设备类\设备子类\设备协议) 配置不同,典型的以下几种:1)HID设备: Human Input Device人工输入设备, 如鼠标\键盘\游戏手柄等.2)CDC设备: Communi…...

健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评

健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评 2022年全国儿童青少年总体近视率为53.6%,其中6岁儿童为14.5%,小学生为36%,初中生为71.6%,高中生为81%,近视已成为当下人们遇到的比较普遍的眼健康问题…...

PID 算法

1.1 概述 比例(Proportion)积分(Integral)微分(Differential)控制器(PID控制器或三项控制器)是一种采用反馈的控制回路机制,广泛应用于工业控制系统和需要连续调制控制的…...

13.Redis 事务

Redis 事务 redis 事务事务操作multi 开启事务exec 执行事务discard 放弃当前事务watchunwatch redis 事务 Redis 的事务和 MySQL 的事务概念上是类似的。 都是把⼀系列操作绑定成⼀组。 让这⼀组能够批量执⾏。 Redis 的事务和 MySQL 事务的区别: 弱化的原⼦性: 这里指的是 …...

Best Practice for AI Agents Project _ Chapter 1

很高兴he大家分享,《AI智能体项目最佳实践》内容,系统覆盖从单智能体工程基础,到私有知识注入、能力扩展、安全设计,再到多智能体协同的完整企业AI落地路径。本次分享第一章:从模型调用到可靠的单智能体(Fr…...

从Java到AI大模型:小白程序员必备转型指南,收藏学习不迷路!

本文为传统Java开发者提供了从入门到精通AI大模型的四步转型路径。首先利用成熟AI接口,其次掌握Langchain和LlamaIndex开发工具,再次深入Agent机制设计自动化流程,最后搭建本地专属模型。作者结合自身经验,分享了实战项目和避坑指…...

网络工程师面试必看:通过一个华为ENSP综合实验,拆解中小型网络规划的核心思路

网络工程师面试必看:中小型网络规划的设计思维与实战解析 当面试官抛出"请描述你如何设计一个中小型网络"这个问题时,大多数求职者会陷入两种极端:要么机械罗列配置命令,要么泛泛而谈架构概念。真正能打动面试官的&…...

仓库盘点、物流交接?用UniApp+PDA扫码提升效率的实战配置与避坑指南

UniAppPDA扫码在仓储物流中的实战配置与效率提升指南 当仓储管理员小李第一次使用传统扫码枪配合PC系统进行月度盘点时,他需要反复核对Excel表格与实物位置,8小时的工作量常常延长到深夜。而现在,通过UniApp开发的移动端应用配合工业级PDA设备…...

强化学习回报归一化:ARN方法原理与SFC分区实践

1. 强化学习中的回报归一化:理论与实现在深度强化学习(DRL)的实际应用中,训练稳定性一直是困扰研究者的核心难题。特别是在处理服务功能链(SFC)分区等复杂网络编排任务时,由于任务周期长、状态空…...

零成本构建自己的视频切割数据集:我是如何用FFmpeg和TransNet V2训练专属模型的

零成本构建视频切割数据集:FFmpeg与TransNet V2实战指南 在视频内容爆炸式增长的今天,自动检测视频中的镜头切换点(cuts)和渐变过渡(dissolves)成为内容分析的基础需求。无论是影视制作团队需要自动化剪辑&…...

美团春招笔试“小美的朋友关系”全网无AC?我用逆向并查集搞定它(附完整代码)

逆向并查集:破解美团笔试"小美的朋友关系"难题 大厂算法笔试中,总有一两道题能卡住绝大多数求职者。今年美团春招的"小美的朋友关系"就是这样一道"拦路虎"——全网找不到AC代码,无数人在超时和错误答案中挣扎。…...

Linux 软件包管理(含上机实例)

文章目录软件包管理一、知识要点1.rpm作用2.安装问题1:文件已被安装问题2:文件冲突问题3:未解决依赖关系3.卸载rpm包4.升级rpm包5.查询已安装的软件包的数据库6.验证软件包完整性二、YUM的使用yum简述yum命令集三、上机任务6 软件包管理 一、…...

DocLayout-YOLO实战案例:从学术论文到财务报表的布局分析

DocLayout-YOLO实战案例:从学术论文到财务报表的布局分析 【免费下载链接】DocLayout-YOLO DocLayout-YOLO: Enhancing Document Layout Analysis through Diverse Synthetic Data and Global-to-Local Adaptive Perception 项目地址: https://gitcode.com/gh_mir…...

终极Windows驱动清理指南:3分钟快速释放C盘隐藏空间

终极Windows驱动清理指南:3分钟快速释放C盘隐藏空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否发现Windows系统越用越慢,C盘空间莫名其妙消失&#x…...