【论文学习】《FastSpeech: Fast, Robust and Controllable Text to Speech》

《FastSpeech: Fast, Robust and Controllable Text to Speech》论文学习

  摘要

       基于神经网络的端到端文本到语音( TTS )显著提高了合成语音的质量。
       主要的方法(例如 Tacotron 2 )通常首先从文本生成梅尔谱图,然后使用声码器(如 WaveNet )从梅尔谱图合成语音。
       与传统的连接和统计参数方法相比,基于神经网络的端到端模型推理速度慢,合成的语音通常缺乏鲁棒性(如一些词被跳过或重复)和可控性(语音速度或韵律控制)。
       在本研究中,我们提出了一种基于 Transformer 的前馈网络,用于并行生成 TTS 梅尔谱图。
       具体来说,我们从基于编码器-解码器的教师模型中提取注意对齐用于音素持续时间预测,该模型由长度调节器用于扩展源音素序列,以匹配目标梅尔谱图序列的长度,用于并行梅尔谱图生成。
       在 LJSpeech 数据集上的实验表明,我们的并行模型在语音质量方面与自回归模型一致,几乎消除了在特别困难的情况下跳过词和重复的问题,并且可以平滑地调整语音速度。
       最重要的是,与自回归 Transformer TTS 相比,我们的模型使梅尔谱图生成速度加快了 270 倍,端到端语音合成速度加快了 38 倍。因此,我们称我们的模型为 FastSpeech
       

  1 介绍

       近年来,由于深度学习的发展,文本到语音( Text to speech, TTS )引起了人们的广泛关注。
       基于深度神经网络的系统越来越受 TTS 的欢迎,如 Tacotron (《Tacotron: Towards end-to-end speech synthesis》), Tacotron 2 (《Natural tts synthesis by conditioning wavenet on mel spectrogram predictions》), Deep Voice 3 (《Deep voice 3: 2000-speaker neural text-to-speech》),以及完整的端到端 ClariNet (《Clarinet: Parallel wave generation in end-to-end text-to-speech》)。
       这些模型通常首先从文本输入中自回归生成梅尔频谱图,然后使用 Griffin-Lim (《Signal estimation from modified short-time fourier transform》)、 WaveNet (《Wavenet: A generative model for raw audio》)、 Parallel WaveNet (《Parallel wavenet: Fast high-fidelity speech synthesis》)或 WaveGlow (《Waveglow: A flow-based generative network for speech synthesis》)等声码器从梅尔频谱图合成语音。
       基于神经网络的 TTS 方法在语音质量方面优于传统的连接和统计参数方法(《Unit selection in a concatenative speech synthesis system using a large speech database》,《Merlin: An open source neural network speech synthesis system》)。
       
       在现有的基于神经网络的 TTS 系统中,梅尔谱图的生成是自回归的。
       由于梅尔谱图的长序列和自回归特性,这些系统面临着几个挑战:
              生成梅尔谱图的推理速度慢:虽然基于 CNNTransformerTTS (《Close to human quality tts with transformer》,《Deep voice 3: 2000-speaker neural text-to-speech》)可以加快训练基于 RNN 的模型(《Natural tts synthesis by conditioning wavenet on mel spectrogram predictions》),所有模型生成的梅尔谱图都是在之前生成的梅尔谱图的基础上生成的,并且由于梅尔谱图序列通常为数百或数千个,因此推理速度较慢。
              合成语音通常不具有鲁棒性:在自回归生成过程中,由于错误的传播(《Scheduled sampling for sequence prediction with recurrent neural networks》)和文本与语音之间错误的注意对齐,生成的梅尔谱图往往存在跳词和重复(《Deep voice 3: 2000-speaker neural text-to-speech》)的问题。
               合成语音缺乏可控性:以前的自回归模型自动生成一个接一个的梅尔谱图,而没有明确地利用文本和语音之间的对齐。因此,在自回归生成中,通常很难直接控制语音的速度和韵律。
       
       考虑到文本和语音之间的单调对齐,为了加快梅尔谱图的生成,我们提出了一种新的模型 FastSpeech ,该模型以文本(音素)序列作为输入,非自回归地生成梅尔谱图。
       它采用了基于 Transformer (《Attention is all you need》)中自注意的前馈网络和一维卷积(《Convolutional sequence to sequence learning》,《Fftnet: A real-time speakerdependent neural vocoder》,《Deep voice 3: 2000-speaker neural text-to-speech》)。
       由于梅尔谱图序列比对应的音素序列长很多,为了解决两个序列长度不匹配的问题, FastSpeech 采用了一个长度调节器,根据音素持续时间(即每个音素对应的梅尔频谱图的数目)来匹配梅尔声谱图序列的长度。
       该调节器建立在音素持续时间预测器上,该预测器预测每个音素的持续时间。
       
       我们所提出的 FastSpeech 可以解决以下三个问题:
              (1)通过并行生成梅尔谱图, FastSpeech 级大加快了合成过程。
              (2)音素持续时间预测器保证了音素及其梅尔频谱图之间的硬对齐,这与自回归模型中的软对齐和自动注意对齐有很大不同。因此, FastSpeech 避免了错误传播和错误注意对齐的问题,从而减少了跳词和重复的比例。
              (3)长度调节器可以通过延长或缩短音素持续时间来轻松调节语速,以确定生成的梅尔频谱图的长度,也可以通过在相邻音素之间添加停顿来控制部分韵律。
       
       我们在 LJSpeech 数据集上进行实验来测试 FastSpeech
       结果表明,在语音质量方面, FastSpeech 几乎与自回归 Transformer 模型一致。
       与自回归 Transformer TTS 模型相比, FastSpeech 在梅尔谱图生成上提高了 270 倍的速度,在最终语音合成上提高了 38 倍的速度,几乎消除了单词跳过和重复的问题,并且可以平滑地调整语音速度。
       

  2 背景

       在本节中,我们简要概述了这项工作的背景,包括文本到语音,序列到序列学习,和非自回归序列生成。
       
       文本到语音
        TTS (《Deep voice: Real-time neural text-to-speech》,《Clarinet: Parallel wave generation in end-to-end text-to-speech》,《Almost unsupervised text to speech and automatic speech recognition》,《Natural tts synthesis by conditioning wavenet on mel spectrogram predictions》,《Tacotron: Towards end-to-end speech synthesis》)是人工智能领域的一个热点研究课题,其目的是从给定文本合成自然且可理解的语音。
        TTS 的研究已经从早期的串联合成(《Unit selection in a concatenative speech synthesis system using a large speech database》)、统计参数合成(《Emphasis: An emotional phoneme-based acoustic model for speech synthesis system》,《Merlin: An open source neural network speech synthesis system》)转向基于神经网络的参数合成(《Deep voice: Real-time neural text-to-speech》)和端到端模型(《Close to human quality tts with transformer》,《Clarinet: Parallel wave generation in end-to-end text-to-speech》,《Natural tts synthesis by conditioning wavenet on mel spectrogram predictions》,《Tacotron: Towards end-to-end speech synthesis》),并且端到端模型合成的语音质量接近人类水平。
       基于神经网络的端到端 TTS 模型通常先将文本转换为声学特征(如梅尔谱图),然后再将梅尔谱图转换为音频样本。
       然而,大多数神经 TTS 系统生成的语音谱图是自回归的,推理速度慢,合成语音通常缺乏鲁棒性(跳过词和重复)和控制性(语音速度或韵律控制)。
       在这项工作中,我们提出了快速语音非自回归生成梅尔谱图,充分解决了上述问题。
       
       序列到序列学习
       序列到序列学习(《Neural machine translation by jointly learning to align and translate》,《Listen, attend and spell: A neural network for large vocabulary conversational speech recognition》,《Attention is all you need》)通常建立在编码器-解码器框架上:编码器将源序列作为输入并生成一组表示。
       然后,解码器在给定源表示及其前一个元素的情况下估计每个目标元素的条件概率。
       在编码器和解码器之间进一步引入注意机制(《Neural machine translation by jointly learning to align and translate》),以便在预测当前元素时找到需要关注的源表示,(《Neural machine translation by jointly learning to align and translate》)是序列到序列学习的重要组成部分。
       
       在这项工作中,我们提出了一个前馈网络来并行生成序列,而不是使用传统的编码-注意-解码器框架进行序列对序列的学习。
       
       非自回归序列生成
       与自回归序列生成不同,非自回归模型并行生成序列,而不显式依赖于前面的元素,这可以大大加快推理过程。
       非自回归生成已经在一些序列生成任务中得到了研究,如神经机器翻译(《Non-autoregressive neural machine translation》,《Non-autoregressive neural machine translation with enhanced decoder input》,《Non-autoregressive machine translation with auxiliary regularization》)和音频合成(《Parallel wavenet: Fast high-fidelity speech synthesis》,《Clarinet: Parallel wave generation in end-to-end text-to-speech》,《Waveglow: A flow-based generative network for speech synthesis》)。
       
       我们的 FastSpeech 与上述工作有两个不同之处:
       (1)以前的工作主要是在神经机器翻译或音频合成中采用非自回归生成,以提高推理加速,而 FastSpeechTTS 中既注重推理加速,又注重提高合成语音的鲁棒性和控制性。
       (2)对于 TTS 来说,虽然 Parallel WaveNet (《Parallel wavenet: Fast high-fidelity speech synthesis》)、 ClariNet (《Clarinet: Parallel wave generation in end-to-end text-to-speech》)和 WaveGlow (《Waveglow: A flow-based generative network for speech synthesis》)是并行产生音频的,但它们的条件是梅尔谱图,梅尔谱图仍然是自回归产生的。因此,他们没有解决这项工作中考虑到的挑战。
       
       还有一个并行工作(《Parallel neural text-to-speech》),它也可以并行生成梅尔谱图。但是,它仍然采用了带注意机制的编码器-解码器框架:
       (1)与教师模型相比,需要 2~3 倍模型参数,从而实现了比 FastSpeech 更慢的推理速度;
       (2)不能完全解决跳过单词和重复的问题,而 FastSpeech 几乎消除了这些问题。
       

  3 FastSpeech

       在本节中,我们将介绍 FastSpeech 的体系结构设计。
       为了并行生成目标梅尔谱图序列,我们设计了一种新的前馈结构,而不是采用大多数序列对序列的自回归(《Close to human quality tts with transformer》,《Natural tts synthesis by conditioning wavenet on mel spectrogram predictions》,《Attention is all you need》)和非自回归(《Non-autoregressive neural machine translation》,《Non-autoregressive neural machine translation with enhanced decoder input》,《Non-autoregressive machine translation with auxiliary regularization》)生成所采用的基于编码器-注意-解码器的结构。
        FastSpeech 的整体模型架构如图 1 所示。我们将在下面的小节中详细描述这些组件。
图片1

1 : FastSpeech的整体架构
(a) 前馈变压器, (b) 前馈变压器块, (c) 长度调节器, (d) 持续时间预测器
MSE损失是指预测时间到提取时间之间的损失,只存在于训练过程中

       

    3.1 前馈 Transformer

        FastSpeech 的体系结构是基于 Transformer (《Attention is all you need》)中的自注意和 1D 卷积的前馈结构(《Convolutional sequence to sequence learning》,《Deep voice 3: 2000-speaker neural text-to-speech》)。
       我们称之为前馈 Transformer ( Feed-Forward Transformer, FFT ),如图 1a 所示。
       前馈 Transformer 堆叠多个 FFT 块用于音素到梅尔频谱图的转换,在音素一侧有 N 块,在梅尔频谱图一侧有 N 块,在音素和梅尔频谱图序列之间有一个长度调节器(将在下一小节中描述),以弥合音素和梅尔频谱图序列之间的长度差距。
       每个 FFT 块由一个自注意和 1D 卷积网络组成,如图 1b 所示。
       自注意网络由一个多头注意组成,用于提取交叉位置信息。
       与 Transformer 中的 2 层密集网络不同,我们使用的是 ReLU 激活的 21D 卷积网络。
       其动机是相邻隐态在语音任务的字符/音素和梅尔频谱图序列上关系更密切。
       在实验部分,我们评估了一维卷积网络的有效性。
       在 Transformer (《Attention is all you need》)之后,自注意网络和 1D 卷积网络分别添加了残差连接、层归一化和 Dropout
       

    3.2 长度调节器

       长度调节器(图 1c )用于解决前馈变压器中音素和声谱序列长度不匹配的问题,并控制语音速度和部分韵律。
       音素序列的长度通常小于其梅尔频谱图序列的长度,每个音素对应几个梅尔频谱图声谱。
       我们将对应于音素的梅尔频谱图的长度称为音素持续时间(我们将在下一个小节中描述如何预测音素持续时间)。
       长度调节器以音素持续时间 d d d 为基础,将音素序列的隐藏状态扩展 d d d 次,隐藏状态的总长度等于梅尔频谱图的长度。
       表示音素序列的隐藏状态为 H p h o = [ h 1 , h 2 , . . . , h n ] \mathcal{H}_{pho}=[h_1,h_2,...,h_n] Hpho=[h1,h2,...,hn] ,其中 n n n 为序列的长度。
       将音素持续时间序列表示为 D = [ d 1 , d 2 , . . . , d n ] \mathcal{D} = [d_1,d_2,...,d_n] D=[d

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值