粉丝需求 | Python3使用pyttsx3实现文本朗读

注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料,将在公众号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 pyttsx3engine = 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】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接
更多精彩,关注我公号,一起学习、成长

关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s?__biz=MzIyMzQ5MTY4OQ==&mid=2247484278&idx=1&sn=2b774f789b4c7a2ccf10e465a1b9def6&chksm=e81c2070df6ba966026fd7851efa824b5e2704e3fd34e76228ca4ce64d93f7964cd4abe60f2b#rd
标准库系列-推荐阅读:
-
Python基础之开发必备-标准库(内置模块)汇总详细介绍(持续更新……)
-
Python标准库45. math模块实践
-
Python标准库87. typing模块实践
-
Python标准库88. 数据库 (sqlite3) 实践
-
Python标准库89. signal模块实践以及与Linux的信号
-
看这一篇就够了Python的35个关键字的含义、作用、特性以及使用方式详解
推荐阅读:
-
Python基础之最新的73个内置函数(1)
-
Python基础之最新的73个内置函数(2)
-
Python基础之最新的73个内置函数(3)Python3使用pyttsx3实现文本朗读
-
Python基础之最新的73个内置函数(4)
-
Python基础之最新的73个内置函数(5)
-
Python基础之最新的73个内置函数(6)
-
Python基础之最新的73个内置函数(7)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
