语音识别技术,也被称为自动语音识别,目标是以电脑自动将人类的语音内容转换为相应的文字和文字转换为语音。
文本转换为语音 使用 pyttsx使用名为 pyttsx 的 python 包,你可以将文本转换为语音。直接使用 pip 就可以进行安装, 命令如下:
@H_419_42@pip install pyttsx3
下载缓慢推荐您使用第三方通道下载
@H_419_42@pip install -i https://mirrors.aliyun.com/pypi/simple pyttsx3
【示例】使用 pyttsx 实现文本转换语音
@H_419_42@import pyttsx3 as pyttsx# 调用初始化方法,获取讲话对象engine = pyttsx.init()engine.say('加油!努力吧少年')engine.runAnDWait()使用 SAPI
在 python 中,你也可以使用 SAPI 来做文本到语音的转换。
【示例】使用 SAPI 实现文本转换语音
@H_419_42@from win32com.clIEnt import dispatch# 获取讲话对象speaker = dispatch('SAPI.SpVoice')# 讲话内容speaker.Speak('猪哥猪哥,你真了不起')speaker.Speak('YL美吗?')speaker.Speak('ZS说她美吖')# 释放对象del speaker使用 Speechlib
使用 Speechlib,可以从文本文件中获取输入,再将其转换为语音。先使用 pip 安装, 命令如下:
@H_419_42@pip install comtypes
【示例】使用 Speechlib 实现文本转换语音
@H_419_42@from comtypes.clIEnt import CreateObjectfrom 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 命令安装所需模块,命令如下:
@H_419_42@pip install PocketSphinxpip install SpeechRecognition
下载地址:https://pypi.org/project/SpeechRecognition/
下载缓慢推荐您使用第三方通道下载
@H_419_42@pip install -i https://mirrors.aliyun.com/pypi/simple 模块名
【示例】使用 PocketSphinx 实现语音转换文本
@H_419_42@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'))@L_502_7@普通话识别问题
speech_recognition 默认识别英文,是不支持中文的,需要在Sphinx语音识别工具包里面下载对应的 普通话包 和 语言模型 。
安装步骤:
下 载 地 址:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/
点击 Mandarin下载cmusphinx-zh-cn-5.2.tar.gz并解压.
在python安装目录下找到lib\site-packages\speech_recognition
点击进入pocketsphinx-data文件夹,会看到一个en-US文件夹,再新建文件夹zh-CN
在这个文件夹中添加进入刚刚解压的文件,需要注意:把解压出来的zh_cn.cd_cont_5000文件夹重命名为acoustic-model、zh_cn.lm.bin命名为language-model.lm.bin、zh_cn.dic中dic改为dict格式。即与en-US文件夹中命名一样。
@H_729_502@参考:https://blog.csdn.net/qq_32643313/article/details/99936268
致以感谢
浅显的学习语音识别,不足之处甚多,深究后,将更新文章。
感谢跟随老师的代码在未知领域里探索,希望我能走的更高更远
总结以上是内存溢出为你收集整理的Python语音识别全部内容,希望文章能够帮你解决Python语音识别所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)