news 2026/6/10 11:46:20

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/6/10 7:10:25

用weditor快速验证你的测试方案原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个快速原型验证工具,使用weditor实现:1. 即时测试脚本生成 2. 实时执行反馈 3. 原型迭代记录 4. 结果可视化。要求能够在5分钟内完成从想法到可执行测…

作者头像 李华
网站建设 2026/6/10 7:08:05

Redis Lua脚本5大实战案例:电商秒杀系统设计

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商秒杀系统的Redis Lua脚本示例,要求实现:1) 库存原子性扣减 2) 防止超卖 3) 用户限购 4) 操作记录 5) 返回剩余库存。脚本要处理并发场景&#x…

作者头像 李华
网站建设 2026/6/10 12:25:48

【Java毕设全套源码+文档】基于springboot的高校“智慧党建”管理系统的设计与实现(丰富项目+远程调试+讲解+定制)

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

作者头像 李华