使用`pyttsx3`将文本生成中文语音,并保存为WAV文件
要使用pyttsx3库将文本生成中文语音,你需要确保系统上安装了支持中文语音的语音引擎。通常情况下,pyttsx3默认使用系统的语音引擎,因此你需要确保系统上安装了中文语音包。
·
要使用pyttsx3
库将文本生成中文语音,你需要确保系统上安装了支持中文语音的语音引擎。通常情况下,pyttsx3
默认使用系统的语音引擎,因此你需要确保系统上安装了中文语音包。
步骤
-
安装pyttsx3库:
pip install pyttsx3
-
编写Python代码:
使用pyttsx3
库将文本转换为中文语音。
示例代码
import pyttsx3
# 初始化pyttsx3引擎
engine = pyttsx3.init()
# 设置语音为中文
engine.setProperty('voice', 'zh')
# 诗句列表
poems = [
"床前明月光,疑是地上霜。",
"春眠不觉晓,处处闻啼鸟。",
"秋风萧瑟天气凉,草木摇落露为霜。",
"大漠孤烟直,长河落日圆。",
"好雨知时节,当春乃发生。",
"北风卷地白草折,胡天八月即飞雪。",
"待到重阳日,还来就菊花。",
"山重水复疑无路,柳暗花明又一村。",
"离离原上草,一岁一枯荣。",
"两个黄鹂鸣翠柳,一行白鹭上青天。"
]
# 输出目录
output_dir = 'output_wav'
# 创建输出目录
import os
os.makedirs(output_dir, exist_ok=True)
# 生成并保存WAV文件
for i, poem in enumerate(poems):
try:
# 设置输出文件路径
wav_file = os.path.join(output_dir, f'poem_{i+1}.wav')
# 使用pyttsx3生成语音并保存为WAV文件
engine.save_to_file(poem, wav_file)
engine.runAndWait()
print(f"生成 {wav_file} 完成!")
except Exception as e:
print(f"生成 {i+1}.wav 失败: {e}")
print("WAV文件生成完成!")
代码说明
-
安装pyttsx3库:
- 使用
pip install pyttsx3
安装pyttsx3
库。
- 使用
-
初始化pyttsx3引擎:
- 使用
pyttsx3.init()
初始化TTS引擎。
- 使用
-
设置语音为中文:
- 使用
engine.setProperty('voice', 'zh')
设置语音为中文。如果系统支持中文语音包,这将启用中文语音合成。
- 使用
-
诗句列表:
- 定义包含所有诗句的列表。
-
输出目录:
- 定义输出目录,用于保存生成的WAV文件。
-
创建输出目录:
- 使用
os.makedirs
创建输出目录,如果目录已存在则不报错。
- 使用
-
生成并保存WAV文件:
- 遍历诗句列表,使用
pyttsx3
将每句诗转换为语音,并保存为WAV文件。 - 使用
engine.save_to_file
生成语音文件,并使用engine.runAndWait
执行生成过程。
- 遍历诗句列表,使用
注意事项
-
中文语音包:
- 确保系统上安装了中文语音包。在Windows系统上,可以通过控制面板的语音设置来安装中文语音包。在Linux系统上,可以使用相应的包管理器安装中文语音包。
-
语音引擎支持:
pyttsx3
依赖于系统语音引擎,因此需要确保系统语音引擎支持中文语音合成。
更多推荐
所有评论(0)