VoxCPM ZipEnhancer语音增强:带噪录音一次洗干净,克隆音色更真实
【免费下载链接】VoxCPMVoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM
参考录音带噪,克隆出来的声音也跟着发闷,重生成十次都不对——问题多半在源音频,不在模型。VoxCPM 内置的 ZipEnhancer 语音增强模块会在合成前先给参考音频降噪,多一个参数,克隆音色更干净。
一条命令,2 分钟上手
先给结果:克隆时加一个--denoise,降噪在生成前自动完成。
voxcpm clone \ --text "你好,这是一段降噪后的克隆测试" \ --reference-audio noisy_recording.wav \ --denoise \ --output clean_clone.wav关键参数就三处:--denoise打开 ZipEnhancer 增强;--reference-audio是带噪的参考音频;不写--no-denoiser时降噪模型默认随主模型一起加载。
原理很直白:VoxCPM 在构建 prompt cache 之前,先把参考/提示音频送进降噪 pipeline,处理完写入临时文件参与合成,原文件不动、中间文件用后即清。降噪器底层是 ModelScope 的iic/speech_zipenhancer_ans_multiloss_16k_base声学噪声抑制模型,具体实现在 src/voxcpm/zipenhancer.py,调用入口在 src/voxcpm/core.py 的generate(..., denoise=True)。
核心能力速览
VoxCPM2 整体架构,左下角 Reference Audio 入口的参考音频可在合成前经过 ZipEnhancer 增强
- 声学噪声抑制:基于 ModelScope 降噪模型去除环境噪音、电流声等干扰,输入 16kHz 语音效果最佳。
- 响度归一化:增强后自动把音频增益调整到 -20 LUFS,避免音量忽大忽小导致合成不稳定,
normalize_loudness=False可关闭。 - 按需加载:降噪依赖懒加载,加
--no-denoiser(或load_denoiser=False)可完全不加载降噪模型,省显存省下载。 - 多入口统一:CLI(src/voxcpm/cli.py)、Python API、Gradio WebUI(app.py)都暴露了同一个
denoise开关。
进阶玩法与适用场景
场景一:先洗后克隆(Python API)。噪音重的录音建议单独跑一遍增强,听感满意再喂给模型,而不是边克隆边试错:
from voxcpm.zipenhancer import ZipEnhancer enhancer = ZipEnhancer() enhancer.enhance("noisy.wav", "clean.wav", normalize_loudness=True)之后model.generate(text=..., reference_wav_path="clean.wav")即可;output_path省略时会输出到临时文件。
场景二:离线或自定义模型路径。默认模型从 ModelScope 拉取,内网环境可先手动下载,再用--zipenhancer-path或环境变量ZIPENHANCER_MODEL_PATH指向本地目录,配合--local-files-only彻底断网运行。
场景三:WebUI 里勾选增强。python app.py启动后,参考音频下方有 "Reference audio enhancement"(中文界面为"参考音频降噪增强")开关,默认开启,克隆前自动走一遍 ZipEnhancer,适合不想碰命令行的同学。
避坑与快速修复 ⚠️
- 加了
--denoise却像没生效 → 该开关只在提供--reference-audio/--prompt-audio时触发,纯 design 模式没有参考音频可降噪。 - 首次运行卡在下载 → 那是 ZipEnhancer 模型在从 ModelScope 拉取,预下载后用
--zipenhancer-path指过去即可。 - 增强后声音发闷、失真 → 关响度归一化(
normalize_loudness=False),或换一段更干净的源音频,别指望降噪救回严重爆音。 - 担心原文件被改写 → 不会。
enhance只写新路径或临时文件,原录音保持原样。 - 想省显存跑批量合成 → 加
--no-denoiser,源码里 LoRA 推理脚本(scripts/test_voxcpm_lora_infer.py)就是这么做的。
ZipEnhancer 把"源音频不干净"这个最常见翻车点,压缩成了一个开关,克隆效果立竿见影。更多用法与完整 CLI 说明见 README.md 和 README_zh.md。
【免费下载链接】VoxCPMVoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考