📜  Python文本转语音 | pyttsx 模块(1)

📅  最后修改于: 2023-12-03 15:04:39.742000             🧑  作者: Mango

Python文本转语音 | pyttsx 模块

简介

pyttsx是一个Python文本转语音库,它可以将文本转换为语音输出,支持多种语音和声音效果,并支持多种平台。

我们可以用它来开发各种语音助手,自动语音提示等应用,具有非常好的实用性和应用场景。

安装

要使用pyttsx模块,我们需要将其安装到Python环境中。可以通过pip安装:

pip install pyttsx
使用方法

导入pyttsx库:

import pyttsx3

创建一个Engine对象:

engine = pyttsx3.init()

使用setProperty方法来设置声音:

engine.setProperty('voice', 'zh')    # 设置中文语音

使用say方法来说出文本:

engine.say('你好,世界!')

运行并等待文本说完:

engine.runAndWait()
高级用法
更改发音人

我们可以通过setProperty方法来更改发音人的声音:

voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)    # 选择第一个发音人
更改语速

我们可以使用setProperty方法来更改发音的语速:

rate = engine.getProperty('rate')    # 获取当前的语速值
engine.setProperty('rate', rate+50)    # 加速语速
更改音量

我们可以使用setProperty方法来更改发音的音量:

volume = engine.getProperty('volume')    # 获取当前音量值
engine.setProperty('volume', volume-0.1)    # 降低音量
事件回调机制

我们可以注册一些事件回调函数,来实现更复杂的应用场景,比如说在语音读完时触发一些操作:

def onEnd(name, completed):
    print('准备退出...')
    # do something

engine.connect('finished', onEnd)
总结

pyttsx是一个非常实用的Python文本转语音库,非常容易上手,同时支持多种高级用法和事件回调机制,适用于多种应用场景。