DiffSinger: 堪比真人的歌声合成模型

本文转载自公众号: AI基地

关注公众号及时获取最新资讯,学习资料

论文名称:DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism

先听几个音频

无法发音频,请点击下面的链接到公众号页面播放

堪比真人的歌声合成模型

你能听出来这是AI合成的歌声吗?

上面的音频便是由浙江大学提出的DiffSinger模型所合成。

简介

歌声合成(SVS)系统是为了合成高质量和有表现力的歌声而建立的,其中声学模型会在给定的乐谱上生成声学特征(例如梅尔频谱)。以前的歌唱声学模型采用简单的损失(如L1损失和L2损失)或GAN(生成式对抗网络)来重建声学特征,而它们分别存在过度平滑和不稳定的训练问题,这阻碍了合成歌声的自然度。

这篇论文中的DiffSinger模型是一个基于扩散概率模型的SVS声学模型。DiffSinger也是一个马尔科夫链参数模型,它根据乐谱一步步地将噪声转换为梅尔频谱。通过隐式地优化变分边界,DiffSinger可以稳定地训练并产生真实的输出。为了进一步提高语音质量和加快推理速度,论文作者引入了一个浅层扩散机制,以更好地利用通过之前简单损失学到的先验知识。

具体来说,DiffSinger根据真实梅尔频谱的扩散轨迹和简单梅尔频谱解码器预测的扩散轨迹的交点,以小于原始的总扩散步数的浅层步数开始生成。此外,论文提出了边界预测方法来定位交点,并自适应地确定浅层步骤。

源码地址:https://github.com/MoonInTheRiver/DiffSinger

扩散模型

因为DiffSinger是基于扩散模型构造的,我们先简单介绍一下扩散模型。

扩散模型分为两个过程:扩散过程和反向过程。

扩散过程

扩散过程是一个具有固定参数的马尔科夫链,在每一步都向数据中添加微小的高斯噪声,最终将原始数据逐渐转换为高斯分布。

反向过程

反向过程是具有可学习参数的马尔科夫链,是扩散过程的反过程,从高斯白噪声中恢复原始数据。

模型细节

DiffSinger是建立在扩散模型上的。由于SVS任务对条件分布p(M0|x)进行建模(其中M是梅尔频谱,x是与M相对应的音乐分数),论文在反向过程中把x作为条件添加到扩散降噪器。论文提出了一个新颖的浅层扩散机制,以提高模型的性能和效率;并且论文还提出了边界预测网络,它可以自适应地找到浅层扩散机制中需要的相交的边界。

工作流程

在训练过程中,DiffSinger根据时间步t,乐谱x和第t步的梅尔频谱Mt,来预测随机噪声。

在推理时,从服从N(0, 1)分布的高斯噪声开始,一步一步进行去噪。去噪分为两步:1) 使用降噪器预测随机噪声。2) 根据预测的随机噪声,从Mt推断出Mt-1

浅层扩散机制

虽然之前由简单损失函数训练的声学模型有模糊和过度平滑的缺点,但它仍然产生了与真实数据分布有很强联系的样本,这可以为DiffSinger提供大量的先验知识。

为了探索这种联系并找到更好地利用先验知识的方法,论文作者利用扩散过程进行了经验性的观察

1)当t=0时,M在相邻的谐波之间有丰富的细节,这可以影响合成歌声的自然度,但M~是过度平滑的

2)随着t的增加,两个过程的样本变得无法区分。

通过观察,论文作者提出了这样的猜想:当扩散步骤足够大时,从M~流形到高斯噪声流形的轨迹和从M到高斯噪声流形的轨迹相交。受这一观察的启发,论文作者提出了浅层扩散机制:不是从高斯白噪声开始,而是从下图图中所示的两个轨迹的交点开始反向过程。

因此,反向过程的计算开销可以得到明显的缓解。具体来说,在推理阶段,

1)利用一个辅助解码器来生成M~,该解码器是以乐谱编码器的输出为条件用L1训练的。

2)通过扩散过程在一个较小的时间步k生成中间样本。

3)从两轨迹相交处的Mk~梅尔频谱开始,进行k轮降噪。
 

实验对比

通过实验对比可以看出,DiffSinger比FFT-Singer,GAN-Singer等模型有更好的效果。

本文转载自公众号: AI基地

  • 15
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值