Downloads · 30 days
2
13% of all-time downloads
huskyhong/wzryyykl-lb-sdkh
wzryyykl-lb-sdkh is a machine learning model from huskyhong. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
基于 VoxCPM 的王者荣耀英雄及皮肤语音克隆模型系列,支持多种英雄和皮肤的语音风格克隆与生成。
Downloads · 30 days
2
13% of all-time downloads
All-time downloads
15
Public
Repo size
1.7 GB
Likes
0
Public
Click a slice to open those files.
.bin1.3 GB · 77%
From the Hugging Face model README
基于 VoxCPM 的王者荣耀英雄及皮肤语音克隆模型系列,支持多种英雄和皮肤的语音风格克隆与生成。
pip install voxcpm
import json
import soundfile as sf
from voxcpm.core import VoxCPM
from voxcpm.model.voxcpm import LoRAConfig
# 配置基础模型路径(示例路径,请根据实际情况修改)
base_model_path = "G:\mergelora\嫦娥_拒霜思"
# 配置输出文件路径(示例路径,请根据实际情况修改)
output_wav_path = "G:\mergelora\嫦娥_拒霜思\output.wav"
# 自动设置LoRA检查点目录和提示文件路径
lora_ckpt_dir = f"{base_model_path}/step_0002000"
prompt_wav_path = f"{base_model_path}/1.wav"
prompt_jsonl_path = f"{base_model_path}/1.jsonl"
# 加载LoRA配置
with open(f"{lora_ckpt_dir}/lora_config.json") as f:
lora_info = json.load(f)
# 修改base_model路径为当前模型路径
lora_info["base_model"] = base_model_path
lora_cfg = LoRAConfig(**lora_info["lora_config"])
# 加载模型和LoRA权重
model = VoxCPM.from_pretrained(
hf_model_id=base_model_path,
lora_config=lora_cfg,
lora_weights_path=lora_ckpt_dir,
)
# 读取提示文本
with open(prompt_jsonl_path, "r", encoding="utf-8") as f:
prompt_data = json.loads(f.read().strip())
prompt_text = prompt_data["text"]
# 生成语音
wav = model.generate(
text="你叫什么名字,我叫嫦娥。", # 要生成的文本内容
prompt_wav_path=prompt_wav_path, # 提示音频路径,用于声音克隆
prompt_text=prompt_text, # 提示文本,与提示音频对应的文本内容
cfg_value=2.0, # LocDiT的语言模型引导强度,值越高对提示音频的 adherence 越强,但可能导致质量下降
inference_timesteps=10, # LocDiT推理的时间步数,值越高生成质量越好,但速度越慢
normalize=False, # 是否启用外部TN(文本规范化)工具,启用后将禁用原生raw text支持
denoise=False, # 是否启用外部降噪工具,启用后可能导致失真并限制采样率为16kHz
retry_badcase=True, # 是否启用坏例重试模式,用于处理一些困难案例(不可中断)
retry_badcase_max_times=3, # 坏例重试的最大次数
retry_badcase_ratio_threshold=6.0, # 坏例检测的最大长度限制(简单但有效),可根据慢速语音调整
)
sf.write(output_wav_path, wav, model.tts_model.sample_rate) # 保存输出文件
print(f"saved: {output_wav_path}")
原始声音:
"拒霜有信,归梦无凭。"
🎧 播放原始声音
克隆生成:
"你叫什么名字,我叫嫦娥。"
🎧 播放克隆声音