news 2026/4/18 7:23:34

TTS 之 PYTHON库 pyttsx3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TTS 之 PYTHON库 pyttsx3

pyttsx3是Python中一款轻量级、跨平台的离线文本转语音(TTS)库,可实现文本朗读、语音参数调控、语音文件保存等功能:

一、基本功能

1. pyttsx3初始化 init

```python import pyttsx3 engine = pyttsx3.init() engine.say("pyttsx3 初始化!") engine.runAndWait() engine.stop() ```

2. 基础功能使用

基本文本朗读:

初始化语音引擎后,通过say()方法添加待朗读文本,再用runAndWait()触发语音播放,该方法会阻塞线程直至播放结束,

importpyttsx3 engine=pyttsx3.init()text="Hello, welcome to the world of Python and pyttsx3!"engine.say(text)engine.runAndWait()engine.stop()

语音速率调整:

通过getProperty('rate')获取当前语速(默认有固定值),再用setProperty('rate', value)设置新语速,取值范围通常为0-500,数值越大语速越快:

importpyttsx3 engine=pyttsx3.init()rate=engine.getProperty('rate')print(f"当前语音速率:{rate}")engine.setProperty('rate',500)engine.say("你好 tts.")engine.runAndWait()engine.stop()

语音音量控制:

借助getProperty('volume')获取当前音量,通过setProperty('volume', value)调节音量,取值范围为0.0(静音)-1.0(最大音量)。

importpyttsx3 engine=pyttsx3.init()volume=engine.getProperty('volume')print(f"当前音量:{volume}")engine.setProperty('volume',0.7)engine.say("你好 tts.")engine.runAndWait()engine.stop()

语音类型选择:

getProperty('voices')获取系统可用语音列表,列表中每个语音对象包含ID、名称、性别等信息,再通过setProperty('voice', voice_id)切换语音类型,示例:

importpyttsx3 engine=pyttsx3.init()voices=engine.getProperty('voices')forvoiceinvoices:print(f"语音ID:{voice.id}, 语音名称:{voice.name}, 语音性别:{voice.gender}")engine.setProperty('voice',voices[0].id)engine.say("This is a test with a different voice.")engine.runAndWait()engine.stop()

保存语音到文件:

使用save_to_file(text, filename)将语音保存为指定格式文件(如MP3、WAV,格式取决于系统引擎),且需调用runAndWait()确保保存完成,示例:

importpyttsx3 engine=pyttsx3.init()text="This is a test. The speech will be saved to a file."engine.save_to_file(text,'output.mp3')engine.runAndWait()engine.stop()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 5:39:11

AI仓储管理系统:技术重构仓储效率,产品视角下的硬核赋能

做仓储相关产品久了,最懂传统仓储的痛点:货物堆成山,人工找货像“大海捞针”;出入库全靠纸笔核对,错发、漏发是常事;库存多少全凭经验猜,要么缺货耽误订单,要么积压占用资金。这些问…

作者头像 李华
网站建设 2026/4/18 7:59:05

AI如何自动诊断并修复‘连接被拒绝‘错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Python脚本,使用AI自动诊断连接被拒绝错误。脚本应能:1. 检查目标URL/端口的可达性 2. 分析常见原因(防火墙、服务未启动等) 3. 根据错误类型提供修…

作者头像 李华
网站建设 2026/4/18 9:25:43

WebClient入门指南:从零开始学网络请求

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 编写一个入门级WebClient教程项目,包含:1. 最基本的GET请求示例 2. POST请求发送表单数据 3. 处理文本和JSON响应 4. 文件下载功能 5. 进度回调实现。使用C#…

作者头像 李华
网站建设 2026/4/18 8:01:22

破壁异构计算 - Ascend C在CANN全栈中的战略支点角色

目录 摘要 1. 异构计算的“巴别塔困境”与CANN的破局之道 1.1 从硬件算力到应用效能的鸿沟 1.2 CANN的全栈视角:不只是“驱动程序” 2. Ascend C架构设计:达芬奇架构的“精准映射” 2.1 硬件抽象层的设计哲学 2.2 三级存储体系的最佳实践 3. 核心…

作者头像 李华
网站建设 2026/4/18 1:06:07

【Java毕设全套源码+文档】基于springboot的甘肃“印象”网站设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华