python 将一段文字转为mp3音频文件

最近想实现利用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('远看山有色,近听水无声。')

猜你喜欢

转载自blog.csdn.net/weixin_43824829/article/details/127554357
今日推荐