前段时间,朋友为了考试,方便复习,丢给我一份十几万字的word文档。
正好最近在学python,没想到比我以前的方式便捷很多,不需要分割文本,2分钟,就把这十几万字的文档转换成了MP3。
首先我么要安装pyttsx3库,这是一个将文本转换为语音的工具。
不需要通过第三方接口,速度会比较快。
pip install pyttsx3
接着,我们导入刚才安装的库,并顺便导入一个os库,方便设置生成的Mp3保存位置。
这里:
a4 = os.path.join(os.path.expanduser("~"), "Desktop", "sphc")
我将生成的文本保存在了桌面一个名为sphc的文件夹内,所以你需要提前创建这个文件夹,或者将这个名字修改为你桌面的文件夹名字也可以。
添加图片注释,不超过 140 字(可选)
下面,我们需要替换text文档内容
text = "这是一个案例"
将我们要处理的文档,替换掉“”内的文本内容即可。
另外,我们看还可以自动与语速。
# 设置语速(可选)
engine.setProperty('rate', 150) # 设置语速,数值越大语速越快
以及还可以设置音量
# 设置音量(可选)
engine.setProperty('volume', 0.8) # 设置音量,范围在 0.0-1.0 之间
其他内容就无需修改,直接复制过去就能用了。
在这里,我设置的是保存为MP3格式。
# 将文字转换为语音并保存为 MP3 文件
engine.save_to_file(text, mp3_path)
engine.runAndWait()
如果你需要改为其他格式,我们只需要修改这的Mp3即可,比如设置为wav格式。
# 将文字转换为语音并保存为 wav文件
engine.save_to_file(text, wav_path)
engine.runAndWait()
我们修改保存格式即可。
用起来很简单,十几万字的文档,转换只用了不到两分钟,相对于市面上的文字转语音工具,第一,这个完全免费。第二,速度非常快。第三,没有字数限制。
当然也有缺点,唯一的缺点就是音色比较单一,没有音色可以选择,比较机械化。
不过我们还有其他python库可以使用,后续我再继续介绍。
这段源码我放在了内,有需要的自己领取复制即可直接使用。