COMOSPEECH
CoMospeech的实现。详细信息请查看我们在ACM MM 2023上发表的论文:CoMoSpeech:基于一致性模型的一步式语音和歌声合成。
作者:叶臻、薛伟、谭旭、陈杰、刘启锋、郭毅可。
更新
2024-04-26
- 我们提出了FlashSpeech,一种基于潜在一致性模型和对抗训练的高效零样本语音合成器。(论文)
2023-12-01
- 我们还提出了一个基于一致性模型的精心设计的歌声转换(SVC)版本(代码)。
2023-11-30
- 我们发现使用零均值高斯噪声代替grad-tts中的先验也能达到类似的效果。我们同时发布了新的代码和检查点。
2023-10-21
- 我们为教师模型添加了Heun二阶方法支持(可用于教师模型采样和更好的一致性蒸馏ODE轨迹)。
摘要
演示页面:链接。
去噪扩散概率模型(DDPMs)在语音合成方面表现出了良好的性能。然而,为了获得高质量的样本,需要大量的迭代步骤,这限制了推理速度。在保持样本质量的同时提高采样速度已成为一项具有挑战性的任务。在本文中,我们提出了一种基于一致性模型的语音合成方法CoMoSpeech,通过单次扩散采样步骤实现语音合成,同时保持高音频质量。一致性约束被应用于从精心设计的基于扩散的教师模型中蒸馏出一致性模型,最终在蒸馏后的CoMoSpeech中产生卓越的性能。
我们的实验表明,通过单次采样步骤生成音频记录,CoMoSpeech在单个NVIDIA A100 GPU上实现了比实时快150多倍的推理速度,这与FastSpeech2相当,使基于扩散采样的语音合成真正变得实用。同时,对文本到语音和歌声合成的客观和主观评估显示,所提出的教师模型产生了最佳的音频质量,而基于单步采样的CoMoSpeech在推理速度上达到最佳,同时音频质量优于或可与其他传统多步扩散模型基线相媲美。
准备
构建monotonic_align
代码(Cython):
cd model/monotonic_align; python setup.py build_ext --inplace; cd ../..
推理
通过提供文本文件路径、检查点路径和采样步数来运行inference.py
脚本:
python inference.py -f <文本文件> -c <检查点> -t <采样步数>
查看名为out
的文件夹以获取生成的音频。请注意,在参数文件中,Teacher = True 用于我们的教师模型,False 用于我们的ComoSpeech。此外,我们使用与Grad-TTS相同的声码器。您可以下载它并放入checkpts文件夹。
训练
我们使用LJSpeech数据集,并遵循fastspeech2中的训练/测试/验证集划分,您可以在fs2_txt文件夹中更改划分。然后运行train.py
脚本,
python train.py
请注意,在参数文件中,Teacher = True 用于我们的教师模型,False 用于我们的ComoSpeech。在训练Comospeech时,应提供教师检查点目录。
在LJSpeech上训练的检查点可以从这里下载。
致谢
我要特别感谢Grad-TTS的作者,因为我们的代码库主要借鉴自Grad-TTS。
联系方式
欢迎您发送拉取请求或与我分享一些想法。联系信息:叶臻(zhenye312@gmail.com)