新用户注册入口 老用户登录入口

[转载]Python语音识别

文章作者:转载 更新时间:2023-01-27 19:34:15 阅读数量:276
文章标签:语音识别Pythonpyttsx3SAPI普通话识别语言模型
本文摘要:本文探讨了Python语音识别技术在文本转语音(TTS)与语音转文本(STT)方面的应用,通过`pyttsx3`、SAPI和SpeechLib库实现文本到语音的转换,并利用PocketSphinx开源API进行语音识别以转化为文本。针对普通话识别问题,指出speech_recognition默认不支持中文,需额外下载并配置普通话语言模型和声学模型。文章详细介绍了如何安装相关模块及解决中文识别难题的具体步骤,为语音识别技术的实际应用提供了有效指导。
转载文章

本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_46092061/article/details/113945654。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

Python语音识别

  语音识别技术,也被称为自动语音识别,目标是以电脑自动将人类的语音内容转换为相应的文字和文字转换为语音。

文本转换为语音

  • 使用 pyttsx
     使用名为 pyttsx 的 python 包,你可以将文本转换为语音。直接使用 pip 就可以进行安装, 命令如下:
pip install pyttsx3

下载缓慢推荐您使用第三方通道下载

pip install -i https://mirrors.aliyun.com/pypi/simple pyttsx3

示例】使用 pyttsx 实现文本转换语音

import pyttsx3 as pyttsx# 调用初始化方法,获取讲话对象
engine = pyttsx.init()
engine.say('加油!努力吧少年')
engine.runAndWait()
  • 使用 SAPI
     在 python 中,你也可以使用 SAPI 来做文本到语音的转换。
    示例】使用 SAPI 实现文本转换语音
from win32com.client import Dispatch# 获取讲话对象
speaker = Dispatch('SAPI.SpVoice')# 讲话内容
speaker.Speak('猪哥猪哥,你真了不起')
speaker.Speak('YL美吗?')
speaker.Speak('ZS说她美吖')# 释放对象
del speaker
  • 使用 SpeechLib
     使用 SpeechLib,可以从文本文件中获取输入,再将其转换为语音。先使用 pip 安装, 命令如下:
pip install comtypes

示例】使用 SpeechLib 实现文本转换语音

from comtypes.client import CreateObject
from comtypes.gen import SpeechLib# 获取语音对象,源头
engine = 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()

语音转换为文本

  • 使用 PocketSphinx
    PocketSphinx 是一个用于语音转换文本的开源 API。它是一个轻量级的语音识别引擎, 尽管在桌面端也能很好地工作,它还专门为手机和移动设备做过调优。首先使用 pip 命令安装所需模块,命令如下:
pip install PocketSphinx
pip install SpeechRecognition

下载地址:https://pypi.org/project/SpeechRecognition/

下载缓慢推荐您使用第三方通道下载

pip install -i https://mirrors.aliyun.com/pypi/simple 模块名

示例】使用 PocketSphinx 实现语音转换文本

import speech_recognition as sr# 获取语音文件
audio_file = 'demo_audio.wav'# 获取识别语音内容的对象
r = sr.Recognizer()# 打开语音文件
with sr.AudioFile(audio_file) as source:audio = r.record(source)# 将语音转化为文本
# print('文本内容:', r.recognize_sphinx(audio))  # recognize_sphinx() 参数中language='en-US' 默认是英语
print('文本内容:', r.recognize_sphinx(audio, language='zh-CN'))

普通话识别问题

speech_recognition 默认识别英文,是不支持中文的,需要在Sphinx语音识别工具包里面下载对应的 普通话包 和 语言模型

安装步骤:

  1. 下 载 地 址:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/
    在这里插入图片描述

  2. 点击 Mandarin下载cmusphinx-zh-cn-5.2.tar.gz并解压.

  3. 在python安装目录下找到Lib\site-packages\speech_recognition

  4. 点击进入pocketsphinx-data文件夹,会看到一个en-US文件夹,再新建文件夹zh-CN

  5. 在这个文件夹中添加进入刚刚解压的文件,需要注意:把解压出来的zh_cn.cd_cont_5000文件夹重命名为acoustic-modelzh_cn.lm.bin命名为language-model.lm.binzh_cn.dic中dic改为dict格式。即与en-US文件夹中命名一样。

参考:https://blog.csdn.net/qq_32643313/article/details/99936268
致以感谢

后序

浅显的学习语音识别,不足之处甚多,深究后,将更新文章。

感谢跟随老师的代码在未知领域里探索,希望我能走的更高更远

本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_46092061/article/details/113945654。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

相关阅读
文章标题:[转载][洛谷P1082]同余方程

更新时间:2023-02-18
[转载][洛谷P1082]同余方程
文章标题:[转载]webpack优化之HappyPack实战

更新时间:2023-08-07
[转载]webpack优化之HappyPack实战
文章标题:[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法

更新时间:2023-09-10
[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
文章标题:[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo

更新时间:2024-03-11
[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo
文章标题:[转载]程序员也分三六九等?等级差异,一个看不起一个!

更新时间:2024-05-10
[转载]程序员也分三六九等?等级差异,一个看不起一个!
文章标题:[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集

更新时间:2024-01-12
[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集
名词解释
作为当前文章的名词解释,仅对当前文章有效。
自动语音识别(Automatic Speech Recognition, ASR)自动语音识别是一种计算机技术,它允许软件系统或硬件设备通过识别和理解人类说出的语音内容,并将其转换为可读的文本格式。在本文中,Python语音识别技术即涉及此类应用,通过使用如PocketSphinx等开源API,可以将用户说出的普通话音频文件转化为相应的文字信息。
文本到语音(Text-to-Speech, TTS)这是一种将书面文本转换成可听见的语音输出的技术。在Python编程环境中,可以通过pyttsx3、SAPI以及SpeechLib库实现这一功能。例如,当调用 pyttsx3 库时,程序会根据提供的文本字符串创建并播放对应的语音输出,使计算机能够“朗读”文本内容。
语言模型(Language Model, LM)在自然语言处理领域,特别是语音识别技术中,语言模型是用来计算给定一系列词语序列出现概率的统计模型。在Python的PocketSphinx模块中,为了支持普通话识别,需要下载并配置特定的普通话语言模型(如zh_cn.lm.bin),该模型能帮助识别引擎预测下一个可能出现的词,从而提高语音转文本的准确率。在文章所述场景下,语言模型是确保识别结果符合中文语法习惯和常用表达的关键组件之一。
延伸阅读
作为当前文章的延伸阅读,仅对当前文章有效。
在深入探讨Python语音识别技术后,我们了解到其在文本转语音和语音转文本应用中的广泛应用。近期,这一领域的研究与实践正以前所未有的速度发展。
首先,Google的Cloud Text-to-Speech服务持续更新,提供更高质量、更自然的多语种合成声音,并且支持SSML标记语言以实现更多定制化功能,开发者可以借此构建更具表现力的语音交互产品。此外,百度也推出了自家的语音开放平台,其中包含丰富的中文语音识别模型和TTS技术,为中国市场提供了强大的本地化解决方案。
其次,在深度学习技术推动下,语音识别准确率不断提升。阿里云团队最近发布了一项研究成果,通过先进的端到端神经网络模型,实现了在复杂环境下的高精度普通话识别,尤其针对噪声抑制和口音适应性有显著提升,为智能设备、智能家居等场景提供了有力的技术支撑。
同时,随着开源社区的发展,Mozilla旗下的Deepspeech项目也在不断迭代,该项目基于RNN-T架构,致力于打造开源、免费且准确度高的语音识别引擎,让更多开发者能够参与到语音技术的研究和创新中来。
总之,随着人工智能及机器学习技术的不断发展,Python语音识别技术的应用将更加广泛,无论是日常生活中的智能助手,还是工业级的自动化设备,都将受益于这项技术的进步。对于开发者而言,紧跟最新技术动态并结合实际应用场景进行技术创新,将是掌握这一领域未来发展的关键所在。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
bg [job_number] - 将停止的任务放到后台继续运行。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
HessianRPC在高负载下服务降级与熔断器模式保障用户体验 05-01 jQuery和TweenMax简单实用的水平手风琴特效 01-20 jquery选择国家下拉列表框插件 01-21 Sqoop在Hadoop集群中的数据传输机制及数据库迁移、收集与备份恢复应用实践 12-23 简约渔具批发牧渔企业类网站前端模板下载 11-09 基于bootstrap功能齐全的jQuery进度条插件 10-20 简约大气男性护肤产品HTML5网站模板 09-22 宽屏大气机械设备制造公司网站模板 08-13 演讲会门票销售网站模板下载 07-30 本次刷新还10个文章未展示,点击 更多查看。
经典响应式投资理财企业前端模板 06-26 基于Redis的键值对存储实现用户阅读状态跟踪与管理 06-24 Netty框架中CannotFindServerSelection异常:服务器地址配置错误与通道类型匹配详解 06-18 简洁设计公司响应式网站模板下载 05-06 绿色苗木草坪种植绿化类企业前端CMS模板下载 04-30 怎么在cmd开启mysql服务 04-15 保洁公司家庭保洁服务网站模板 03-26 SpringCloud微服务中分布式锁的死锁问题与状态一致性维护:避免循环依赖、公平锁及超时重试机制在Redisson中的实践运用 03-19 HBase性能测试与RegionServer配置、架构及数据模型调优实践:关注响应时间、并发处理能力与BlockCache优化 03-14 jquery控制radio触发事件 02-15 简约HTML5软件营销业务公司网站模板 02-09
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"