当前位置:   article > 正文

粉丝需求 | Python3使用pyttsx3实现文本朗读_python语音播放文本

python语音播放文本

注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料将在公众号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()
 
示例
文档内容如下:
 
代码如下
  1. import pyttsx3
  2. engine = pyttsx3.init()
  3. engine.setProperty('rate', 350) # 设置语速,默认 200,数值越大语速越快
  4. engine.setProperty('volume', 1) # 设置音量,默认值是`1`,可以调整为`0`到`1`之间的值,数值越大音量越大。
  5. live_contents = ""
  6. with open('./static/voices.txt', encoding='utf-8') as to_live:
  7. live_contents = to_live.read()
  8. engine.say(live_contents)
  9. 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

标准库系列-推荐阅读:


推荐阅读:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/911540
推荐阅读
相关标签
  

闽ICP备14008679号