赞
踩
注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料,将在公众号CTO Plus发布,请关注公众号:CTO Plus
公众号CTO Plus原文:粉丝需求 | Python3使用pyttsx3实现文本朗读
背景:应粉丝需求,由于看的小说没有语音式的,说看小说想听语音模式的有声小说,随即找了一个Python的第三方库可以实现有声小说,读取文档内容然后进行文本朗读,试了下效果,还可以。
Pyttsx3是一个用于文字转语音的Python库。它可以让你的Python程序读出文字,并可以自定义语音的音调、语速和音量等参数。下面是Pyttsx3库的使用方法:
1. 安装Pyttsx3库
你可以使用pip命令来安装Pyttsx3库:
pip install pyttsx3
2. 导入pyttsx3模块
首先,你需要导入pyttsx3模块:
import pyttsx3
3. 创建一个语音引擎
接下来,你需要创建一个语音引擎,可以使用`pyttsx3.init()`函数来创建一个默认引擎:
engine = pyttsx3.init()
4. 设置语音参数
你可以使用`engine.setProperty(propName, value)`函数来设置语音的参数。其中,`propName`可以是以下几个值:
设置语速(Rate):
使用`engine.setProperty('rate', value)`将语速设置为指定值。其中,`value`是一个表示语速的整数,默认值为200。可以调整`value`的大小来改变语速,较大的值增加语速,较小的值降低语速。
示例:engine.setProperty('rate', 150) # 设置语速为150
设置音量(Volume):
使用`engine.setProperty('volume', value)`将音量设置为指定值。其中,`value`是一个表示音量的浮点数,默认值为1。可以将`value`设置为0到1之间的值,其中0为静音,1为最大音量。
示例:engine.setProperty('volume', 0.5) # 设置音量为0.5
设置声音(Voice):
使用`engine.setProperty('voice', voice_id)`将声音设置为指定的声音,默认值是系统默认声音。可以使用`engine.getProperty('voices')`函数获取可用的声音列表,然后将声音ID作为参数传递给`setProperty()`函数。
下面是一个例子,获取并显示可用的声音列表:
示例:
voices = engine.getProperty('voices')
for voice in voices:
print(voice.id)
选择一个合适的声音,并将其ID传递给`setProperty()`函数进行设置:
注意:可用的声音列表和其ID可能会根据操作系统有所不同。在不同的操作系统上,可用声音的名称和ID可能会有所不同。
这些是`pyttsx3`库的`setProperty()`函数的常见使用方法,你可以根据自己的需要使用不同的属性来定制你的文字转语音程序。
5. 文字转语音
你可以使用`engine.say(text)`函数来将文字转换为语音。下面是一个将文字转换为语音并播放的示例:
engine.say("Hello, world!") # 将文字转换为语音
engine.runAndWait() # 播放语音
6. 暂停和继续播放
你也可以使用`engine.stop()`函数来暂停语音的播放,可以使用`engine.runAndWait()`函数来继续播放已经暂停的语音。
engine.say("Hello")
engine.runAndWait()
engine.stop()
# 其他代码...
engine.runAndWait() # 继续播放之前暂停的语音
7. 关闭语音引擎
最后,你可以使用`engine.stop()`函数来停止语音的播放,然后使用`engine.stop()`函数来关闭语音引擎。
engine.stop()
示例
文档内容如下:
代码如下
- import pyttsx3
-
- engine = pyttsx3.init()
- engine.setProperty('rate', 350) # 设置语速,默认 200,数值越大语速越快
- engine.setProperty('volume', 1) # 设置音量,默认值是`1`,可以调整为`0`到`1`之间的值,数值越大音量越大。
-
- live_contents = ""
- with open('./static/voices.txt', encoding='utf-8') as to_live:
- live_contents = to_live.read()
- engine.say(live_contents)
- engine.runAndWait() # 等待结束
以上就是Pyttsx3库的基本使用方法。你可以根据自己的需要,使用不同的参数和功能来定制你的文字转语音程序。
Python专栏
https://blog.csdn.net/zhouruifu2015/category_5742543
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接
更多精彩,关注我公号,一起学习、成长
标准库系列-推荐阅读:
推荐阅读:
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。