Files
tts/scripts/generate/generate_with_app.py
2026-01-19 10:27:41 +08:00

47 lines
1.4 KiB
Python

import os
import sys
import soundfile as sf
import numpy as np
# 设置工作目录
WORKSPACE = "/root/tts"
# 切换到VoxCPM目录
os.chdir(os.path.join(WORKSPACE, "VoxCPM"))
# 添加VoxCPM到Python路径
sys.path.insert(0, os.path.join(WORKSPACE, "VoxCPM", "src"))
# 导入VoxCPMDemo
from app import VoxCPMDemo
# 初始化演示类
demo = VoxCPMDemo()
# 用户提供的文本
text = "老牛 只有 累死的命,那是 舐犊跪乳 的 恩情! 替罪 才是 羔羊的运,自有 虎踞龙盘 的 妖精! 亢龙 有悔 悔断了筋,那是 哪吒抽筋 的 极刑! 黑鱼 贪食 吞下了肉,那是 人为刀俎 的 报应!"
# 生成音频(不使用参考音频,使用默认音色)
sample_rate, audio = demo.generate_tts_audio(
text_input=text,
prompt_wav_path_input=None, # 不使用参考音频
prompt_text_input=None, # 不使用参考文本
cfg_value_input=2.0,
inference_timesteps_input=20, # 增加步数以提高质量
do_normalize=True,
denoise=False
)
# 保存音频
output_dir = os.path.join(WORKSPACE, "audio_files")
os.makedirs(output_dir, exist_ok=True)
output_path = os.path.join(output_dir, "wuzidengke_with_app.wav")
sf.write(output_path, audio, sample_rate)
print(f"音频生成完成!")
print(f"文件路径: {output_path}")
print(f"文件大小: {os.path.getsize(output_path)} 字节")
print(f"音频时长: {len(audio)/sample_rate:.2f}")
print(f"采样率: {sample_rate} Hz")