如何用紧凑型语音表征打造高性能语音合成系统

人工智能 深度学习
语音合成(Text-to-Speech, 简称 TTS)是把文本转化为语音的一种技术,被广泛应用于视频配音、音视频内容创作、智能人机交互等产品中。本文提出采用矢量量化变分自编码器(VQ-VAE)从目标数据中挖掘出一种更好的紧凑型表示。

小红书多媒体智能算法团队和香港中文大学首次联合提出了基于多阶段多码本紧凑型语音表征的高性能语音合成方案 MSMC-TTS。基于矢量量化变分自编码器(VQ-VAE)的特征分析器采用若干码本对声学特征进行阶段式编码,形成一组具有不同时间分辨率的隐序列集合。这些隐序列可以由多阶段预测器从文本中预测获得,并且通过神经声码器转换成目标音频。该方案,对比基于Mel-Spectrogram的Fastspeech 基线系统,音质和自然度有明显的改善。该工作现已总结成论文 “A Multi-Stage Multi-Codebook VQ-VAE Approach to High-Performance Neural TTS”,并被语音领域会议 INTERSPEECH 2022 接收。

一、背景介绍

语音合成(Text-to-Speech, 简称 TTS)是把文本转化为语音的一种技术,被广泛应用于视频配音、音视频内容创作、智能人机交互等产品中。主流语音合成系统后端的声学建模技术通常包括特征提取器,声学模型和声码器三部分。TTS 通常会对基于信号处理获得的声学特征(例如梅尔谱 Mel Spectrogram)进行声学建模,但受限于模型的拟合能力,预测得到的声学特征和真实数据在分布上存在一定差异,这导致在真实数据上训练的声码器难以从预测特征中生成高质量音频。


图片

TTS 系统框架图


针对这一难题,学界使用了更为复杂的模型结构和更为新颖的生成式算法以减小预测误差和缩小分布差异。而本工作另辟蹊径,以紧凑型语音表征为出发点来考虑问题。对语音合成来说,1)声学特征良好的紧凑性能够保证更为准确的模型预测结果和更鲁棒的波形生成;2)声学特征良好的完备性能够保证更好地重构语音信号。基于这两点考虑,本文提出采用矢量量化变分自编码器(VQ-VAE)从目标数据中挖掘出一种更好的紧凑型表示。

二、表征学习 MSMC VQ-VAE

VQ-VAE 包括编码器与解码器。编码器将输入声学特征序列加工为隐序列并用相应码本进行量化。而解码器把经过量化的序列恢复为原始声学特征序列。这种量化序列作为离散化表征具有较好的紧凑性(特征参数量较少)。其中量化程度越高,即码本容量越小,特征紧凑程度就越高。但这也造成了信息压缩,使特征完备度变差。为了确保足够的完备性,一般都会使用更多的码字。但随着码本容量的增加,码本更新所需的数据量以及训练次数将呈指数级递增,这使得 VQ-VAE 难以通过增大码本来有效增强表征完备性。针对此问题,本文提出多头矢量量化(MHVQ)方法。


图片

VQ-VAE 模型结构图


MHVQ 将单个码本按特征维度方向均分为若干个子码本。量化时还将每个输入向量相等地切割成若干个子向量,并分别用相应子码本量化,最终拼接成输出向量。这样我们就能更加有效地提高码本利用率及表征容量,而无需增加码本参数量。例如,要使压缩率减少1倍,码字本来要增加到原码本数的平方。采用 MHVQ 后,只要把码本切分成两部分就可以实现相同的压缩率。因此,本方法能够更加有效地调节量化表征的完备性。


图片

MHVQ 示例图


另外在对语音序列进行量化时,语音特征中蕴含的各类信息都有不同程度地丢失。这些信息在时间粒度上是不一样的,如粗粒度的音色,发音风格等,以及细粒度的音调,发音细节等。在任何时间尺度上过度压缩信息都可能使语音质量遭到一定程度的破坏。为了缓解这一问题,本工作提出了一种多时间尺度的语音建模方法。如图所示,声学特征序列通过若干个编码器将声学特征序列阶段式编码至不同时间尺度,然后再通过解码器端逐层量化,解码得到若干个具有不同时间分辨率的量化序列。这类序列集合构成的表征, 即为本工作提出的多阶段多码本表征。


图片

多阶段建模示例图


三、声学建模 MSMC-TTS

针对多阶段多码本表征 MSMCR ,本论文提出了相应的 TTS 系统,即 MSMC-TTS 系统。系统包括分析、合成和预测3个部分。在系统训练中,该系统先对分析模块进行训练。训练集中的音频经过信号处理后转化为高完备性声学特征(如本次工作中用到的 Mel-Spectrogram 特征)。利用这些声学特征对基于 MSMC-VQ-VAE 的特征分析器进行训练,训练结束时将其转化为相应的MSMCR,再对声学模型及神经声码器进行训练。解码过程中,该系统利用声学模型从文本中预测 MSMCR,然后利用神经声码器产生目标音频。


图片

MSMC-TTS 系统框架图


本工作还提出一种多阶段预测器来适配 MSMCR 建模。该模型是以 FastSpeech 为基础实现的,但在解码器端有所不同。该模型首先对文本进行编码,并根据预测时长信息对文本上采样。然后再将序列降采样至 MSMCR 对应的各个时间分辨率。这些序列将由不同解码器由低分辨率向高分辨率逐级解码量化。同时将低分辨率量化序列发送给下一阶段的解码器以协助预测。最后将预测所得 MSMCR 送入神经声码器中产生目标音频。


图片

多阶段预测器结构图


对多阶段预测器进行训练与推断时,本工作选择直接在连续空间预测目标表征。这种方法能较好地顾及向量间及码字间在线性连续空间上的距离关系。训练准则除了采用常用于 TTS 建模的 MSE 损失函数外,还使用了 “triplet loss” 以迫使预测向量远离非目标码字并靠近目标码字。通过将两种损失函数项组合,该模型能够更好地预测目标码字。

四、实验效果

本工作在公开的英文单说话人数据集 Nancy (Blizzard Challenge 2011) 上进行实验。我们组织了主观意见得分测试 (MOS)对 MSMC-TTS 合成效果进行评价。实验结果显示:原始录音为 4.50 分的情况下, MSMC-TTS 的得分为 4.41分,基线系统 Mel-FS(Mel-Spectrogram based FastSpeech)为 3.62 分。我们对基线系统的声码器进行调优,使之与Mel-FS输出特征相适配,结果为 3.69 分。该对比结果证明了文中所提方法对 TTS 系统的显著改进作用。

图片

另外我们还进一步讨论了建模复杂度对于 TTS 的性能影响。由 M1 至 M3 模型参数量呈倍数下降,  Mel-FS 合成效果降至 1.86 分。反观 MSMC-TTS, 参数量减少并未对合成质量造成显著的影响。当声学模型参数量为 3.12 MB 时, MOS 仍可保持 4.47 分。这既证明了以紧凑型特征为基础的 MSMC-TTS 建模复杂度需求较低,同时也展示了该方法应用于轻量级 TTS 系统的潜力。

图片


最后我们在不同 MSMCR 基础上进行了 MSMC-TTS 比较,以探讨 MHVQ 与多阶段建模对 TTS 的影响。其中 V1 系统采用单阶段单码本的表征, V2 系统基于 V1 采用 4-head 矢量量化, V3 系统则基于 V2 采用两阶段建模。首先,V1 系统使用的表征拥有最高的特征压缩比,但在分析合成实验中表现出最低的完备性,同时在 TTS 实验中表现出最差的合成质量。经过 MHVQ 增强完备性, V2 系统在 TTS 效果上也得到了明显提升。V3 所使用的的多阶段表征虽然没有展现进一步完备性的提升,但是在 TTS 上展现出了最佳的效果,无论是韵律自然度还是音频质量均有明显改善。这进一步表明多阶段建模、多尺度信息保留在MSMC-TTS 中具有重要意义。

图片

五、总结

该工作从研究紧凑型语音表征角度出发,提出一套新的高性能 TTS(MSMC-TTS)建模方法。该系统从音频中提取多阶段多码本表征,以代替传统声学特征。输入文本可被多阶段预测器转换为这种由多个时间分辨率不同的序列组成的语音表征,并通过神经声码器转换到目标语音信号。实验结果表明,相较于主流的基于 Mel-Spectrogram 的 FastSpeech 系统,该系统展示出了更优秀的合成质量,以及对建模复杂度更低的要求。

六、作者信息

郭浩瀚:小红书多媒体智能算法团队实习生。本硕毕业于西北工业大学,期间在 ASLP 实验室学习,师从谢磊教授。现博士就读于香港中文大学 HCCL 实验室,师从蒙美玲教授。迄今为止,作为一作,先后在 ICASSP、INTERSPEECH、SLT 国际语音会议上发表论文六篇。

解奉龙:小红书多媒体智能算法团队语音技术负责人。曾在ICASSP、INTERSPEECH、SPEECHCOM等语音领域会议及期刊发表论文十余篇, 长期担任ICASSP、INTERSPEECH等主要语音会议的审稿人,主要研究方向为语音信号处理与建模。

责任编辑:庞桂玉 来源: 小红书技术REDtech
相关推荐

2022-07-20 09:38:31

Python语音合成代码

2016-02-17 10:39:18

语音识别语音合成语音交互

2009-08-21 15:28:23

C#英文

2017-09-06 10:51:22

Facebook

2021-08-19 10:11:10

微软Windows 10Windows 11

2022-12-05 07:17:14

人工智能语音合成

2013-10-14 13:41:36

PoE交换机交换机

2015-08-19 09:38:29

云集群高性能计算云计算

2021-11-11 16:14:15

NVIDIA

2023-07-27 16:51:05

微软语音模型人工智能

2020-09-03 11:22:35

音频腾讯云AI

2023-07-05 16:07:02

JavaScriptWeb 应用程序

2022-09-15 09:59:55

火山语音语音建模

2011-07-01 09:36:30

高性能Web

2015-09-23 09:40:17

高性能Java应用

2019-04-25 07:55:00

技术研发语音

2021-12-30 22:01:01

Python代码

2018-03-25 20:51:07

语音合成深度前馈序列记忆网络
点赞
收藏

51CTO技术栈公众号