Python模块介绍使用:pyttsx3语音合成

hello,大家好,我是wangzirui32,今天我们来学习如何使用pyttsx3的语音合成功能。
开始学习吧!

1. pip安装

pip install pyttsx3

没有报错即安装成功。

2. 语音合成

2.1 简单示例

pyttsx3可以阅读中文和英文文本,先来看一个最简单的例子:

import pyttsx3

# 初始化一个朗读引擎
engine = pyttsx3.init()
# 阅读
engine.say("学习Python!")
# 运行并且等到播放完毕
engine.runAndWait()

运行程序,可以听到“学习Python!”随后运行结束。

2.2 修改朗读音量

可以先获取朗读的音量,代码:

import pyttsx3

engine = pyttsx3.init()
# 获取音量并输出
volume = engine.getProperty("volume")
print(volume)

输出:

1.0

可以看到,朗读的音量为1.0,现在对它进行设置:

import pyttsx3

engine = pyttsx3.init()

# 设置音量为0.1
engine.setProperty("volume", 0.1)

engine.say("音量调整")
engine.runAndWait()

# 读取音量并输出
volume = engine.getProperty("volume")
print(volume)

这里有一点需要注意,设置的音量值必须在0.0-1.0之间。

2.3 修改朗读语速

获取语速:

import pyttsx3

engine = pyttsx3.init()

# 获取音频并输出
rate = engine.getProperty("rate")
print(rate)

运行代码:

200

可以看到,音量的默认值为200,现在来修改它:

import pyttsx3

engine = pyttsx3.init()

# 设置语速
engine.setProperty("rate", 300)

engine.say("语速调整")
engine.runAndWait()

rate = engine.getProperty("rate")
print(rate)

2.4 修改合成器

pyttsx3提供了不同的合成器,现在来打印输出它们:

import pyttsx3

engine = pyttsx3.init()
# 获取所有合成器并输出
voices = engine.getProperty("voices")
print(voices)

运行代码:

[<pyttsx3.voice.Voice object at 0x000001CAFEA8E250>, <pyttsx3.voice.Voice object at 0x000001CAFEA8E1F0>]

发现,pyttsx3提供了两个合成器,现在来修改合成器的类别:

import pyttsx3

engine = pyttsx3.init()

# 获取所有合成器
voices = engine.getProperty("voices")

# 设置合成器为第2个(索引为1,注意id属性)
engine.setProperty("voice", voices[1].id)

engine.say("wangzirui32")
engine.runAndWait()

经测试,第2个合成器只能合成英文音频,不能合成中文音频。

2.5 将文本输出到音频

可以使用engine的save_to_file函数,代码:

import pyttsx3

engine = pyttsx3.init()
# 朗读音频保存
engine.save_to_file("我是wangzirui32,我喜欢Python!", "output.mp3")
# 运行
engine.runAndWait()

运行代码,就可以在当前目录下看到output.mp3了。


好了,今天的课程就到这里,感兴趣的可以点赞收藏,我们下次再见!

你可能感兴趣的:(Python,Python模块介绍使用,python)