Skip to content

1、方便的从一个word文档中根据一级标题和二级标题拆分为文本文件。2、根据一个目录下面的txt文件调用tts服务的api生成mp3文件

Notifications You must be signed in to change notification settings

kyinwind/easyTTS

Repository files navigation

20250131:将createtxtbyword和createmp3.py合并为easyTTS.py

20250130:增加调用本地GPTSoVits服务的脚本createmp3-gptsovits.py

20241214:初始创建。

缘起:
本人在喜马拉雅运营一个账号,会制作一些学佛相关的语音书,运营账号一段时间后,希望有一些工具软件可以用来提高效率,但是我在网上没有找到,所以就希望自己做一个。
需求主要是:
1、需要从一个word文档中根据标题拆分出来txt文件,用于tts准备。
2、需要调用TTS服务的api,根据txt文件生成mp3文件。

运行环境:
1、需要安装python,我安装的是3.12.4
2、安装python-docx库
pip install python-docx
3、安装pydub
pip install pydub
4、安装ffmpeg
brew install ffmpeg
5、安装azure.cognitiveservices.speech,这是微软的api sdk
pip3 install azure-cognitiveservices-speech

代码说明:
1、createtxtbyword.py.py
这个文件主要是选择一个后缀是docx的word文档,然后根据word文档的一级标题和二级标题生成若干txt文件。
2、createmp3.py
这个文件功能主要是选择一个txt文件所在目录,遍历里面的所有txt文件,调用tts服务生成对应的mp3.
如果mp3已经生成则会跳过。
处理时会按照1500字符拆分为若干小的文件生成mp3文件,然后再合并。

TTS服务:
代码里内置的微软的Azure的TTS服务,暂时还未适配其他厂家的TTS服务,如果网友有需求,可以把api文档发给我,我抽时间完善一下。
createmp3.py运行时,需要先填写:
speech_key = "你的服务的key"   //在微软的网站服务portal可以查看获得,是一个比较长的字符串
service_region = "所在的服务区域代码"   //例如我这里就是service_region = "eastasia"
当然有动手能力的,自己修改一下python代码也不复杂。

About

1、方便的从一个word文档中根据一级标题和二级标题拆分为文本文件。2、根据一个目录下面的txt文件调用tts服务的api生成mp3文件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages