【论文学习笔记】《DEEP VOICE 3: SCALING TEXT-TO-SPEECH WITH CONVOLUTIONAL SEQUENCE LEARNING》

《DEEP VOICE 3: SCALING TEXT-TO-SPEECH WITH CONVOLUTIONAL SEQUENCE LEARNING》论文学习

  摘要

       我们提出了 Deep Voice 3 ,一个完全基于卷积注意力的神经文本-语音( TTS )系统。
        Deep Voice 3 与最先进的神经语音合成系统自然匹配,同时训练速度快了一个数量级。
       我们将 Deep Voice 3 扩展到前所未有的 TTS 数据集大小,对来自 2000 多名发言者的超过 800 小时的音频进行训练。
       此外,我们识别了基于注意的语音合成网络的常见错误模式,演示了如何减轻它们,并比较了几种不同的波形合成方法。
       我们还将描述如何在单个 GPU 服务器上将推理扩展到每天 1000 万个查询。
       

  1 介绍

       文本到语音( TTS )系统将书面语言转换为人类语音。
        TTS 系统应用于各种各样的应用,如人机界面、视障人士的可访问性、媒体和娱乐。
       传统的 TTS 系统是基于复杂的多级手工工程管道(《Text-to-Speech Synthesis》)。
       通常,这些系统首先将文本转换为紧凑的音频表示,然后使用称为声码器的音频波形合成方法将该表示转换为音频。
       
       最近对神经 TTS 的研究已经证明了令人印象深刻的结果,生成的管道具有更简单的特征、更少的组件和更高质量的合成语音。
       对于 TTS 的最优神经网络结构,目前尚无共识。
       然而,序列到序列模型(《Tacotron: Towards end-to-end speech synthesis》,《Char2wav: End-to-end speech synthesis》,《Deep Voice 2: Multi-speaker neural text-to-speech》)已经显示出有希望的结果。
       
       在本文中,我们提出了一种新颖的、全卷积的语音合成体系结构,将其扩展到非常大的音频数据集,并解决了在试图部署基于注意力的 TTS 系统时出现的几个现实问题。
       具体来说,我们做出了以下贡献:
               1. 我们提出了一种完全卷积的字符到谱图架构,它能够实现完全并行计算,并比使用循环细胞的类似架构训练速度快一个数量级(例如《Tacotron: Towards end-to-end speech synthesis》)。
               2. 我们表明,我们的架构可以快速训练并扩展到 LibriSpeech ASR 数据集(《Librispeech: an ASR corpus based on public domain audio books》),该数据集包含来自 2484 个扬声器的 820 小时音频数据。
               3. 我们证明,我们可以产生单调的注意行为,避免错误模式通常影响序列到序列模型。
               4. 我们比较了几种波形合成方法的质量,包括 WORLD (《WORLD: A vocoder-based high-quality speech synthesis system for real-time applications》)、 Griffin- Lim (《Signal estimation from modified short-time fourier transform》)和 WaveNet (《WaveNet: A generative model for raw audio》)。
               5. 我们描述了一个用于 Deep Voice 3 的推理内核的实现,它可以在单个 GPU 服务器上每天提供多达 1000 万个查询。
       

  2 相关工作

       我们的工作建立在最先进的神经语音合成和基于注意力的序列-序列学习的基础上。
       
       最近的一些工作与神经网络解决合成语音的问题,包括低沉的 Deep Voice 1 (《Deep Voice: Real-time neural text-to-speech》), Deep Voice 2 (《Deep Voice 2: Multi-speaker neural text-to-speech》), Tacotron (《Tacotron: Towards end-to-end speech synthesis》), Char2Wav (《. Char2wav: End-to-end speech synthesis》), VoiceLoop (《Voice synthesis for in-the-wild speakers via a phonological loop》), SampleRNN(《SampleRNN: An unconditional end-to-end neural audio generation model》),和 WaveNet (《WaveNet: A generative model for raw audio》)。
        Deep Voice 1 & Deep Voice 2 保留了 TTS 管道的传统结构,分离字素音素转换、时长和频率预测、波形合成。
       与 Deep Voice 1 & Deep Voice 2 相比, Deep Voice 3 采用基于注意力的序列对序列模型,产生一个更紧凑的架构。
       与 Deep Voice 3 类似, TacotronChar2Wav 提出了用于神经 TTS 的序列对序列模型。
        Tacotron 是一个神经文本到谱图转换模型,与 Griffin-Lim 一起用于谱图到波形合成。
        Char2Wav 预测了 WORLD 声码器(《WORLD: A vocoder-based high-quality speech synthesis system for real-time applications》)的参数,并使用基于 WORLD 参数的采样来产生波形。
       与 Char2WavTacotron 相比, Deep Voice 3 避免了循环神经网络( RNNs )来加速训练。( RNNs 引入了序列依赖性,限制了训练期间模型的并行性。)
        Deep Voice 3 使基于注意力的 TTS 在生产 TTS 系统中成为可行的,并且不会因避免常见的注意力错误而影响准确性。
       最后, WaveNetSampleRNN 是用于波形合成的神经声码器模型。
       文献中也有许多高质量的人工声码器的替代品,如 STRAIGHT (《Restructuring speech representations using a pitch-adaptive time frequency smoothing and an instantaneous-frequency-based f0 extraction: Possible role of a repetitive structure in sounds》)、 Vocaine (《Vocaine the vocoder and applications in speech synthesis》)和 WORLD (《WORLD: A vocoder-based high-quality speech synthesis system for real-time applications》)。
        Deep Voice 3 没有添加新的声码器,但有可能与不同的波形合成方法集成,只需稍微修改其架构。
       
       自动语音识别( ASR )数据集通常比传统的 TTS 语料库大得多,但往往不那么干净,因为它们通常涉及多个麦克风和背景噪音。
       尽管之前的工作已经将 TTS 方法应用于 ASR 数据集(《Thousands of voices for hmm-based speech synthesis analysis and application of tts systems built on various asr corpora》),但据我们所知, Deep Voice 3 是第一个通过单一模型扩展到数千个说话人的 TTS 系统。
       
       序列到序列模型(《Sequence to sequence learning with neural networks》,《Learning phrase representations using RNN encoder-decoder for statistical machine translation》)将变长输入编码成隐藏状态,然后由解码器处理以产生目标序列。
       注意机制允许解码器在生成目标序列时自适应地选择要关注的编码器隐藏状态(《Neural machine translation by jointly learning to align and translate》)。
       基于注意力的序列对序列模型广泛应用于机器翻译(《Neural machine translation by jointly learning to align and translate》)、语音识别(《Attention-based models for speech recognition》)和文本摘要(《A neural attention model for abstractive sentence summarization》)。
       与 Deep Voice 3 相关的注意机制最近的改进包括训练期间的强化单调注意(《Online and linear-time attention by enforcing monotonic alignments》)、全注意非循环架构(《* Attention is all you need*》)和卷积序列-序列模型(《Convolutional sequence to sequence learning》)。
        Deep Voice 3 证明了单调注意力在 TTS 训练中的效用,这是一个新的单调域。
       另外,我们展示了一个简单的启发式在推理过程中只强制单调性,一个标准的注意机制也可以工作得一样好,甚至更好。
        Deep Voice 3 还基于 Gehring 等人(《Convolutional sequence to sequence learning》)的卷积序列对序列架构,引入了与 Vaswani 等人(《Attention is all you need》)使用的位置编码类似的位置编码,并增加了速率调整,以考虑输入和输出域长度之间的不匹配。
       

  3 模型架构

       在本节中,我们展示了 TTS 的全卷积序列对序列架构(见图1)。
图1

1Deep Voice 3 使用剩余的卷积层将文本编码为每个时间步的键和值向量,用于基于注意力的解码器
解码器使用这些来预测对应于输出音频的梅尔尺度对数幅度谱图
淡蓝色的点箭头表示推理过程中的自回归过程
解码器的隐藏状态然后馈送到一个转换网络,以预测波形合成的声码器参数

       

       我们的架构能够将各种文本特征(例如字符、音素、应力)转换为各种声码器参数,例如梅尔波段谱图、线性尺度对数量级谱图、基频、光谱包络和非周期性参数。
       这些声码器参数可以作为音频波形合成模型的输入。
       
        Deep Voice 3 架构由三个部分组成:
               • 编码器 :一个全卷积编码器,它将文本特性转换为内部学习的表示。
               • 解码器 :一种全卷积因果解码器,以自回归方式将具有多跳卷积注意机制的习得表示法解码为低维音频表示法(梅尔尺度谱图)。
               • 转换器 :一个完全卷积的后处理网络,它从解码器隐藏状态预测最终的声码器参数(取决于声码器的选择)。与解码器不同,转换器是非因果关系的,因此可以依赖于未来的上下文信息。
       
       要优化的总体目标函数是译码器(第 3.5 节)和转换器(第 3.7 节)损失的线性组合。
       我们将解码器和转换器分开,并应用多任务训练,因为它使注意力学习在实践中更容易。
       具体来说,梅尔谱图预测的损失指导了注意机制的训练,因为除了声码器参数预测外,还使用梅尔谱图预测的梯度来训练注意。
       
       在多说话人场景中, Arık 等人(《Deep Voice 2: Multi-speaker neural text-to-speech》)中的可训练说话人嵌入在编码器、解码器和转换器中使用。
       接下来,我们将详细描述每个组件和数据预处理。
       

    3.1 文本预处理

       文本预处理对于良好的性能至关重要。
       输入原始文本(有空格和标点符号的字符)在许多话语上产生可接受的性能。
       然而,有些话语可能会出现罕见词的读音错误,或者会产生跳过词和重复词。
       我们通过如下规范化输入文本来缓解这些问题:
               1. 我们将输入文本中的所有字符大写。
               2. 我们删除所有中间的标点符号。
               3. 我们用句号或问号结束每一句话。
               4. 我们用特殊的分隔符替换单词之间的空格,这些分隔符表示说话者在单词之间插入停顿的时间。我们使用四种不同的词分隔符,表示 (i) 语无伦次; (ii) 标准发音和空格字符; (iii) 单词之间的短暂停顿; (iv) 单词之间长时间的停顿。例如,句子 “Either way, you should shoot very slowly” ,在 “way” 之后有一个很长的停顿,在 “shoot” 之后有一个很短的停顿,为了编码方便,这句话应该写成 “Either way%you should shoot/very slowly%” ,其中 % 代表一个长停顿, / 代表一个短停顿。(暂停时间可以通过手动标记或估计由文本音频对齐,如 Gentle (《 Gentle》)。我们的单说话人数据集是手工标记的,我们的多说话人数据集是使用 Gentle 标记的。)
       

    3.2 字符和音素的联合表示

       已部署的 TTS 系统(例如《Siri on-device deep learningguided unit selection text-to-speech system》,《Recent advances in Google real-time HMM-driven unit selection synthesizer》)应该包括一种修改发音的方法,以纠正常见的错误(通常包括专有名词、外来词和特定领域的行话)。
       一种常规的方法是维护字典,将单词映射到它们的语音表示。
       
       我们的模型可以直接将字符(包括标点和空格)转换为声学特征,从而学习一个隐式的字素-音素模型。
       当模型出错时,这种隐式转换很难纠正。
       因此,除了字符模型外,我们还通过显式允许音素输入选项来训练纯音素模型和混合音素和音素模型。
       除了编码器的输入层有时接收音素和音素重音嵌入而不是字符嵌入外,这些模型与纯字符模型完全相同。
       
       纯音素模型需要一个预处理步骤来将单词转换为它们的音素表示(通过使用外部音素字典或单独训练的字素-音素模型(我们使用 CMUDict 0.6b ))。
       字符和音素混合模型需要类似的预处理步骤,除了音素字典中没有的单词。
       这些词汇表外的单词以字符的形式输入,允许模型使用其隐式学习的字素到音素模型。
       在训练混合音素模型时,在每次训练迭代中,每个单词都以一定的概率替换其音素表示。
       我们发现,这提高了发音的准确性,并最大限度地减少了注意错误,特别是当泛化到比训练中看到的更长时间的话语时。
       更重要的是,支持音素表示的模型允许使用音素字典纠正发音错误,这是已部署系统的一个理想特性。
       

    3.3 用于顺序处理的卷积块

       通过提供足够大的接收域,堆叠的卷积层可以利用序列中的长期上下文信息,而无需在计算中引入任何序列相关性。
图片2

2:卷积块由一个带有门控线性单元和一个剩余连接的一维卷积组成
这里 c 表示输入的维数,尺寸为 2·c 的卷积输出被分成大小相等的部分:门向量和输入向量。

       

       我们使用图 2 所示的卷积块作为主要的顺序处理单元来编码文本和音频的隐藏表示。
       卷积块包括一个一维卷积滤波器、一个可学习非线性的门线性单元(《Language modeling with gated convolutional networks》)、一个与输入的残差连接和一个 √0.5(——)的比例因子。
       该门控线性单元为梯度流提供了一条线性路径,从而缓解了堆叠卷积块梯度消失的问题,同时保留非线性。
       为了引入与说话人相关的控制,在一个软符号函数之后,将一个与说话人相关的嵌入作为一个偏置添加到卷积滤波器输出。
       我们使用软符号非线性,因为它限制了输出范围,同时也避免了指数型非线性有时会出现的饱和问题。
       我们用零均值和单位方差激活来初始化整个网络的卷积滤波器权值。
       
       架构中的卷积可以是非因果的(例如在编码器和转换器中),也可以是因果的(例如在解码器中)。
       为了保持序列长度,对于因果卷积,输入被填充为 k --1 的时间步长,对于非因果卷积,输入被填充为 ( k–1 )/2 的时间步长,其中k是一个奇卷积滤波器宽度。(为了简化卷积算法,我们将卷积宽度限制为奇数)。
        Dropout 应用于卷积之前的输入进行正则化。
       

    3.4 编码器

       编码器网络(如图 1 所示)从嵌入层开始,它将字符或音素转换成可训练的向量表示为 he
       这些嵌入 he 首先通过一个完全连接的层从嵌入维度映射到目标维度。
       然后,通过 3.3 节中描述的一系列卷积块对它们进行处理,以提取随时间变化的文本信息。
       最后,它们被投影回嵌入维度,以创建注意关键向量 hk
       注意值向量由注意关键向量和文本嵌入计算,hv = √0.5(——) (he + he),综合考虑 he 中的本地信息和 hk 中的长期上下文信息。
       每个注意块使用关键向量 hk 来计算注意权重,而最终的上下文向量计算为值向量 hv 的加权平均值(见 3.6 节)。
       

    3.5 解码器

       解码器(如图 1 所示)通过预测以过去音频帧为条件的一组未来音频帧,以自回归方式生成音频。
       由于解码器是自回归的,它必须使用因果卷积块。
       我们选择梅尔波段的对数梅尔谱图作为紧凑的低维音频帧表示。
       与 Wang 等人(《Tacotron: Towards end-to-end speech synthesis》)类似,我们根据经验观察到,解码多个帧在一起(即拥有 r >1 )产生更好的音频质量。
       
       解码器网络从多个全连接层开始,通过整流线性单元( ReLU )非线性对输入梅尔谱图进行预处理(图 1 中表示为 PreNet )。
       接着是一系列因果卷积和注意块。
       这些卷积块生成用于出席编码器隐藏状态的查询(见 3.6 节)。
       最后,一个全连接层输出下一组 r 个音频帧和一个二进制的 “最终帧” 预测(指示话语的最后一帧是否被合成)。
        Dropout 应用于每个完全连接的层之前的注意块,除了第一个。
        L1 损失(我们选择 L1 损失,因为它产生了最好的经验结果。其他的损失,如 L2 可能会受到离群谱特征的影响,这可能对应于非语音噪声。)使用输出梅尔谱图计算,二进制交叉熵损失使用最终帧预测计算。
       

    3.6 注意力模块

       我们使用与 Vaswani 等人(《Attention is all you need》)类似的点积注意力机制(如图 3 所示)。
图3

3 :将位置编码添加到键和查询向量中,其比例分别为 ω key 和 ω query
通过在 logit 上添加一个大的负值的掩码,可以将强制单调度应用于推理
使用两种可能的注意方案之一: softmaxRaphael 等人(《 Online and linear-time attention by enforcing monotonic alignments》)的单调注意
在训练过程中,注意力权重被忽略

       

       注意机制使用来自编码器的查询向量(解码器的隐藏状态)和每个时间步长的关键向量来计算注意权重,然后输出作为值向量加权平均值计算的上下文向量。
       
       我们观察到从引入归纳偏差的经验好处,注意在时间上遵循单调的进展。
       因此,我们为键和查询向量都添加了位置编码。
       这些位置编码 h p h_p hp 选择 h p ( i ) = s i n ( ω s i / 10000 k / d ) h_p(i)=sin({ω_si}/{10000}^{k/d}) hp(i)=sin(ωsi/10000k/d) (当 i i i 为奇数)或 c o s ( ω s i / 10000 k / d ) cos({ω_si}/{10000}^{k/d}) cos(ωsi/10000k/d) (当 i i i 为偶数),其中 i i i 是时间步数索引, k k k 为位置编码时的信道索引, d d d 是位置编码通道的总数, ω s ω_s ωs 为编码的位置比率。
       位置率决定了注意力分布中直线的平均斜率,大致与语速相对应。
       对于单个说话人,查询的 ω s ω_s ωs 被设置为 1 1 1 ,并且对于输出时间步与输入时间步的比率(在整个数据集上计算)的键被固定。
       对于多说话人数据集,为每个说话人嵌入的密钥和查询计算 ω s ω_s ωs (如图 3 3 3 所示)。
       由于正弦和余弦函数构成一个标准正交基,这个初始化产生了一个对角线形式的注意力分布(见图 4 4 4 ( a ) (a) (a))。
图4

4 :注意力分布
(a)训练前; (b)训练后,但没有推理约束; (c)第一层和第三层有推理约束
(我们根据经验观察到,固定一两个主导层面的注意力,就足以产生高质量的产出)

       

       我们将用于计算隐藏注意向量的全连接层权值初始化为查询投影和键投影的相同值。
       位置编码用于所有注意块。我们像 Gehring 等人(《Convolutional sequence to sequence learning》)一样使用上下文规范化。
       一个完全连接的层应用于上下文向量,以生成注意块的输出。
       总的来说,位置编码改进了卷积注意机制。
       
       生产质量的 TTS 系统对注意错误的容忍度非常低。
       因此,除了位置编码之外,我们还考虑其他策略来消除重复或跳过单词的情况。
       一种方法是用 Raffel等人(《Online and linear-time attention by enforcing monotonic alignments》)引入的单调注意机制来替代规范注意机制,单调注意机制通过预期训练来近似硬单调随机解码和软单调注意。( Raffel等人也提出了采样的硬单调注意过程。它的目的是通过只关注通过抽样选择的状态来提高推理速度,从而避免对未来状态的计算。在我们的研究中,我们并没有从这种加速中获益,我们还观察到某些情况下的注意力不集中行为,例如被卡在第一个或最后一个字符上。)
       尽管改进了单调性,这种策略可能会产生更分散的注意力分布。
       在某些情况下,几个字符同时出席,无法获得高质量的讲话。
       我们将此归因于软对齐的未归一化注意系数,这可能导致编码器发出的微弱信号。
       因此,我们提出了一种只在推理时限制注意权值为单调的替代策略,保留了没有任何约束的训练过程。
       我们不是在整个输入中计算 softmax,而是只在一个固定窗口上计算 softmax ,该窗口从最后一个参与的位置开始,并向前推进几个时间步。(在我们的实验中,我们使用的窗口大小为 3 3 3 。)
       初始位置被设置为零,随后计算为当前窗口中关注度最高的索引。
       这种策略也像图 4 4 4 所示的那样在推理中强制单调的注意力,并产生优越的语音质量。
       

    3.7 转换器

       转换器网络以译码器最后一隐藏层的激活为输入,应用几个非因果卷积块,然后预测下游声码器的参数。
       与解码器不同,转换器是非因果和非自回归的,因此它可以使用解码器的未来上下文来预测其输出。
       转换网络的损耗函数取决于所使用的声码器的类型:
       
        1. Griffin-Lim 声码器:
        Griffin-Lim 算法通过迭代估计未知相位将声谱图转换为时域音频波形。
       我们发现,如 Wang 等人(《Tacotron: Towards end-to-end speech synthesis》)所建议的,在波形合成之前,将谱图提高到一个由锐化因子参数化的功率有助于提高音频质量。
       L1损耗用于线性尺度对数声谱图的预测。
       
        2. WORLD 声码器:
        WORLD 声码器基于(《WORLD: A vocoder-based high-quality speech synthesis system for real-time applications》)。作为声码器参数,我们预测一个布尔值(当前帧是清音还是未清音)、一个 F0 值(如果帧是清音)、谱包络线和非周期性参数。
       我们使用交叉熵损失进行语音-非语音预测, L1 损失用于所有其他预测(见图 5 5 5 )。
图5

5 :生成的世界声码器参数与完全连接( FC )层。

       

        3. WaveNet 声码器:
       我们分别训练了一个 WaveNet 网络作为声码器,将梅尔尺度对数级谱图作为声码器参数。
       这些声码器参数作为外部调节器输入到网络。
       使用真实情况梅尔谱图和音频波形训练 WaveNet 网络。
       调节器之外的架构类似于 Arık 等人(《Deep Voice 2: Multi-speaker neural text-to-speech》)中描述的 WaveNet
       虽然 Arık 等人(《Deep Voice 2: Multi-speaker neural text-to-speech》)中的 WaveNet 使用线性尺度的对数幅度谱图进行调节,但我们观察到梅尔尺度谱图的性能更好,这对应于更紧凑的音频表示。
       除了解码时梅尔尺度谱图上的 L1 损耗外,线性尺度谱图上的 L1 损耗也被用作 Griffin-Lim 声码器。
       

  4 结果

       在本节中,我们将介绍几个不同的实验和指标来评估我们的语音合成系统。
       我们量化了我们系统的性能,并将其与其他最近发表的神经 TTS 系统进行了比较。
       
        数据:
       对于单说话人合成,我们使用一个内部英语语音数据集,包含大约 20 小时的音频,采样率为 48khz
       对于多说话人合成,我们使用 VCTK (《Robust speaker-adaptive hmm-based text-to-speech synthesis》)和 LibriSpeech (《Librispeech: an ASR corpus based on public domain audio books》)数据集。
        VCTK 数据集由 108 个说话人的音频组成,总时长为 44 小时。
        LibriSpeech 数据集由 2484 个说话人的音频组成,总持续时间为 820 小时。
        VCTK 的采样率为 48khz , LibriSpeech 的采样率为 16khz
       
        快速训练:
       我们将 Deep Voice 3 与最近发布的基于注意力的 TTS 系统 Tacotron 进行比较。
       对于我们的单说话人数据系统,使用一个 GPU 的平均训练迭代时间(批量大小为 4 )为 0.06 秒,而使用 Tacotron0.59 秒,表明训练速度提高了 10 倍。
       此外,在我们的实验中, Deep Voice 3 对于所有三个数据集都需要 500K 的迭代,而 Wang 等人(《* Tacotron: Towards end-to-end speech synthesis*》)提出的 Tacotron 需要 2M 的迭代。
       这种显著的加速是由于 Deep Voice 3 的全卷积架构,它在训练期间利用了 GPU 的并行性。
       
        关注错误模式:
       基于注意力的神经 TTS 系统可能会出现几种错误模式,从而降低合成质量——包括 (i) 重复的单词, (ii) 发音错误, (iii) 跳过的单词。
        (i)(iii) 的原因之一是,基于注意力的模型并没有强加一个单调的进展机制。
       为了跟踪注意错误的发生,我们构建了一个定制的 100 个句子的测试集,其中包括部署的 TTS 系统中特别具有挑战性的案例(例如日期、首字母缩写、 URLs 、重复单词、专有名词、外来词等)。
       表 1 列出的注意错误数表明,字符和音素联合表示的模型在标准注意机制训练下,但在推理时施加单调约束,在很大程度上优于其他方法。
表1

1 :在 100 句测试集中,单说话人 Deep Voice 3 种型号的注意错误计数
一个或多个错误的发音,跳过,重复算作一个单一的错误
“音素&字符” 是指用一个联合字符和音素表示来训练的模型
我们没有包括只包含音素的模型,因为测试集包含词汇表之外的单词
所有模块都用 Griffin-Lim 做声码器

       

        自然性:
       我们证明了波形合成的选择对自然等级很重要,并将其与其他发表的神经 TTS 系统进行了比较。
       表 2 的结果表明,神经型声码器 WaveNetMOS 值最高,为 3.78 ,其次是 WORLDGriffin-Lim ,分别为 3.633.62
表2

2:采用不同波形合成方法的 95% 置信区间的平均意见得分( MOS )评分
我们使用 crowdMOS 工具包(《 Crowdmos: An approach for crowdsourcing mean opinion score studies》);从这些模型中获得的批量样品被提供给 Mechanical Turk 的评价者
由于批次包含了所有模型的样本,所以实验自然会对模型进行比较

       

       因此,我们展示了最自然的波形合成可以用神经声码器完成,基本的声谱图反演技术可以匹配高级声码器与高质量的单说话人数据。
        WaveNet 声码器听起来更自然,因为 WORLD 声码器引入了各种明显的伪影。
       然而,更低的推断延迟可能会使世界声码器更受欢迎:大量设计的 WaveNet 实现在每个 CPU 核上运行 3 倍的实时(《Deep Voice 2: Multi-speaker neural text-to-speech》),而 WORLD 在每个 CPU 核上运行高达 40 倍的实时速度。
       
        多说话人合成:
       为了证明我们的模型能够有效地处理多说话人的语音合成,我们在 VCTKLibriSpeech 数据集上训练我们的模型。
       对于 LibriSpeech (一个 ASR 数据集),我们应用了标准去噪的预处理步骤(使用 SoX (《Sox - sound exchange》)),并将长话语分割成多个在暂停位置(由 Gentle 决定(《Gentle》))。
       结果见表 3
表3

3:多说话人数据集上的神经 TTS 系统音频剪辑的 MOS 评分具有 95% 置信区间
我们也使用 crowdMOS toolkit ;包括真实情况在内的一批样品被提供给人类评分者
多说话人 Tacotron 实现和超参数基于 Arık 等人(《 Deep Voice 2: Multi-speaker neural text-to-speech》),这是一个概念验证实现
由于优化超参数所需的时间太长, Deep Voice 2Tacotron 系统没有针对 LibriSpeech 数据集进行训练

       

       我们有意在被评估的集合中包含真实情况样本,因为数据集中的口音对于我们的北美众包评分者来说可能是陌生的。
       我们与 WORLD 声码器的模型在 VCTK 上的 MOS 值为 3.44 ,与之相比, Deep Voice 2MOS 值为 3.69Deep Voice 2 是最先进的多说话人神经TTS系统,使用 WaveNet 作为声码器,分别优化音素持续时间和基频预测模型。
       我们希望通过使用 WaveNet 进行多扬声器合成来进一步改进,尽管它可能会大大降低推理速度。
       与 VCTK 相比, LibriSpeechMOS 值较低,这主要是由于不同的记录条件和明显的背景噪声导致的训练数据集质量较低。
       在文献中, Yamagishi 等人(《Thousands of voices for hmm-based speech synthesis analysis and application of tts systems built on various asr corpora》)也观察到,当将参数化 TTS 方法应用于拥有数百个说话人的不同 ASR 数据集时,性能更差。
       最后,我们发现学习到的说话人嵌入存在一个有意义的潜在空间。
       
        优化部署推理:
       为了以经济有效的方式部署神经 TTS 系统,该系统必须能够在相当数量的硬件上处理与替代系统一样多的通信流量。
       为此,我们的目标是在一个拥有 20CPU 核的单 GPU 服务器上达到每天 1000 万个查询,或者每秒 116 个查询( QPS ) ,我们发现这在成本上与商业部署的 TTS 系统相当。
       通过为 Deep Voice 3 架构实现自定义 GPU 内核和跨 CPU 的并行 WORLD 合成,我们证明了我们的模型可以每天处理 1000 万个查询
       

  5 结论

       我们引入了 Deep Voice 3 ,这是一个基于全新全卷积序列对序列声学模型的神经文本到语音系统,具有位置增强注意机制。
       我们描述了序列到序列语音合成模型中常见的错误模式,并证明我们成功地避免了这些常见的错误模式。
       我们表明我们的模型是不可知的波形合成方法,并将其适用于 Griffin-Lim 谱图反演, WaveNetWORLD 声码器合成。
       我们还证明,我们的架构能够通过增强可训练说话人嵌入( Deep Voice 2 中描述的一种技术)来实现多说话人语音合成。
       最后,我们全面描述了已投产的 Deep Voice 3 系统,包括文本规范化和性能特征,并通过广泛的 MOS 评估展示了最先进的质量。
       未来的工作将包括改进隐式学习的字素-音素模型,使用神经声码器进行联合训练,以及在更干净、更大的数据集上进行训练,以按比例建模来自数十万说话人的人类声音和口音的多样性。
       

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值