【Python】文本转语音库pyttsx3

news2024/11/24 17:49:28

一、语音输出

1、安装文本转换语音库pyttsx3

安装指令:

pip install pyttsx3

2、导入pyttsx3库后,调用speak函数即可进行语音播放。

import pyttsx3
#语音播放 
pyttsx3.speak("How are you?")
pyttsx3.speak("I am fine, thank you")

3、调用init()方法来将其给初始化并且返回一个语音引擎对象:

import pyttsx3
engine = pyttsx3.init()

这个对象将文本以语音播放之前还可以去设置一下它的音量以及语速,而默认使用的是女声播放语音。可以设置合成器来选择语言的年龄、性别和语言等等,

4、合成器的主要参数如下:

  • age 发音人的年龄,默认为None

  • gender 以字符串为类型的发音人性别: male, female, or neutral.默认为None

  • id 关于Voice的字符串确认信息

  • languages 发音支持的语言列表,默认为一个空的列表

  • name 发音人名称,默认为None

默认的语音合成器有两个,两个语音合成器均可以合成英文音频,但只有第一个合成器能合成中文音频。如果需要其他的语音合成器需要自行下载和设置。

这个模式如果直接调用文本转语音的方法去播放的话是不能够识别中文的,所以需要设置一下合成器。代码示例如下所示:

engine = pyttsx3.init()
# 设置语速
engine.setProperty('rate', 200)
# 获取语速并输出
rate = engine.getProperty("rate")
print(rate)
# 设置音量
engine.setProperty('volume',0.8)
# 获取音量并输出
volume = engine.getProperty("volume")
print(volume)
# 获取语音合成器
voices = engine.getProperty('voices')
# 查看语音合成器
for v in voices:
    print(v)
#设置语音合成器
engine.setProperty('voice',voices[0].id)

最后也只需要调用say()方法将需要转语音的文本传进去,然后执行run方法就可以使用语言来播放这段文本了,代码如下所示:

engine.say("你瞅啥")
engine.say("瞅你咋地")
engine.say("再瞅一个试试")
engine.say("试试就逝世")
engine.runAndWait()

5、将输出的语音保存mp3文件

# 朗读音频保存
engine.save_to_file("白日依山尽,黄河入海流!", "output.mp3")
# 运行并且等到播放完毕
engine.runAndWait()
# 关闭引擎
engine.stop()

 6、完整测试代码:

import pyttsx3

engine = pyttsx3.init()
# 设置语速
engine.setProperty('rate', 200)
# 获取语速并输出
rate = engine.getProperty("rate")
print(rate)
# 设置音量
engine.setProperty('volume',0.8)
# 获取音量并输出
volume = engine.getProperty("volume")
print(volume)
# 获取语音合成器
voices = engine.getProperty('voices')
# 查看语音合成器
for v in voices:
    print(v)
#设置语音合成器
engine.setProperty('voice',voices[0].id)

engine.say("你瞅啥")
engine.say("瞅你咋地")
engine.say("再瞅一个试试")
engine.say("试试就逝世")
# 朗读音频保存
engine.save_to_file("白日依山尽,黄河入海流!", "output.mp3")
# 运行并且等到播放完毕
engine.runAndWait()
# 关闭引擎
engine.stop()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成都欢蓬电商:抖音直播卖药灰度测试通告

据报道,近日有MCN机构透露,目前抖音直播卖药为“测试项目,谨慎试跑中”; “仍处于灰度测试,至于测试多久,抖音官方确实没有答复,需要看第一阶段数据,然后定夺,预计4月份会纳入更多机…

第八章《嵌入式系统原理与实践》--沈建华 王慈 清华大学出版社 课后部分习题个人答案

第八章 1,2,3,4,6,7,9,12 1 什么是串行通信、并行通信? 按一次传输数据位个数区分 串行通信并行通信是数据是一位一位地由端口发送或接收数据的各个数据位(一般为 8 位…

「TCG 规范解读」初识 TPM 2.0 库续二

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…

手写一个文件上传demo

背景 最近闲来无事,同事闻了一下上传文件的基本操作,如何用文件流来实现一个文件的上传功能 基本概念 流(Stream)是指在计算机的输入输出操作中各部件之间的数据流动。可以按照数据传输的方向,将流可分为输入流和输出…

Vue3:有关v-model的用法

目录 前言: 回忆基本的原生用法: 原生input的封装: 自定义v-model参数: 对el-input的二次封装: 多个v-model进行绑定: v-model修饰符: v-model自定义参数与自定义修饰符的结合: 前言&am…

Java 网络编程 Ⅰ

目录基础知识IP 和 Portinternet(互联网)Java UDP 编程UDP(User Datagram Protocol):无连接无状态的数据报通讯协议实现Java TCP 编程TCP(Transmission Control Protocol):面向连接的…

XSS注入进阶练习篇(三) XSS原型链污染

XSS原型链污染1.原型链的概念1.1 构造函数的缺点1.2 prototype 属性的作用1.3 原型链1.4 constructor属性1.5 prototype和__proto__2. 原型链污染2.1 原型链污染是什么?2.2 原型链污染的条件2.3 原型连污染实例2.3.1 hackit 20182.3.2 challenge-04223.总结1.原型链…

Java跳槽涨薪之路-想学Java的赶紧上车了

前言Java 是近 10 年来计算机软件发展过程中的传奇,在很多开发者心中的地位可谓“爱不释手”,与其他一些计算机语言随着时间的流逝影响也逐渐减弱不同,Java 随着时间的推移反而变得更加强大。按应用范围,Java 可分为 3 个体系&…

【Unity3D】空间和变换

1 空间 1.1 左右手坐标系及其法则 1.1.1 左右手坐标系 左手坐标系与右手坐标系Unity 局部空间、世界空间、裁剪空间、屏幕空间都采用左手坐标系,只有观察空间采用右手坐标系。 左右手坐标系除了坐标系朝向(旋向性)不同,还存在以…

顶象APP加固的“蜜罐”技术有什么作用

目录 蜜罐有很多应用模式 蜜罐技术让App加固攻守兼备 顶象端加固的三大功能 为了捕获猎物,猎人会在设置鲜活的诱饵。被诱惑的猎物去吃诱饵时,就会坠入猎人布置好的陷阱,然后被猎人擒获,这是狩猎中常用的一种手段。在业务安全防…

自动化测试框架设计

大数据时代,多数的web或app产品都会使用第三方或自己开发相应的数据系统,进行用户行为数据或其它信息数据的收集,在这个过程中,埋点是比较重要的一环。 埋点收集的数据一般有以下作用: 驱动决策:ABtest、漏…

华为OD机试用Python实现 -【微服务的集成测试】(2023-Q1 新题)

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 微服务的集成测试…

信号的运算与变换

目录 前言 本章内容介绍 信号的运算与变换 相加 相乘 时移 反折 尺度变换 微分(差分) 积分(累加) 信号的奇偶求解 信号的实虚分解 合适的例题 1、时移反折 2、时移尺度 3、时移反折尺度 4、反求x(t) 前言 《信号…

gma 1.1.3 (2023.02.22) 更新日志

(实际版本日期:2023.02.14) 重要更新: 从本版本开始, gma 开始支持 Python 3.11! 新增: 1、map 增加【AddDataSetDiscrete】添加离散型栅格数据集绘制功能。 2、math a、添加 Stretch 数据…

2023年PMP考试应该注意些什么?

首先注意(报考条件) 2023年PMP考试报名流程: 一、PMP英文报名: 英文报名时间无限制,随时可以报名,但有一年的有效期,所以大家尽量提前报名,在英文报名有效期内进行中文报名。 英…

儿童饰品发夹发卡出口美国办理什么认证?

亚马逊美国站上传新产品,很多时候都是需要类目审核的,后台给出要求提供认证,产品类目不同,所需要提供的认证证书是不一样,儿童产品需要提交的是CPC认证,玩具,母婴用品,儿童书包&…

前端面试题整理之HMTL篇(二)

HTML面试题(二) 前言: 面试题及答案解析,大部分来自网络整理,我自己做了一些简化,内容有很多部分已经重复,解释也有些乱,大家带着自己的思考去看,整理自己的语言&#x…

python中savgol_filter的详细解释

目录savgol_filter简介savgol_filter原理参数window_length对平滑的效果参数polyorder的平滑效果savgol_filter简介 Savitzky-Golay滤波器最初由Savitzky和Golay于1964年提出,是光谱预处理中常用滤波方法,它的核心思想是对一定长度窗口内的数据点进行k阶…

数据结构与算法(四):树结构

前面讲到的顺序表、栈和队列都是一对一的线性结构,这节讲一对多的线性结构——树。「一对多」就是指一个元素只能有一个前驱,但可以有多个后继。 一、基本概念 树(tree)是n(n>0)个结点的有穷集。n0时称…

魔兽世界私服架设教程—GM命令大全

如果需要什么命令可以按ctrlf查找,比如泰坦之握,就会直接定位到你想要的命令那里。橙色武器:85版本橙匕首,龙父之牙戈拉德,龙王之暮提里奥什,远古噩梦7794977950橙杖,可以变龙巨龙之怒&#xff…