赞
踩
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
语音合成技术共两个阶段,第一阶段是从文本中模拟人类语言的低级表示,比如输入一段文字,模型从而生成这段文字的语音信息。第二阶段模型以每秒24,000个样本和高达16位保真度合成raw waveform。在HIFI-GAN中,就是在对第二阶段的模型上,高效的并且高度保真的合成raw waveform(我翻译为原始波形).
HIFI-GAN由一个生成器和两个判别器组成。判别器分别是:multi-scale判别器和multi-period判别器,即多尺度判别器,多周期判别器。
输入是melspectrograms ,输出是跟mel图谱一样大小的自然波形
mel图谱共包含评率时间和分贝大小,所以这个分贝里面就包含了人类说话的轻重音区别,所以能够通过学习来模仿人类说话的语音习惯,而不是简单的模仿语音信息。
生成器首先从mel-spectrograms中上采样,上采样是通过多个反卷积层来实现的。然后每个反卷积层还跟了一个MRF模型,MRF模型源代码是由多个residual blocks组成,并且MRF输出也是这多个residual blocks输出的和。而每个residual block又是多个不同kernel size 和不同的dilation的conv1d(卷积层)组成。如下图1。生成器模型总览如图2,同时为了提升训练效果,在MRF的模型里面运用了残差网络的概念。
图1
图2
论文总共采用了三个不同参数的生成器模型,参数具体如图3。
图3
源码总共定义了两个residual blocks。
在这里,判别器最重要的是要识别真实语音的长期依赖关系。因为phoneme(音位)持续时间持续时间超过100毫秒,可能自然波形可能就有2200样本有较高的相关性,所以识别依赖关系是关键。以前主要是改变判别器和生成器的receptive fields来解决这个问题。因为音频是由不同周期的正弦信号组成,所以这篇论文中主要把音频数据分成不同周期去识别。
本文有两个判别器,一个是multi-period discriminator(MPD),一个是multi-scale discriminator。MPD主要是处理不同周期的语音数据。MSD主要评估和测量在不同level下的语音样本。
MPD:是由多个子判别器组成,每个子判别器代表着处理识别某一个周期的音频。源码中是五个子判别器,周期分别为=[2,3,5,7,11]。每个子判别器由多个不同参数的卷积层和Leaky Relu 堆叠而成。同时,这个判别器最初会把1维的音频改成二维的数据,宽度就是周期,高度为数据的长度T/周期,然后才传给对应周期的子判别器。
MSD :MSD针对不同input scales的数据进行评估。在这里主要是指这三个scale的样本数据:raw 音频,x2 average-pooled 音频,x4 average-pooled 音频。(原文:MSD is a mixture of three sub-discriminators operating on different input scales: raw audio,×2 average-pooled audio, and×4 average-pooled audio)。这三个子判别器由不同参数下的多个卷积层和leakyRelu堆叠而成。
注:x是真实样本,s是Generator的输出的假样本
Mel-Spectrogram Loss:φ函数是把波形(输入(x)和G(s)的输出)转换成mel-spectrogram类型的值,然后用L1距离定义损失,即下图。
Feature Matching Loss:因为有多个判别器,所以Feature Matching Loss是它们对应判别器用L1距离算出来的均值,也是用的L1。这个期望值越大说明假样本跟真样本差距越大
所以最终的损失函数为
其中:
因为有两个判别器所以,最终的真正的损失函数是
为了评估模型在质量和速度方面的性能,用mos测试图谱和速度。选取了随机的五十句话作为输入。发现HIFI-GAN确实在合成速度和合成质量上比其他模型有明显的优势,最高的有4.36,分数越高说明效果越好,越接近人类说话方式。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。