项目简介
本项目名为vc - lm,是一个基于PyTorch和Transformer架构的语音转换系统。它借助先进的Transformer语言模型和自监督学习方法,可将任意人的音色转换为成千上万种不同的音色,在音频处理领域表现出强大能力。
项目的主要特性和功能
- 支持大规模音色转换,可将任意人的音色转换为多种不同音色。
- 采用两阶段模型,即AR模型(自回归模型)和NAR模型(非自回归模型),分别处理音频不同层次。
- 训练阶段运用自监督学习方法,源音频和目标音频相同,提升模型泛化能力。
- 支持自定义数据集构建,能处理和生成大规模音频数据集。
- 提供完整的模型训练和推理流程,涵盖从数据准备到模型部署的全流程。
- 支持加载预训练模型并进行微调,以适应特定音色转换任务。
安装使用步骤
1. 环境准备
确保已安装以下依赖: - Python 3.7+ - PyTorch 1.7+ - torchaudio - transformers - webdataset - fire - tqdm
2. 进入项目目录
bash
cd vc-lm
3. 数据准备
构建数据集:
bash
python tools/construct_dataset.py --input_dir /path/to/input_audio --output_dir /path/to/output_dataset
4. 模型训练
训练AR模型:
bash
bash ./sh/train_ar_model.sh
训练NAR模型:
bash
bash ./sh/train_nar_model.sh
5. 模型推理
使用训练好的模型进行推理: ```python from vc_lm.vc_engine import VCEngine
engine = VCEngine('/path/to/ar.ckpt', '/path/to/nar.ckpt', '/path/to/ar_model.json', '/path/to/nar_model.json') output_wav = engine.process_audio(content_wav, style_wav, max_style_len=3, use_ar=True) ```
6. 模型微调
在特定数据集上微调模型:
bash
bash ./sh/train_finetune_ar_model.sh
bash ./sh/train_finetune_nar_model.sh
7. 结果展示
项目提供了多个样例音频展示,可以通过以下链接试听: - 输入音频 - 输出音频1 - 输出音频2 - 输出音频3 - 输出音频4 - 输出音频5
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】