最近想实现利用python将文本文件转换成mp3--听书,pyttsx3是一款优秀的文字转语音的模块,它生成的音频文件也比较具有个性化。
#encoding=utf8
'''
python将一段文字转为mp3音频文件
'''
import pyttsx3,librosa,os
from pydub import AudioSegment
# 实现方法:
def txttomp3(text,savemp3):
'''把文字为mp3格式并保存文件'''
engine = pyttsx3.init();
engine.setProperty('rate',150) #调整语速
engine.setProperty('volume',2.0) #调整音量
voices = engine.getProperty('voices');
engine.setProperty('voice',voices[0].id);
engine.say(text);
engine.save_to_file(text,savemp3);
engine.runAndWait(); #播放音频
print("转换成功!"+savemp3);
if __name__ == '__main__':
# 要转为MP3的文字
text = "远看山有色,近听水无声。春去花还在,人来鸟不惊。"
# 保存MP3的目录路径
savemp3 = r"D:/python/test.mp3";
# 调用方法
txttomp3(text,savemp3);
另外的方法:(也可以使用 SAPI 来做文本到语音的转换)
from win32com.client import Dispatch
# 获取讲话对象
speaker = Dispatch('SAPI.SpVoice')
# 语音内容
speaker.Speak('远看山有色,近听水无声。')