当前位置: 代码网 > it编程>前端脚本>Python > 基于python简单实现文字转语音和语音识别

基于python简单实现文字转语音和语音识别

2025年08月07日 Python 我要评论
直接语音合成需要安装pip3 install pyttsx3pip3 install pypiwin32安装pyttsx3的时候出错,结果重装了一次python才行。。。tips:最后本人安装的版本是

直接语音合成

需要安装

pip3 install pyttsx3
pip3 install pypiwin32

安装pyttsx3的时候出错,结果重装了一次python才行。。。

tips:最后本人安装的版本是3.6

import pyttsx3
# 初始化
engine = pyttsx3.init()

engine.say('我要开始语音合成')
engine.say('好好学习,天天向上')
engine.say('hello world')

engine.runandwait()

文本文件语音合成wav

依赖安装

pip3 install comtypes

代码 

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') #中文得用utf-8格式
thetext = f.read()
f.close()
engine.speak(thetext)
stream.close()
print("合成成功")

语音转文本

pip3 install pocketsphinx
pip3 install speechrecognition

安装pocketsphinx可能出现错误

后来查了半天,,也下载了swig但是不会弄。看到pocketsphinx的文档

我猜可能是python3.8装不了?然后我装了python3.6版本,一下就安装好了。。。

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))

因为pocketsphinx只装有英文语音包,只能识别英文,识别率还算可以

安装中文语言包

下载之后解压到安装python的路径里,如下

e:\python3.6\lib\site-packages\speech_recognition\pocketsphinx-data

更改文件夹名 zh-cn

并把文件里面的名字改成和en-us的相同

然后在代码中修改

print('文本内容:',r.recognize_sphinx(audio,language='zh-cn'))

转换过程没英文那么快(毕竟中文博大精深),自己录音的识别率不高,我是用前面的文本转语音wav文件识别的。

到此这篇关于基于python简单实现文字转语音和语音识别的文章就介绍到这了,更多相关python文字转语音内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com