Adaspeech

​​​​在这里插入图片描述

​​

概述

本文是一片低资源合成的文章,主要关注两方面,一方面关注如何针对每个新的说话人使用尽量少的的数据实现相同的合成效果;一方面关注如何针对每个说话人占用更少的内存资源(模型参数)。

针对上述问题,文章总结了目前的custom voice系统面临的挑战有两个:

  1. 集外声音与训练集声音声学条件不一样,包括个性化特征(韵律,情感,口音等),录音环境等等。
  2. 保持音质的同时降低模型参数数量

针对上述挑战,文章提出了两方面的解决方法:

  1. 分别使用两个encoder建模句子级别和音素级别的声学参数,用于更好的建模不同的(多变的)(集外说话人的)声学条件
  2. 在decoder部分引入condition normalization layer,新的数据来了以后仅finetune一个speaker embedding以及条件层正则化的两个系数矩阵一共三个参数,以便在参数量和声音质量上求得平衡。

通过上述方法,该模型仅使用每个说话人20句话(1分钟),每个人占用5K参数就能实现该音色的合成。

Q1 : condition normalization layer 是什么?
Q2 : 5k 参数量值得是什么?

系统概述

​​在这里插入图片描述

系统如图所示,系统基于fastspeech2实现,从训练到推理一共需要三步,分别是training(绿色), finetune(红色), inference(全部)。

红色部分的具体模块如下:

acoustic condition modeling

该模块建模了多粒度的说话人个性化信息,目的是为了弥补文本中超音段信息不足的问题,加入从音频中提取的信息,有利于在训练阶段提升模型的泛化能力。
音素级别的声学信息,坐着认为处理粒度更小,还有可能捕捉韵律、音调、甚至噪声等信息。
在这里插入图片描述

pretrain阶段先训练(a)(b)©60k steps, 然后用c的输出作为groundtruth, 训练(d), 其中d的输入是phoneme encoder的输出。
finetune阶段,只训练speaker embedding,以及正则化层的参数。
inference阶段则将上述参数的全集作为推理的依据。

Conditional Layer Normalization

其中正则化层的示意图如下:

在这里插入图片描述

algorithm pipline

具体算法如下:

在这里插入图片描述

结果分析:


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值