python教程

python文本批量转语音代码

python教程 51源码 2023-03-08 人阅读

本片教程利用的微软语音项目:https://GitHub.com/skygongque/tts,不过它最多生成10分钟的音频,大概2500字,对于大的文本就要想办法分割再识别,我就把狗尾续貂,增加了这部分的功能。

教程开始

1、安装python,下载https://github.com/skygongque/tts的项目。
2、cmd中安装python库

pip install requests==2.15.1
pip install websockets==10.2

3、解压下载文件,在tts-main\python_cli_demo下建立snd和txt两个文件夹。

4、把要转换的文本文件复制到tts-main\python_cli_demo下,注意编码要是ansi,utf-8的我没研究出来,这里我把原来的tts.py编码选项改了下才能用,有兴趣的可以深入研究下。

def get_SSML(path):
with open(path,'r',encoding='utf-8') as f:
return f.read()

我试的是把原文件中的,encoding='utf-8'删去才能用。

5、把getxt.py同样复制到tts-main\python_cli_demo下。

location='G:\\D\\tts-main\\python_cli_demo\\',这里目录改成你的,注意为\\。

里面默认是晓秋的声音,可在geTxt(input('BOOK:'),2333,3,'zh-CN-XiaoqiuNeural')中改参数。
2333是分割字数,3是生成的xml后缀数字位数,zh-CN-XiaoqiuNeural是朗读人的名字,可修改。

6、在tts-main\python_cli_demo下cmd中执行python getxt.py,输入文本文件名(不含txt)。
在txt中会生成分割后的xml文件,在tts-main\python_cli_demo会生成start.bat文件,会自已运行。

7、稍等在snd文件夹中就会生成声音了,2333个字符一段,大概8分多钟。【新更新的试了下字数不要太多1000多字可以,2000多会有问题】
再次执行上述操作会删除snd和txt文件夹中文件,请生成后及时移走。

版权声明:文章搜集于网络,如有侵权请联系本站,转载请说明出处:https://www.51yma.cn/jiaocheng/python/1111.html
文章来源: