记 Python Pyttsx3 文字转语音

环境

python ≥ 3.4 / pywin32

安装包

pip install pyttsx3

一、实现

初窥

import pyttsx3

class tts:
    def run_init(self, text):
      	 # 初始化 tts
        t = pyttsx3.init()
        t.say(text)
        t.runAndWait()


if __name__ == "__main__":
    t = tts()
    t.run_init(text = 'Hello World')

语速控制

# 语速控制
rate = t.getProperty('rate')
t.setProperty('rate', rate-50)

音量控制

# 音量控制
volume = t.getProperty('volume')
t.setProperty('volume', volume-0.25)

更换语音

voices = t.getProperty('voices')
for voice in voices:
    t.setProperty('voice', voice.id)
    t.say(text)
    t.runAndWait()

完整代码

import pyttsx3

class tts:
    def run_init(self, text):
        # 初始化 tts朗读
        t = pyttsx3.init()

        # 语速控制
        rate = t.getProperty('rate')
        t.setProperty('rate', rate-50)

        # 音量控制
        volume = t.getProperty('volume')
        t.setProperty('volume', volume-0.25)
			
			# 加载朗读数据
        voices = t.getProperty('voices')
        for voice in voices:
            t.setProperty('voice', voice.id)
            t.say(text)
            t.runAndWait()


if __name__ == "__main__":
    t = tts()
    t.run_init(text = 'Hello World')

tips:Linux/Ubuntu 下需要在终端运行 apt install libespeak1 命令

点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注