菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

将Python文本批量转换为语音的代码

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:python教程 文字转语音 文本转语音

要实现Python文本批量转语音,可以使用`gTTS`库。首先需要安装`gTTS`库和`beautifulsoup4`库,然后使用`requests`库下载网页内容。接着使用`BeautifulSoup`解析网页,提取需要转换的文本。最后使用`gTTS`将文本转换为语音并保存为MP3文件。以下是一个简单的示例代码: ```python from gtts import gTTS import requests from bs4 import BeautifulSoup # 下载网页内容 url = 'https://example.com' response = requests.get(url) html_content = response.text # 解析网页,提取需要转换的文本 soup = BeautifulSoup(html_content, 'html.parser') text = soup.find('div', {'class': 'content'}).text # 使用

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

教程开始

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

pipinstallrequests==2.15.1pipinstallwebsockets==10.2

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

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

defget_SSML(path):withopen(path,'r',encoding='utf-8')asf:returnf.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文件夹中文件,请生成后及时移走。

评论
建站知识
建站知识
使用技巧
调试安装
运营推广