本片教程利用的微软语音项目: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文件夹中文件,请生成后及时移走。