【论文学习】《Tacotron: Towards End-to-End Speech Synthesis》

介绍了Tacotron模型,这是一种端到端的文本到语音合成系统,能够直接从字符序列生成对应的语音谱图。该模型在美式英语上获得3.82的MOS平均意见得分,超过了生产级参数系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Tacotron: Towards End-to-End Speech Synthesis》论文学习

  摘要

       文本到语音合成系统通常包括多个阶段,如文本分析前端、声学模型和音频合成模块。构建这些组件通常需要广泛的领域专业知识,可能包含脆弱的设计选择。在本文中,我们提出了Tacotron,一个端到端生成文本到语音的模型,它可以直接从字符合成语音。给定<文本,语音>数据对,模型可以使用随机初始化完全从头开始训练。我们提出了几个关键技术,以使序列到序列框架执行这一具有挑战性的任务。Tacotron在美式英语上获得了3.82的主观MOS平均意见得分,在自然度方面超过了生产级参数系统。此外,由于Tacotron在帧级生成语音,它比样本级自回归方法快得多。
       

  1 介绍

       现代文本-语音(TTS)管道是复杂的(《Text-to-speech synthesis》)。例如,统计参数TTS通常有提取各种语言特征的文本前端、持续时间模型、声学特征预测模型和基于复杂信号处理的声码器(《Statistical parametric speech synthesis》,《Vocaine the vocoder and applications in speech synthesis》)。这些组件基于广泛的领域专业知识,并且设计起来很费力。它们也是独立训练的,所以每个组成部分的错误可能会叠加。现代TTS设计的复杂性导致在构建新系统时需要大量的工程工作。
       
       因此,集成的端到端TTS系统有许多优点,可以在文本、音频上进行训练。与最少的人类注释配对。首先,这样的系统减轻了费力的特征工程的需要,这可能涉及启发式和脆弱的设计选择。其次,它更容易对各种属性(如说话人或语言)或高级特征(如情感)进行丰富的条件反射。这是因为条件作用可能发生在模型的最开始,而不是只发生在特定的组件上。同样,适应新数据可能也更容易。最后,单个模型可能比每个组件的错误可能复合的多阶段模型更健壮。这些优势意味着端到端模型可以让我们在现实世界中大量丰富的、有表现力的、但常常是嘈杂的数据上进行训练。
       
       TTS是一个大规模的反问题:高度压缩的源(文本)被解压缩成音频。由于同一文本可以对应不同的发音或说话风格,这对于端到端模型来说是一项特别困难的学习任务:它必须处理给定输入信号水平上的巨大变化。此外,与端到端语音识别(《Listen, attend and spell: A neural network for large vocabulary conversational speech recognition》)或机器翻译(《Google s neural machine translation system: Bridging the gap between human and machine translation》)不同,TTS输出是连续的,输出序列通常比输入序列长得多。这些属性导致预测错误迅速累积。在本文中,我们提出了Tacotron,一种基于序列到序列(seq2seq)的端到端生成TTS模型(《Sequence to sequence learning with neural networks》)和注意范式(《Neural machine translation by jointly learning to align and translate》)。我们的模型以字符作为输入,原始谱图作为输出,采用多种技术来提高普通seq2seq模型的性能。给定<文本,语音>数据对,Tacotron可以通过随机初始化完全从零开始训练。它不需要音素水平的对齐,所以它可以很容易地扩展到使用大量的录音数据。通过一种简单的波形合成技术,Tacotron在美国英语评估集上产生了3.82的平均意见得分(MOS),在自然度方面超过了生产级参数系统。
       

  2 相关工作

       WaveNet (《WaveNet: A generative model for raw audio》)是一个强大的音频生成模型。它适用于TTS,但由于其样本级自回归的性质,运行速度较慢。它还需要对现有TTS前端的语言特征进行调节,因此不是端到端:它只是取代了声码器和声学模型。另一个最近开发的神经模型是DeepVoice (《Deep voice: Real-time neural text-to-speech》),它用相应的神经网络替代典型的TTS管道中的每个组件。但是,每个组件都是独立训练的,以端到端方式改变系统以训练是非常重要的。
       
       据我们所知,《First step towards end-to-end parametric TTS synthesis: Generating spectral parameters with neural attention》是最早使用seq2seq关注端到端TTS的工作。然而,它需要一个预先训练的隐马尔可夫模型(HMM)对准器来帮助seq2seq模型学习对准。很难说seq2seq本身学习了多少对齐。其次,我们使用了一些技巧来训练这个模型,作者指出,这样做会损害韵律。第三,它预测声码器参数,因此需要一个声码器。此外,该模型是基于音素输入进行训练的,实验结果似乎有一定的局限性。
       
       Char2Wav (《Char2Wav: End-to-end speech synthesis》)是一个独立开发的端到端模型,可以对角色进行训练。然而,Char2Wav仍然在使用SampleRNN神经声码器之前预测声码器参数(《SampleRNN: An unconditional end-to-end neural audio generation model》),而Tacotron直接预测原始谱图。另外,它们的seq2seqSampleRNN模型需要分别进行预训练,但我们的模型可以从头开始训练。最后,我们对普通的seq2seq范例做了几个关键的修改。如后面所示,普通的seq2seq模型不能很好地用于字符级输入。
       

  3 模型架构

       Tacotron的主干是一个具有注意力的seq2seq模型(《Neural machine translation by jointly learning to align and translate》,《Grammar as a foreign language》)。图1描述了该模型,该模型包括编码器、基于注意的解码器和后处理网络。在高层次上,我们的模型以字符为输入,产生谱图帧,然后转换为波形。我们将在下面描述这些组件。
图1

       

    3.1 CBHG模块

图2

       我们首先描述一个名为CBHG的构建块,如图2所示。CBHG由一组一维卷积滤波器、高速网络(《Highway networks》)和双向门控循环单元(GRU) (《Empirical evaluation of gated recurrent neural networks on sequence modeling》)循环神经网络(RNN)组成。CBHG是一个从序列中提取表示的强大模块。输入序列首先与 K K K1-D卷积滤波器集卷积,其中第 k k k个集合包含宽度为 k k k的滤波器 C k C_k Ck( K = 1 , 2 , . . . , K K=1,2,...,K K=1,2,...,K)。这些滤波器显式地建模局部和上下文信息(类似于建模ungrambiggram,直到K-gram)。卷积输出堆叠在一起,并在时间维度最大池化增加局部不变性。注意,我们使用跨距为1来保持原始的时间分辨率。我们进一步将处理后的序列传递给几个固定宽度的一维卷积,卷积的输出通过残差连接与原始输入序列相结合(《Deep residual learning for image recognition》)。批量标准化(《Batch normalization: Accelerating deep network training by reducing internal covariate shift》)用于所有卷积层。将卷积输出输入多层高速公路网络,提取高级特征。最后,我们在上面叠加一个双向的GRU RNN,从正向和反向的上下文中提取序列特征。CBHG的灵感来自机器翻译工作(《Fully character-level neural machine translation without explicit segmentation》),主要区别包括使用非因果卷积、批处理归一化、剩余连接和 s t r i d e = 1 stride=1 stride=1的最大池化。我们发现这些修改提高了泛化。
表1

       

    3.2 编码器

       编码器的目标是提取文本的鲁棒序列表示。编码器的输入是一个字符序列,其中每个字符表示为一个one-hot向量,并嵌入到一个连续向量中。然后,我们对每个嵌入应用一组非线性变换,统称为pre-net。本文采用了一种带dropout的瓶颈层作为pre-net,提高了算法的收敛性和泛化能力。CBHG模块将pre-net输出转换为注意模块使用的最终编码器表示。我们发现这种基于CBHG的编码器不仅减少了过拟合,而且比标准的多层RNN编码器发音错误更少(见音频样本链接页面)。
       

    3.3 解码器

       我们使用一个基于内容的tanh注意力解码器(《Grammar as a foreign language》),其中有状态循环层在每个解码器时间步产生注意力查询。我们将上下文向量和注意RNN cell输出连接起来,形成对解码器RNN的输入。我们在解码器中使用了一组具有垂直残差连接的GRU (《Google s neural machine translation system: Bridging the gap between human and machine translation》)。我们发现残差连接加速了收敛。解码器目标是一个重要的设计选择。虽然我们可以直接预测原始的谱图,但对于学习语音信号和文本之间的对齐来说,这是一个高度冗余的表示(这正是在这个任务中使用seq2seq的真正动机)。由于这种冗余,我们使用不同的目标进行seq2seq解码和波形合成。seq2seq目标只要为反演过程提供足够的可解性和韵律信息,就可以进行高度压缩,可以对其进行固定或训练。我们使用80波段的梅尔谱图作为目标,但可以使用更少的波段或更简洁的目标,如倒谱。我们使用一个后处理网络(下面将讨论)将seq2seq目标转换为波形。
       
       我们使用一个简单的全连接输出层来预测解码器的目标。我们发现的一个重要技巧是在每个解码器步骤中预测多个非重叠的输出帧。同时预测 r r r帧可以将解码器总步数除以 r r r,从而减少模型大小、训练时间和推理时间。更重要的是,我们发现这种技巧可以大大提高收敛速度,这可以通过从注意力中学习到的更快(更稳定)的对齐来衡量。这可能是因为相邻的语音帧是相关的,每个字符通常对应于多个帧。每次预测一帧迫使模型在多个时间步中处理相同的输入标识;预测多帧可以让注意力在训练的早期向前移动。Zen等人(《Fast, compact, and high quality LSTM-RNN based statistical parametric speech synthesizers for mobile devices》)也使用了类似的技巧,但主要是为了加快推理。
       
       第一个解码器步骤以一个全零帧为条件,该帧表示一个<GO>框架。在推理中,在解码器步骤 t t t时,预测 r r r的最后一帧在步骤 t + 1 t+1 t+1时作为解码器的输入。注意,输入最后一个预测是一种特殊的选择,在这里我们可以使用所有预测 r r r。在训练过程中,我们总是将第 r r r个真实帧输入到解码器。输入帧被传递到pre-net,就像在编码器中所做的那样。由于我们没有使用诸如计划采样(《Scheduled sampling for sequence prediction with recurrent neural networks》)等技术(我们发现它会损害音频质量),pre-net中的dropout对于模型的推广是至关重要的,因为它提供了一个噪声源来解决输出分布中的多种模式。
       

    3.4 后处理网和波形合成

       如上所述,后处理网的任务是将seq2seq目标转换为一个可以合成成波形的目标。由于我们使用Griffin-Lim作为合成器,后处理网络学习预测在线性频率尺度上采样的频谱幅度。后处理网络的另一个动机是它可以看到完整的解码序列。seq2seq总是从左到右运行,与此相反,它同时具有向前和向后的信息来纠正每一帧的预测误差。在这项工作中,我们使用CBHG模块作为后处理网络,尽管一个更简单的架构可能也能工作。后处理网络的概念是非常普遍的。它可以用来预测其他目标,如声码器参数,或作为WaveNet类神经声码器(《WaveNet: A generative model for raw audio》,《SampleRNN: An unconditional end-to-end neural audio generation model》,《Deep voice: Real-time neural text-to-speech》)直接合成波形样本。
       
       我们使用Griffin-Lim算法(《Signal estimation from modified short-time fourier transform》)从预测的谱图合成波形。我们发现,在执行Griffin-Lim之前,将预测的幅值提高1.2次幂可以减少人为干扰,这可能是由于它的谐波增强效应。我们观察到Griffin-Lim50次迭代后收敛(实际上,大约30次迭代似乎就足够了),这是相当快的。我们在TensorFlow(《TensorFlow: Large-scale machine learning on heterogeneous distributed systems》)中实现了Griffin-Lim ,因此它也是模型的一部分。虽然Griffin-Lim是可区分的(它没有可训练的权重),我们在这项工作中没有对它施加任何损失。我们强调,我们选择Griffin-Lim是为了简单;虽然它已经产生了强有力的结果,开发一个快速和高质量的可训练的频谱到波形逆变器是正在进行的工作。
       

  4 模型细节

       表1列出了超参数和网络架构。我们使用带有Hann加窗、50ms帧长、12.5ms帧移和2048点傅里叶变换的对数幅值谱图。我们还发现预加强(0.97)是有帮助的。我们在所有实验中使用24khz的采样率。
       
       在本文中,我们使用 r = 2 r=2 r=2(输出层缩减因子)作为MOS结果,尽管较大的 r r r值(如 r = 5 r=5 r=5)也可以很好地工作。我们使用Adam优化器(《Adam: A method for stochastic optimization》),学习速率衰减,从0.001开始,在500K1M2M全局步长后分别减小到0.00050.00030.0001。我们对seq2seq解码器(mel-scale谱图)和后处理网络(linear-scale谱图)都使用了简单的 L 1 \mathcal{L}_1 L1损耗,这两项损失的权重相等。
       
       我们使用32个批处理大小进行训练,其中所有序列都填充到最大长度。使用损耗掩模来训练序列模型是一种常见的做法,它可以在零填充帧上掩盖损耗。但是,以这种方式训练的模型不知道什么时候停止发出输出信号,导致声音在最后不断重复。解决这个问题的一个简单技巧是重建零填充帧。
       

  5 实验

       我们在一个内部北美英语数据集上训练Tacotron,该数据集包含一个职业女性说话者大约24.6小时的语音数据。这些短语是文本规范化的,例如“16”被转换为“sixteen”。
       

    5.1 消融分析

       我们进行了一些消融研究,以了解我们模型中的关键部件。与生成模型一样,很难比较基于客观指标的模型,这些指标往往与感知不太相关(《A note on the evaluation of generative models》)。我们主要依赖于视觉对比。我们强烈鼓励读者听取提供的示例。
       
       首先,我们将与普通的seq2seq模型进行比较。编码器和解码器都使用了2层残差RNN,每层有256GRU cell(我们尝试了LSTM,得到了类似的结果)。该解码器不使用预处理网或后处理网,直接预测线性尺度对数数量级谱图。我们发现该模型需要定时采样(采样率0.5)来学习对齐和推广。我们在图3中显示了学习到的注意力对齐。图3(a)显示了普通的seq2seq学习到的对齐很差。一个问题是,注意力倾向于在向前移动之前停留许多帧,这导致合成信号中的语音清晰度很差。自然性和整体持续时间因此被破坏。相比之下,我们的模型学习了一种干净而平滑的对齐方式,如图3(c)所示。
图3
       
       其次,我们将CBHG编码器替换为2层残差GRU编码器的模型进行了比较。模型的其余部分,包括编码器预网络,保持完全相同。对比图3(b)和图3(c),我们可以看到,来自GRU编码器的对齐是有噪声的。听合成的信号,我们发现嘈杂的排列经常导致发音错误。CBHG编码器减少了过拟合,并能很好地推广到长而复杂的短语。
       
       图4(a)和4(b)显示了使用后处理网的好处。我们训练了一个没有后处理网络的模型,同时保持所有其他组件不变(除了解码器RNN预测线性尺度谱图)。有了更多的上下文信息,来自后处理网络的预测包含了更好的分辨率谐波(例如在频段100400之间的更高的谐波)和高频共振峰结构,这减少了合成伪影。
图4
       

    5.2 平均意见得分测验

       我们进行了平均意见得分测试,在测试中,受试者被要求对音频的自然程度进行Likert 5分评分。MOS测试是由母语人士众包的。测试中使用了100个未出现过的短语,每个短语得到8个评级。在计算MOS时,我们只包括使用耳机的评级。我们将我们的模型与一个参数化系统(基于LSTM (《Fast, compact, and high quality LSTM-RNN based statistical parametric speech synthesizers for mobile devices》))和一个串联系统(《Recent advances in Google real-time HMM-driven unit selection synthesizer》)进行了比较,这两个系统都在生产中。如表2所示,TacotronMOS值为3.82,优于参数系统。考虑到强基线和由Griffin-Lim合成引入的工件,这代表了一个非常有希望的结果。
表2
       

  6 讨论

       我们提出了一种集成的端到端生成TTS模型Tacotron,该模型以字符序列作为输入输出对应的谱图。通过一个非常简单的波形合成模块,它在美国英语上获得了3.82 MOS分数,在自然度方面超过了生产参数系统。Tacotron是基于框架的,因此其推理速度大大快于样本水平的自回归方法。与之前的工作不同,Tacotron不需要手工设计的语言特征或复杂的组件,如HMM对齐器。它可以通过随机初始化从头开始训练。我们执行简单的文本规范化,尽管最近在学习文本规范化方面取得了进展(《RNN approaches to text normalization: A challenge》)可能会使这在未来变得不必要。
       
       我们还需要研究我们模型的许多方面;许多早期的设计决策都没有改变。我们的输出层、注意模块、损耗函数和基于Griffin-Lim的波形合成器都已经成熟,有待改进。例如,众所周知,Griffin-Lim的输出可能有声音伪影。目前,我们正在研究快速、高质量的基于神经网络的谱图反演。
       

Wang Y, Skerry-Ryan R J, Stanton D, et al. Tacotron: Towards end-to-end speech synthesis[J]. arXiv preprint arXiv:1703.10135, 2017.

之前的工作较为粗糙,很多细节都有遗漏。为方便后续深入研究,特此更新Tacotron模型的论文笔记。

### Oracle Database Host Key Configuration and Error Solutions The `ORACLE_HOME` environment variable is a critical component of the Oracle Database installation process, as it specifies the directory where the Oracle software resides. In this case, the ORACLE_HOME has been set to `/u01/app/oracle/product/10.2.0/db_1`[^1]. The concept of a **Host Key** in an Oracle context typically refers to configurations related to network security or specific settings that identify hosts within the Oracle ecosystem. #### Understanding Host Key Configurations In some cases, particularly when dealing with Oracle Net Services (formerly known as SQL*Net), there may be references to host keys for secure communication between clients and servers. These are often managed through files such as: - **tnsnames.ora**: This file contains definitions for net service names used by client applications. - **sqlnet.ora**: This file includes parameters controlling how connections are established and secured, including encryption methods and authentication mechanisms. For example, if you want to configure advanced security options like SSL/TLS using certificates, the following parameter might appear in your sqlnet.ora file: ```plaintext SQLNET.AUTHENTICATION_SERVICES= (TCPS) SSL_CLIENT_AUTHENTICATION = TRUE WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /path/to/wallet/directory))) ``` This setup ensures only authenticated users from trusted hosts can access the database server based on certificate validation rules defined inside wallets located at specified directories[^2]. #### Common Errors Related to Host Keys One common issue involves mismatched versions of libraries required during runtime due to incorrect paths being referenced under different environments after upgrading systems without adjusting all necessary variables accordingly. For instance, attempting to start up services while having outdated binaries linked could result in errors similar to these messages below but not limited strictly speaking about 'hostkeys': - "ORA-28759: failure to open file" - "TNS-12541: No listener" To resolve potential issues arising out of misconfigurations around networking components involving hostname resolution attempts made either locally via loopback addresses (`localhost`) versus external fully qualified domain names(FQDNs): 1. Verify contents listed both under `$ORACLE_HOME/network/admin/listener.ora` alongside any customizations applied towards global naming conventions applicable across multiple instances running simultaneously side-by-side sharing same physical hardware resources yet logically separated per application requirements; Example Listener Entry: ```plaintext LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhostname.example.com)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = testdb.mydomain) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (SID_NAME = TESTDB) ) ) ``` 2. Confirm proper functioning DNS lookups performed consistently regardless location accessed whether internally behind firewalls protected corporate intranets compared against public internet exposed endpoints requiring additional layers protection implemented correctly throughout entire architecture stack involved serving requests end-users ultimately consume interacting directly databases themselves indirectly web portals acting intermediaries front-ending raw data stores underneath powering business logic operations daily basis enterprise scale deployments worldwide today modern age digital transformation initiatives driving competitive advantage organizations seek achieve sustainable growth long term success marketspace ever evolving rapidly changing landscape technology innovation continues accelerate unprecedented rates seen previous decades combined together single generation lifetime experience witnessed firsthand participants actively contributing field computer science information management overall discipline encompassing vast array subfields specialties ranging artificial intelligence machine learning deep neural networks natural language processing robotics automation control theory optimization algorithms combinatorial mathematics graph theory probability statistics signal processing image recognition speech synthesis virtual reality augmented reality mixed reality extended reality spatial computing quantum computing blockchain distributed ledger technologies edge computing fog computing cloud native architectures microservices containerization orchestration continuous integration delivery deployment pipelines DevOps SRE practices agile methodologies lean startup principles design thinking human centered approaches user experience research usability testing accessibility standards compliance regulations governance risk mitigation cybersecurity privacy preservation ethical considerations societal impacts environmental sustainability green IT energy efficiency carbon footprint reduction circular economy resource conservation waste minimization recycling reuse repurposing second life extension product lifecycle management supply chain logistics inventory tracking asset maintenance predictive analytics condition monitoring fault detection isolation recovery resilience fault tolerance high availability disaster recovery backup restoration archival retention policies version control branching merging conflict resolution collaboration coordination teamwork leadership mentorship coaching professional development career advancement lifelong learning knowledge transfer intellectual property rights patents trademarks copyrights trade secrets confidentiality agreements non-disclosure obligations contractual commitments legal frameworks regulatory frameworks policy frameworks framework frameworks frameworks... ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值