当前位置: 首页 > news >正文

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()
http://www.jsqmd.com/news/89405/

相关文章:

  • 【开题答辩全过程】以 基于Spring Boot的香飘万里外卖平台为例,包含答辩的问题和答案
  • 从零解决pyproject.toml构建失败的实战指南
  • Linux系统中的socket激活:先创建监听端口,后启动程序
  • 实战LLaMA2-7B指令微调
  • 优化Sigmoid函数计算:提升AI模型训练速度
  • 华强北看了都慌!酷铂达平替千元耳机,降噪+环绕声双buff拉满
  • 亚马逊基本功:低成本测品攻略
  • Java 八大排序算法详解(从入门到面试)
  • 【和春笋一起学C++】(五十一)复制构造函数
  • AI如何革新漏洞扫描工具的开发流程
  • 题解:AT_abc436_f
  • 计算机毕业设计springboot餐厅预定系统 基于SpringBoot的智慧餐饮订座平台 SpringBoot驱动的线上餐厅席位预约管理系统
  • 小白程序员的进阶之路:Java大厂求职面试实录
  • mac 安装brew实战应用案例分享
  • 深入解析 DNS:互联网的隐形神经系统
  • 服务器文件管理太麻烦?宝塔 FTP+cpolar 让远程操作像本地一样简单
  • 破壁异构计算 - Ascend C在CANN全栈中的战略支点角色
  • 数字色彩的骨架:计算机如何理解颜色
  • vue基于springboot众筹平台的设计与实现_o6xzhq2s_
  • MATLAB 环境下信号的同步压缩广义 Stockwell 变换探索
  • UE5 材质-35-节点:CustomRotator 自定义旋转 节点。线性渐变节点,材质函数 LinearGradient。
  • AI大模型赋能消费升级:新机遇与新路径
  • vue基于springboot的社区健身服务_yob3w0op_
  • Web3.js钱包与账户管理
  • 【开题答辩全过程】以 基于微信小程序的失物认领系统为例,包含答辩的问题和答案
  • Ascend C算子精度调试全攻略 - 从Print函数到结构化数据比对
  • 安全体验馆好用供应商
  • Ubuntu 24 安装 fcitx5 + rime + 雾凇配置
  • vue基于springboot二手车交易和租赁平台的设计与实现_k6nb3x0d(java毕业设计项目源码)
  • 《线性代数应该这样学》学习笔记 | 第一章 向量空间