微软和浙大联合推出全新语音合成系统 FastSpeech

admin 2019-6-4 3560

微软亚洲研究院机器学习组和微软(亚洲)互联网工程院语音团队联合浙江大学提出了一种基于 Transformer 的新型前馈网络 FastSpeech,兼具快速、鲁棒、可控等特点。与自回归的 Transformer TTS 相比,FastSpeech 将梅尔谱的生成速度提高了近 270 倍,将端到端语音合成速度提高了 38 倍,单 GPU 上的语音合成速度达到了实时语音速度的 30 倍。

近年来,基于神经网络的端到端文本到语音合成(Text-to-Speech,TTS)技术取了快速发展。与传统语音合成中的拼接法(concatenative synthesis)和参数法(statistical parametric synthesis)相比,端到端语音合成技术生成的声音通常具有更好的声音自然度。但是,这种技术依然面临以下几个问题:

合成语音的速度较慢:端到端模型通常以自回归(Autoregressive)的方式生成梅尔谱(Mel-Spectrogram),再通过声码器(Vocoder)合成语音,而一段语音的梅尔谱通常能到几百上千帧,导致合成速度较慢;

合成的语音稳定性较差:端到端模型通常采用编码器-注意力-解码器(Encoder-Attention-Decoder)机制进行自回归生成,由于序列生成的错误传播(Error Propagation)以及注意力对齐不准,导致出现重复吐词或漏词现象;

缺乏可控性:自回归的神经网络模型自动决定一条语音的生成长度,无法显式地控制生成语音的语速或者韵律停顿等。

为了解决上述的一系列问题,微软亚洲研究院机器学习组和微软(亚洲)互联网工程院语音团队联合浙江大学提出了一种基于 Transformer 的新型前馈网络 FastSpeech,可以并行、稳定、可控地生成高质量的梅尔谱,再借助声码器并行地合成声音。

在 LJSpeech 数据集上的实验表明,FastSpeech 除了在语音质量方面可以与传统端到端自回归模型(如 Tacotron2 和 Transformer TTS)相媲美,还具有以下几点优势:

快速:与自回归的 Transformer TTS 相比,FastSpeech 将梅尔谱的生成速度提高了近 270 倍,将端到端语音合成速度提高了近 38 倍,单 GPU 上的语音合成速度是实时语音速度的 30 倍;

鲁棒:几乎完全消除了合成语音中重复吐词和漏词问题;


可控:可以平滑地调整语音速度和控制停顿以部分提升韵律。

模型框架

图 1. FastSpeech 网络架构

前馈 Transformer 架构

FastSpeech 采用一种新型的前馈 Transformer 网络架构,抛弃掉传统的编码器-注意力-解码器机制,如图1(a)所示。其主要模块采用 Transformer 的自注意力机制(Self-Attention)以及一维卷积网络(1D Convolution),我们将其称之为 FFT 块(Feed-Forward Transformer Block, FFT Block),如图1(b)所示。前馈 Transformer 堆叠多个 FFT 块,用于音素(Phoneme)到梅尔谱变换,音素侧和梅尔谱侧各有N个 FFT 块。特别注意的是,中间有一个长度调节器(Length Regulator),用来调节音素序列和梅尔谱序列之间的长度差异。

长度调节器

长度调节器如图1(c)所示。由于音素序列的长度通常小于其梅尔谱序列的长度,即每个音素对应于几个梅尔谱序列,我们将每个音素对齐的梅尔谱序列的长度称为音素持续时间。长度调节器通过每个音素的持续时间将音素序列平铺以匹配到梅尔谱序列的长度。我们可以等比例地延长或者缩短音素的持续时间,用于声音速度的控制。此外,我们还可以通过调整句子中空格字符的持续时间来控制单词之间的停顿,从而调整声音的部分韵律。

音素持续时间预测器

音素持续时间预测对长度调节器来说非常重要。如图1(d)所示,音素持续时间预测器包括一个 2 层一维卷积网络,以及叠加一个线性层输出标量用以预测音素的持续时间。这个模块堆叠在音素侧的 FFT 块之上,使用均方误差(MSE)作为损失函数,与 FastSpeech 模型协同训练。我们的音素持续时间的真实标签信息是从一个额外的基于自回归的 Transformer TTS 模型中抽取 encoder-decoder 之间的注意力对齐信息得到的,详细信息可查阅文末论文。



上一篇:研究人员发现能逃避杀毒软件检测的 Linux 后门
下一篇:微软警告 BlueKeep 漏洞威胁的严重程度或与 Wannacry 相当
最新回复 (0)
返回