Diff-HierVC: 基于扩散模型的分层语音转换系统,具有稳健的音高生成和零样本说话人自适应的掩蔽先验
Diff-HierVC(Interspeech 2023口头报告)的官方Pytorch实现
Ha-Yeong Choi, Sang-Hoon Lee, Seong-Whan Lee
整体架构
尽管语音转换(VC)系统在转换声音风格方面表现出了显著的能力,但现有方法仍存在音高不准确和说话人自适应质量低的问题。为解决这些挑战,我们提出了Diff-HierVC,一个基于两个扩散模型的分层VC系统。首先,我们引入DiffPitch,它可以有效地生成具有目标声音风格的F0。随后,生成的F0被输入到DiffVoice中,以转换具有目标声音风格的语音。此外,通过使用源-滤波器编码器,我们对语音进行解耦,并将转换后的梅尔谱图作为数据驱动的先验输入DiffVoice,以提高声音风格转换能力。最后,通过在扩散模型中使用掩蔽先验,我们的模型可以提高说话人自适应质量。实验结果验证了我们模型在音高生成和声音风格转换性能方面的优越性,在零样本VC场景下,我们的模型还实现了0.83%的字错率(CER)和3.29%的等错误率(EER)。
🎧 音频演示
https://diff-hiervc.github.io/audio_demo/
📑 预训练模型
我们的模型检查点可以在这里下载。
- model_diffhier.pth
- voc_hifigan.pth
- voc_bigvgan.pth
🔨 使用方法
- 克隆此仓库并安装Python依赖
git clone https://github.com/hayeong0/Diff-HierVC.git
pip install -r req*
- 从网盘下载预训练模型检查点并将其放置在以下路径。
.
├── ckpt
│ ├── config.json
│ └── model_diffhier.pth ✅
├── inference.py
├── infer.sh
├── model
├── module
├── requirements.txt
├── utils
└── vocoder
├── hifigan.py
├── modules.py
└── voc_hifigan.pth ✅
└── voc_bigvgan.pth ✅
- 运行
infer.sh
diffpitch_ts
指的是音高生成器的时间步长,diffvoice_ts
指的是梅尔生成器的时间步长。
根据经验观察,如果diffpitch的时间步长太小,会残留噪声,如果太大,则会产生过度的多样性。
请根据您的数据集适当使用!
bash infer.sh
python3 inference.py \
--src_path './sample/src_p241_004.wav' \
--trg_path './sample/tar_p239_022.wav' \
--ckpt_model './ckpt/model_diffhier.pth' \
--ckpt_voc './vocoder/voc_bigvgan.pth' \
--output_dir './converted' \
--diffpitch_ts 30 \
--diffvoice_ts 6
🎧 在您自己的数据集上测试并分享有趣的结果! :)
🎓 引用
@inproceedings{choi23d_interspeech,
author={Ha-Yeong Choi and Sang-Hoon Lee and Seong-Whan Lee},
title={{Diff-HierVC: Diffusion-based Hierarchical Voice Conversion with Robust Pitch Generation and Masked Prior for Zero-shot Speaker Adaptation}},
year=2023,
booktitle={Proc. INTERSPEECH 2023},
pages={2283--2287},
doi={10.21437/Interspeech.2023-817}
}
💎 致谢
许可证
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。