基于 VoxCPM2 的多语言语音合成与声音克隆项目。支持文本转语音、音色设计、可控声音克隆,以及后续的 RVC 唱歌声音合成。
| 项目 | 版本 |
|---|---|
| Python | 3.10.20 |
| PyTorch | 2.11.0+cu128 |
| CUDA | 12.9 |
| voxcpm | 2.0.3 |
| Conda 环境 | dl-lab |
conda activate dl-lab
pip install voxcpm soundfile moviepy
从 ModelScope 下载模型权重(国内网络推荐):
pip install modelscope
python download_model.py
模型会下载到 module_for_VoxCPM/pretrained_models/VoxCPM2/,约 4.7GB。
python demo_tts.py
生成 3 个示例音频:
output_basic.wav — 中文 TTSoutput_voice_design.wav — 音色设计(自然语言描述创建音色)output_english.wav — 英文 TTS准备一段参考音频(MP4/WAV),然后运行:
python demo_clone.py
脚本会自动从 MP4 提取 10 秒音频片段作为参考,生成 3 个克隆音频:
output_clone_basic.wav — 基础声音克隆output_clone_styled.wav — 带风格控制(语速、情绪)output_clone_english.wav — 英文声音克隆from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained("./pretrained_models/VoxCPM2", load_denoiser=False)
wav = model.generate(text="你好世界", cfg_value=2.0, inference_timesteps=10)
sf.write("out.wav", wav, model.tts_model.sample_rate)
用自然语言描述创建音色:
wav = model.generate(text="(年轻女性,温柔甜美)你好世界", cfg_value=2.0, inference_timesteps=10)
wav = model.generate(text="要合成的文本", reference_wav_path="reference.wav", cfg_value=2.0, inference_timesteps=10)
wav = model.generate(
text="要合成的文本",
prompt_wav_path="reference.wav",
prompt_text="参考音频的文本转录",
reference_wav_path="reference.wav",
)
module_for_VoxCPM/
├── pretrained_models/VoxCPM2/ # 模型权重(gitignore,需单独下载)
├── download_model.py # 模型下载脚本
├── demo_tts.py # 基础 TTS 演示
├── demo_clone.py # 声音克隆演示
├── TASK_rvc_singing.md # RVC 唱歌合成任务计划
├── reference_audio.wav # 参考音频(10秒截取)
├── output_basic.wav # 中文 TTS 样本
├── output_voice_design.wav # 音色设计样本
├── output_english.wav # 英文 TTS 样本
├── output_clone_basic.wav # 基础克隆样本
├── output_clone_styled.wav # 风格控制克隆样本
└── output_clone_english.wav # 英文克隆样本
Python
100.0%
基于 VoxCPM2 的多语言语音合成与声音克隆项目。支持文本转语音、音色设计、可控声音克隆,以及后续的 RVC 唱歌声音合成。
| 项目 | 版本 |
|---|---|
| Python | 3.10.20 |
| PyTorch | 2.11.0+cu128 |
| CUDA | 12.9 |
| voxcpm | 2.0.3 |
| Conda 环境 | dl-lab |
conda activate dl-lab
pip install voxcpm soundfile moviepy
从 ModelScope 下载模型权重(国内网络推荐):
pip install modelscope
python download_model.py
模型会下载到 module_for_VoxCPM/pretrained_models/VoxCPM2/,约 4.7GB。
python demo_tts.py
生成 3 个示例音频:
output_basic.wav — 中文 TTSoutput_voice_design.wav — 音色设计(自然语言描述创建音色)output_english.wav — 英文 TTS准备一段参考音频(MP4/WAV),然后运行:
python demo_clone.py
脚本会自动从 MP4 提取 10 秒音频片段作为参考,生成 3 个克隆音频:
output_clone_basic.wav — 基础声音克隆output_clone_styled.wav — 带风格控制(语速、情绪)output_clone_english.wav — 英文声音克隆from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained("./pretrained_models/VoxCPM2", load_denoiser=False)
wav = model.generate(text="你好世界", cfg_value=2.0, inference_timesteps=10)
sf.write("out.wav", wav, model.tts_model.sample_rate)
用自然语言描述创建音色:
wav = model.generate(text="(年轻女性,温柔甜美)你好世界", cfg_value=2.0, inference_timesteps=10)
wav = model.generate(text="要合成的文本", reference_wav_path="reference.wav", cfg_value=2.0, inference_timesteps=10)
wav = model.generate(
text="要合成的文本",
prompt_wav_path="reference.wav",
prompt_text="参考音频的文本转录",
reference_wav_path="reference.wav",
)
module_for_VoxCPM/
├── pretrained_models/VoxCPM2/ # 模型权重(gitignore,需单独下载)
├── download_model.py # 模型下载脚本
├── demo_tts.py # 基础 TTS 演示
├── demo_clone.py # 声音克隆演示
├── TASK_rvc_singing.md # RVC 唱歌合成任务计划
├── reference_audio.wav # 参考音频(10秒截取)
├── output_basic.wav # 中文 TTS 样本
├── output_voice_design.wav # 音色设计样本
├── output_english.wav # 英文 TTS 样本
├── output_clone_basic.wav # 基础克隆样本
├── output_clone_styled.wav # 风格控制克隆样本
└── output_clone_english.wav # 英文克隆样本
Python
100.0%