python文字转语音

abc.txt

我喜欢唱跳rap&篮球
import os
import pyttsx3

# 创建一个TTS引擎
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for v in voices:
    print("ID:", v.id)
    print("Name:", v.name)
    print("Languages:", v.languages)

# 根据voices列表中的索引来选择语音引擎
engine.setProperty('voice', voices[0].id)
# 设置音速(可选)
engine.setProperty('rate', 150)
# 指定语言为中文  en是英文
engine.setProperty('language', 'zh')
# 设置音量(可选)
engine.setProperty('volume', 0.8)

# 读取文本文件内容
file_path = "abc.txt"
with open(file_path, 'r', encoding='utf-8') as file:
    text = file.read()

# 将文字转换为语音,直接读,量大的话 需要一行一行的
engine.say(text)
# 将文字转换为语音
engine.save_to_file(text, 'output.mp3')
engine.runAndWait()
# 调用系统播放器
os.system('output.mp3')

posted @ 2024-01-23 10:53  朝阳1  阅读(45)  评论(0编辑  收藏  举报