47 lines
1.4 KiB
Python
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")
|