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()触发语音播放,该方法会阻塞线程直至播放结束,

python 复制代码
    import pyttsx3
    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,数值越大语速越快:

python 复制代码
	import pyttsx3
	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(最大音量)。

python 复制代码
import pyttsx3
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)切换语音类型,示例:

python 复制代码
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
    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()确保保存完成,示例:

python 复制代码
import pyttsx3
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()
相关推荐
似水明俊德1 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
qq_417695051 小时前
机器学习与人工智能
jvm·数据库·python
漫随流水1 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
Thera7772 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
yy我不解释2 小时前
关于comfyui的mmaudio音频生成插件时时间不一致问题(一)
python·ai作画·音视频·comfyui
炘爚3 小时前
C语言(文件操作)
c语言·开发语言
阿蒙Amon3 小时前
C#常用类库-详解SerialPort
开发语言·c#
凸头3 小时前
CompletableFuture 与 Future 对比与实战示例
java·开发语言
wuqingshun3141593 小时前
线程安全需要保证几个基本特征
java·开发语言·jvm
Moksha2623 小时前
5G、VoNR基本概念
开发语言·5g·php