音频发生器及用于生成音频信号和训练音频发生器的方法
文献发布时间:2024-01-17 01:28:27
在下文中,将描述不同的发明实施例和方面。另外,进一步的实施例将由所附权利要求书定义。应当注意,权利要求所定义的任何实施例都可以由本说明书中描述的任何细节(特征和功能)补充。
此外,本说明书中描述的实施例可以单独使用,也可以由本文的任何特征或权利要求中包括的任何特征补充。
另外,应当注意,本文所述的各个方面可以单独使用或组合使用。因此,可以向所述每个单独方面添加细节,而不向所述的另一个方面添加细节。
还应注意,本公开明确或隐含地描述了音频发生器和/或方法和/或计算机程序产品中可用的特征。因此,本文描述的任何特征可以在设备、方法和/或计算机程序产品的上下文中使用。
此外,本文公开的与方法相关的特征和功能也可用于设备(配置为执行此类功能)。此外,本文所公开的关于设备的任何特征和功能也可以在相应的方法中使用。换句话说,本文公开的方法可以由关于设备所描述的任何特征和功能补充。
此外,本文描述的任何特征和功能可以在硬件或软件中实现,或使用硬件和软件的组合实现,如“实现替代方案”一节所述。
尽管在设备的上下文中描述了某些方面,但很明显,这些方面也代表了对相应方法的描述,其中特征对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对相应设备的相应特征的描述。一些或所有的方法步骤可以由(或使用)硬件装置来执行,例如,微处理器、可编程计算机或电子电路。在一些实施例中,最重要的方法步骤中的一个或多个可以通过这样的装置来执行。
根据某些实施要求,本发明的实施例可以在硬件或软件中实现。该实现可以使用数字存储介质来执行,例如软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM或闪存,这些介质具有存储在其上的电子可读控制信号,其与可编程计算机系统协作(或能够协作),从而执行相应的方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,电子可读控制信号能够与可编程计算机系统协作,从而执行本文所述的方法之一。
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,该程序代码可操作用于执行所述方法之一。程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的用于执行本文所述方法之一的计算机程序。
换句话说,因此,本发明方法的实施例是,具有用于当计算机程序在计算机上运行时,执行本文所述方法之一的程序代码的计算机程序。
因此,本发明方法的进一步实施例是数据载体(或数字存储介质,或计算机可读介质),包括记录在其上的用于执行本文所述方法之一的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非暂时性的。
因此,本发明方法的进一步实施例是表示用于执行本文所述方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如被配置为经由数据通信连接传送,例如经由互联网。
进一步实施例包括处理装置,例如计算机或可编程逻辑器件,其被配置为或适于执行本文所述方法之一。
进一步实施例包括在其上安装有用于执行本文所述方法之一的计算机程序的计算机。
根据本发明的进一步实施例包括被配置为将用于执行本文所述方法之一的计算机程序(例如,电子地或光学地)传送到接收器的装置或系统。例如,接收器可以是计算机、移动设备、存储设备等。装置或系统可例如包括用于将计算机程序传送到接收器的文件服务器。
在一些实施例中,可编程逻辑器件(例如现场可编程门阵列)可用于执行本文所述方法的一些或全部功能。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,优选由任何硬件装置执行方法。
本文描述的设备可以使用硬件装置来实现,或者使用计算机来实现,或者使用硬件装置和计算机的组合来实现。
本文描述的设备,或本文描述的设备的任何组件,可以至少部分地在硬件和/或软件中实现。
本文描述的方法可以使用硬件装置,或使用计算机,或使用硬件装置和计算机的组合来执行。
本文描述的方法,或本文描述的方法的任何部分,可以至少部分地通过硬件和/或软件来执行。
上述所描述的实施例仅是对本发明的原理进行说明。应当理解,本文所述的布置和细节的修改和变化对于本领域技术人员将是显而易见的。因此,其意图仅受即将到来的专利权利要求的范围的限制,而不受通过本文的实施例的描述和解释方式所提供的具体细节的限制。
技术领域
本发明属于音频生成的技术领域。
本发明的实施例涉及音频发生器,其被配置为从输入信号和目标数据生成音频信号,目标数据表示音频信号。进一步的实施例涉及用于生成音频信号的方法,以及用于训练音频发生器的方法。进一步的实施例涉及计算机程序产品。
背景技术
近年来,神经声码器在合成语音信号的自然度和感知质量方面已经超越了经典的语音合成方法。使用如WaveNet和WaveGlow这样计算量大的神经声码器可以获得最好的结果,而基于生成式对抗网络的轻量级架构,例如MelGAN和Parallel WaveGAN,在感知质量方面仍然较差。
使用深度学习生成音频波形的生成模型,诸如WaveNet、LPCNet和WaveGlow,在自然声音语音合成方面取得了重大进展。这些生成模型在文本到语音(TTS)应用中被称为神经声码器,优于参数和拼接合成方法。它们可以使用目标语音的压缩表示(例如梅尔谱图)来调节,以再现给定的说话者和给定的话语。
先前的研究表明,在解码器侧使用这种生成模型可以实现非常低比特率的干净语音的语音编码。这可以通过使用经典低比特率语音编码器的参数来调节神经声码器来实现。
神经声码器也被用于语音增强任务,如语音降噪或去噪。
这些深度生成模型的主要问题通常是需要大量的参数,以及在训练和合成(推理)期间产生的复杂性。例如,WaveNet被认为是合成语音质量方面的最先进技术,它一个接一个地顺序生成音频样本。此过程非常缓慢,计算要求很高,并且不能实时执行。
近年来,基于生成对抗网络(GAN)的轻量级对抗声码器(诸如MelGAN和ParallelWaveGAN)被提出用于快速波形生成。然而,使用这些模型生成的语音的报告的感知质量明显低于如WaveNet和WaveGlow的神经声码器的基线。已经提出了一种用于文本到语音的GAN(GAN-TTS)来弥补此质量差距,但仍然需要很高的计算成本。
神经声码器的种类繁多,但都有各自的缺点。自回归声码器,例如WaveNet和LPCNet,可能具有非常高的质量,并且适合在CPU上进行推理的优化,但它们不适合在GPU上使用,因为它们的处理不能容易地并行化,并且它们不能在不影响质量的情况下提供非实时处理。
归一化流声码器,例如WaveGlow,也可能具有非常高的质量,并且适合在GPU上进行推理,但是它们包括非常复杂的模型,需要很长时间来训练和优化,并且也不适合嵌入式设备。
GAN声码器,例如MelGAN和ParallelWaveGAN可能适用于GPU上的推理并且是轻量级,但它们的质量低于自回归模型。
综上所述,目前还不存在提供高保真语音的低复杂度解决方案。GAN是实现这一目标的研究最多的方法。本发明是解决此问题的有效方法。
本发明的目的是提供一种轻量级的神经声码器解决方案,该解决方案以非常高的质量生成语音并且可以用有限的计算资源进行训练。
附图说明
随后将参照附图描述根据本发明的实施例,其中:
图1示出了根据本发明的实施例的音频发生器架构,
图2示出了可用于训练根据本发明的音频发生器的鉴别器结构,
图3示出了根据本发明的实施例的音频发生器的部分的结构,
图4示出了根据本发明的实施例的音频发生器的部分的结构,以及
图5示出了不同模型的MUSHRA专家听力测试的结果,
图6示出了根据本发明的实施例的音频发生器的架构,
图7示出了根据本发明对信号执行的操作。
在图中,相似的附图标记表示相似的元件和特征。
发明内容
特别地,提出了一种音频发生器(例如,10),被配置为从输入信号(例如,14)和目标数据(例如,12)生成音频信号(例如,16),目标数据(例如,12)表示音频信号(例如,16),音频发生器包括以下中的至少一个:
第一处理块(例如,40,50,50a-50h),被配置为接收从输入信号(例如,14)得出的第一数据(例如,15,59a)并输出第一输出数据(例如,69),其中第一输出数据(例如,69)包括多个通道(例如,47),以及
第二处理块(例如,45),被配置为作为第二数据接收第一输出数据(例如,69)或从第一输出数据(例如,69)得到的数据。
第一处理块(例如,50)对于第一输出数据的每个通道可以包括:
可学习层(例如,71,72,73)的条件集,被配置为处理目标数据(例如,12)以获得条件特征参数(例如,74,75);以及
样式元件(例如,77),被配置为将条件特征参数(例如,74,75)应用于第一数据(例如,15,59a)或归一化的第一数据(例如,59,76’)。
第二处理块(例如,45)可被配置为将第二数据(例如,69)的多个通道(例如,47)组合以获得音频信号(例如,16)。
还提出了一种方法,例如,用于由音频发生器(例如,10)从输入信号(例如,14)和目标数据(例如,12)生成音频信号(例如,16),目标数据(例如,12)表示音频信号(例如,16),方法包括:
通过第一处理块(例如,50,50a-50h)接收从输入信号(例如,14)得到的第一数据(例如,16559,59a,59b);
对于第一输出数据(例如,59b,69)的每个通道:
通过第一处理块(例如,50)的可学习层(例如,71、72、73)的条件集处理目标数据(例如,12),以获得条件特征参数(例如,74、75);以及
通过第一处理块(例如,50)的样式元件(例如,77),将条件特征参数(例如,74、75)应用于第一数据(例如,15、59)或归一化的第一数据(例如,76’);
通过第一处理块(例如,50)输出包括多个通道(例如,47)的第一输出数据(例如,69);
通过第二处理块(例如,45)作为第二数据接收第一输出数据(例如,69)或从第一输出数据(例如,69)得出的数据;以及
通过第二处理块(例如,45),将第二数据的多个通道(例如,47)组合以获得音频信号(例如,16)。
还提出了一种训练用于音频生成的神经网络的方法,其中神经网络:
从表示要生成的音频数据(例如16)的输入序列(例如14)在给定时间步长输出音频样本;
被配置为对噪声向量(例如14)进行整形,以便使用输入代表序列(例如12)创建输出音频样本(例如16),以及
训练被设计为优化损失函数(例如140)。
还提出了一种生成音频信号(例如16)的方法,包括数学模型,其中数学模型被配置为从表示要生成的音频数据(例如16)的输入序列(例如12)以给定时间步长输出音频样本。数学模型可以对噪声向量(例如14)进行整形,以便使用输入代表序列(例如12)创建输出音频样本。
正是在此背景下,我们提出了StyleMelGAN(例如,音频发生器10),这是一种轻量级的神经声码器,允许以低计算复杂度合成高保真语音。StyleMelGAN是完全卷积的前馈模型,它使用时间自适应去归一化(TADE)(例如图4中的60a和60b,以及图3中的60)经由目标语音波形的声学特征对低维噪声向量(例如128x1向量)进行样式化(例如在77处)。该架构允许高度并行的生成,在控制处理单元(CPU)和图形处理单元(GPU)上都比实时快几倍。为了高效和快速的训练,我们可以使用多尺度频谱重建损失和由多个鉴别器(例如,132a-132d)计算的对抗损失,并使用随机窗口化(例如,窗口105a,105b,105c,105d),多个鉴别器在多个频带中评估语音信号16。MUSHRA和P.800听力测试示出,StyleMelGAN(例如,音频发生器10)在复制合成和TTS场景中都优于已知的现有神经声码器。
特别地,本申请提出了一种用于生成高质量语音16的神经声码器,其可以基于生成对抗网络(GAN)。这个解决方案,这里被称为StyleMelGAN(并且,例如,在音频发生器10中实现),是轻量级的神经声码器,其允许以低计算复杂度合成高质量语音16。StyleMelGAN是一种前馈的全卷积模型,它使用时间自适应去归一化(TADE)来使用例如目标语音波形的梅尔谱图(12)样式化(例如在块77)潜在噪声表示(例如69)。它允许高度并行的生成,在CPU和GPU上都比实时快几倍。对于训练,可以使用多尺度频谱重建损失,然后是对抗损失。这使得能够在单个GPU上进行不到2天的训练后获得能够合成高质量输出的模型。
本发明的潜在应用和益处如下:
本发明可应用于文本到语音,并且得到的质量,即用于TTS和复制合成的生成的语音质量接近于WaveNet和自然语音。它还提供了快速的训练,使得模型易于快速重新训练,具有个性化。它使用较少的内存,因为它是相对较小的神经网络模型。最后,提出的发明在复杂性方面提供了好处,即它具有非常好的质量/复杂性权衡。
本发明还可以应用于语音增强,为从噪声语音生成干净语音提供低复杂度和鲁棒性的解决方案。
本发明还可以应用于语音编码,其中它可以通过仅传输调节神经声码器所需的参数来显著降低比特率。此外,在此应用中,基于轻量级神经声码器的解决方案适用于嵌入式系统,尤其适用于配备GPU或神经处理单元(NPU)的即将到来的(终端)用户设备(UE)。
本申请的实施例涉及音频发生器,被配置为从输入信号和目标数据生成音频信号,目标数据表示音频信号,音频发生器包括第一处理块,被配置为接收从输入信号得到的第一数据并输出第一输出数据,其中第一输出数据包括多个通道,以及第二处理块,被配置为接收作为第二数据第一输出数据或从第一输出数据得到的数据,其中,第一处理块包括:用于第一输出数据的每个通道的可学习层的条件集,该可学习层的条件集被配置为处理目标数据以获得条件特征参数;以及样式元件,被配置为将条件特征参数应用于第一数据或归一化的第一数据;以及其中第二处理块被配置为组合第二数据的多个通道以获得音频信号。
根据一个实施例,可学习层的条件集由一个或两个卷积层组成。
根据一个实施例,第一卷积层被配置为使用第一激活函数对目标数据或上采样的目标数据进行卷积以获得第一卷积数据。
根据一个实施例,可学习层的条件集和样式元件是包括一个或多个残差块的神经网络的残差块中的权重层的一部分。
根据一个实施例,音频发生器进一步包括被配置为归一化第一数据的归一化元件。例如,归一化元件可以将第一数据归一化为零均值和单位方差的正态分布。
根据一个实施例,音频信号为语音音频信号。
根据一个实施例,优选地通过非线性插值,以2的因子或2的倍数或2的幂对目标数据进行上采样。在某些示例中,相反地,可以使用大于2的因子。
根据一个实施例,第一处理块进一步包括可学习层的另一集,被配置为使用第二激活函数处理从第一数据得出的数据,其中第二激活函数是门控激活函数。
根据一个实施例,可学习层的另一集由一个或两个卷积层组成。
根据一个实施例,第二激活函数是softmax门控双曲正切TanH函数
根据一个实施例,第一激活函数是渗漏整流线性单元(渗漏ReLu)函数。
根据一个实施例,卷积操作以最大膨胀因子2运行。
根据一个实施例,音频发生器包括八个第一处理块和一个第二处理块。
根据一个实施例,第一数据具有比音频信号更低的维数。第一数据可具有低于音频信号的第一维度或至少一个维度。第一数据可以具有比音频信号低一个维度,但具有比音频信号多的多个通道。第一数据在所有维度上的样本总数可以低于音频信号。
根据一个实施例,目标数据是谱图,优选是梅尔谱图,或比特流。
根据一个实施例,目标数据从文本得到,目标数据是音频数据的压缩表示,或者目标数据是降级的音频信号。
进一步的实施例涉及通过音频发生器从输入信号和目标数据生成音频信号的方法,目标数据表示音频信号,方法包括通过第一处理块接收从输入信号得到的第一数据;对于第一输出数据的每个通道,通过第一处理块的可学习层的条件集处理目标数据,以获得条件特征参数;以及通过第一处理块的样式元件,将条件特征参数应用于第一数据或归一化的第一数据;通过第一处理块输出包括多个通道的第一输出数据;通过第二处理块作为第二数据接收第一输出数据或从第一输出数据得出的数据;以及通过第二处理块,将第二数据的多个通道组合以获得音频信号。
归一化可以包括,例如,将第一数据归一化为零均值和单位方差的正态分布。
方法也可以被提供来自音频发生器的任何特征或特征组合。
进一步的实施例涉及用于训练如上所述的音频发生器的方法,其中训练包括重复如上所述的任一个方法中的步骤一次或多次。
根据一个实施例,用于训练的方法进一步包括由至少一个评估器评估所生成的音频信号,并根据评估的结果调整音频发生器的权重,评估器优选为神经网络。
根据一个实施例,用于训练的方法进一步包括根据评估的结果调整评估器的权重。
根据一个实施例,训练包括优化损失函数。
根据一个实施例,优化损失函数包括计算所生成的音频信号和参考音频信号之间的固定度量。
根据一个实施例,计算固定度量包括计算所生成的音频信号和参考信号之间的一个或多个频谱失真。
根据一个实施例,在所生成的音频信号和参考信号的频谱表示的幅度或对数幅度上,和/或在不同的时间或频率分辨率上,计算一个或多个频谱失真。
根据一个实施例,优化损失函数包括通过由一个或多个评估器随机提供和评估所生成的音频信号的表示或参考音频信号的表示来得到一个或多个对抗度量,其中评估包括将所提供的音频信号分类为指示音频信号的自然度的预训练分类水平的预定数量的类别。
根据一个实施例,优化损失函数包括通过一个或多个评估器计算固定度量和得出对抗度量。
根据一个实施例,首先使用固定度量来训练音频发生器。
根据一个实施例,四个评估器得出四个对抗度量。
根据一个实施例,评估器在通过滤波器组对生成的音频信号的表示或参考音频信号的表示进行分解后操作。
根据一个实施例,每个评估器接收生成的音频信号的表示或参考音频信号的表示的一个或几个部分作为输入。
根据一个实施例,通过使用随机窗口函数从输入信号采样随机窗口而生成信号部分。
根据一个实施例,随机窗口的采样对每个评估器重复多次。
根据一个实施例,为每个评估器采样随机窗口的次数与生成的音频信号的表示或参考音频信号的表示的长度成比例。
进一步的实施例涉及包括用于处理设备的程序的计算机程序产品,该程序包括当程序在处理设备上运行时用于执行本文所述方法的步骤的软件代码部分。
根据一个实施例,计算机程序产品包括软件代码部分存储在其上的计算机可读介质,其中程序可直接加载到处理设备的内部存储器中。
进一步的实施例涉及一种生成音频信号的方法,包括数学模型,其中数学模型被配置为从表示要生成的音频数据的输入序列以给定时间步长输出音频样本,其中数学模型被配置为对噪声向量进行整形以便使用输入代表序列创建输出音频样本。
根据一个实施例,使用音频数据训练数学模型。根据一个实施例,数学模型是神经网络。根据一个实施例,网络是前馈网络。根据一个实施例,网络是卷积网络。
根据一个实施例,噪声向量可以具有比要生成的音频信号更低的维数。第一数据可具有低于音频信号的第一维度或至少一个维度。第一数据可以具有低于音频信号的所有维度上的样本总数。第一数据可以具有比音频信号低一个维度,但具有比音频信号多的多个通道。
根据一个实施例,使用时间自适应去归一化(TADE)技术用于调节使用输入代表序列的数学模型,并且因此用于对噪声向量进行整形。
根据一个实施例,修改的softmax门控Tanh激活神经网络的每一层。
根据一个实施例,卷积操作以最大膨胀因子2运行。
根据一个实施例,对噪声向量以及输入代表序列进行上采样以获得目标采样率下的输出音频。
根据一个实施例,在数学模型的不同层中依次执行上采样。
根据一个实施例,每层的上采样因子为2或2的倍数,诸如2的幂。在一些示例中,上采样因子的值可以通常大于2。
根据一个实施例,所生成的音频信号用于文本到语音应用,其中输入代表序列从文本得到。
根据一个实施例,所生成的音频信号用于音频解码器,其中输入代表序列是要传输或存储的原始音频的压缩表示。
根据一个实施例,所生成的音频信号用于改善降级的音频信号的音频质量,其中输入代表序列从降级的信号得到。
进一步实施例涉及训练用于音频生成的神经网络,其中神经网络从表示要生成的音频数据的输入序列以给定的时间步长输出音频样本,其中神经网络被配置为对噪声向量进行整形,以便使用输入代表序列创建输出音频样本,其中神经网络如上所述被设计,以及其中训练被设计为优化损失函数。
根据一个实施例,损失函数包括在生成的音频信号和参考音频信号之间计算的固定度量。
根据一个实施例,固定度量是在所生成的音频信号和参考信号之间计算的一个或多个频谱失真。
根据一个实施例,在所生成的音频信号和参考信号的频谱表示的幅度或对数幅度上计算一个或多个频谱失真。
根据一个实施例,在不同的时间或频率分辨率上计算形成固定度量的一个或多个频谱失真。
根据一个实施例,损失函数包括由附加判别神经网络得到的对抗度量,其中,判别神经网络接收生成的音频信号的表示或参考音频信号的表示作为输入,并且其中,判别神经网络被配置为评估生成的音频信号是否真实。
根据一个实施例,损失函数包括固定度量和由附加的判别神经网络得出的对抗度量。
根据一个实施例,首先仅使用固定度量来训练生成音频样本的神经网络。
根据一个实施例,对抗度量由4个判别神经网络得到。
根据一个实施例,判别神经网络在通过滤波器组对输入音频信号进行分解后操作。
根据一个实施例,每个判别神经网络接收输入音频信号的一个或多个随机窗口版本作为输入。
根据一个实施例,对每个判别神经网络重复多次随机窗口的采样。
根据一个实施例,对于每个判别神经网络,采样随机窗口的次数与输入音频样本的长度成比例。
具体实施方式
图6示出了音频发生器10的示例,其可以例如根据StyleMelGAN生成(例如,合成)音频信号(输出信号)16。输出音频信号16可以基于输入信号14(也称为潜在信号,并且可以是噪声,例如白噪声)和目标数据12(也称为“输入序列”)生成。例如,目标数据12可以包括(例如是)谱图(例如,梅尔谱图),该梅尔谱图提供例如将时间样本序列映射到梅尔刻度上。另外或可替代地,目标数据12可以包括(例如是)比特流。例如,目标数据可以是或包括将在音频中再现的文本(例如,文本到语音)。通常要对目标数据12进行处理,以获得可被人类听者识别为自然的语音。输入信号14可以是噪声(其本身不携带有用信息),例如白噪声,但是,在发生器10中,从噪声中提取的噪声向量被样式化为具有由目标数据12调节的声学特征的噪声向量(例如在77处)。最后,输出音频信号16将被人类听众理解为语音。如图1所示,噪声向量14可以是128x1向量(一个单个样本,例如时域样本或频域样本,以及128个通道)。在其他示例中可使用其他长度的噪声向量14。
第一处理块50如图6所示。如图所示(例如,在图1中),第一处理块15可以由多个块(在图1中,块50a、50b、50c、50d、50e、50f、50g、50h)中的每一个实例化。块50a-50h可被理解为形成一个单个块40。将示出,在第一处理块40、50中,可学习层(例如71、72、73)的条件集可用于处理目标数据12和/或输入信号14。因此,可以在训练期间例如通过卷积获得条件特征参数74,75(在图3中也称为gammaγ和betaβ)。因此,可学习层71-73可以是学习网络的权重层的一部分,或者更一般地说,是另一个学习结构。第一处理块40、50可以包括至少一个样式元件77。至少一个样式元件77可以输出第一输出数据69。至少一个样式元件77可将条件特征参数74、75应用于输入信号14(潜在的)或从输入信号14获得的第一数据15。
每个块50处的第一输出数据69位于多个通道中。音频发生器10可以包括第二处理块45(在图1中示出为包括块42、44、46)。第二处理块45可以被配置为组合第一输出数据69(作为第二输入数据或第二数据被输入)的多个通道47,以在一个单个通道中但在采样序列中获得输出音频信号16。
“通道”不是在立体声的背景下理解的,而是在神经网络(例如卷积神经网络)的背景下理解的。例如,输入信号(例如潜在噪声)14可以在128个通道中(在时域的表示中),因为提供了通道序列。例如,当信号具有176个采样和64个通道时,可以将其理解为176列64行的矩阵,而当信号具有352个采样和64个通道时,可以将其理解为352列64行的矩阵(其他示意图也是可能的)。因此,所生成的音频信号16(在图1中生成1x22528行矩阵)可以理解为单声道信号。如果要生成立体声信号,则只需对每个立体声通道重复公开的技术,以获得随后被混合的多个音频信号16。
至少原始输入信号14和/或生成的语音16可以是向量。相反,每个块30和50a-50h,42,44的输出通常具有不同的维度。第一数据可具有低于音频信号的第一维度或至少一个维度。第一数据可以具有低于音频信号的所有维度上的样本总数。第一数据可以具有比音频信号低一个维度,但具有比音频信号多的多个通道。在每个块30和50a-50h,可以对从噪声14向语音16演变的信号进行上采样。例如,在50a-50h块中第一块50a之前的上采样块30处,执行88次上采样。上采样的示例可以包括,例如,以下序列:1)相同值的重复,2)插入零,3)另一个重复或插入零+线性滤波,等等。
生成的音频信号16通常可以是单通道信号(例如1x22528)。如果需要多个音频通道(例如,用于立体声播放),则所要求的程序原则上应多次迭代。
类似地,目标数据12原则上也可以在一个单通道中(例如,如果它是文本)或在多个通道中(例如,在谱图中)。在任何情况下,可以对其进行上采样(例如,以2的因子、2的幂、2的倍数或大于2的值)以适应沿后续层(50a-50h,42)演变的信号的维度(59a,15,69),例如,以获得适应于信号维度的维度中的条件特征参数74,75。
当第一处理块50在多个块50a-50h中实例化时,例如,对于多个块50a-50h,通道数量可以保持相同。第一数据可具有低于音频信号的第一维度或至少一个维度。第一数据可以具有低于音频信号的所有维度上的样本总数。第一数据可以具有比音频信号低的一个维度,但具有比音频信号多的多个通道。
在随后的块处的信号可以具有彼此不同的维度。例如,样本可以被越来越多次地采样,例如,从88个样本到最后一个块50h处的22528个样本。类似地,目标数据12也在每个处理块50处被上采样。因此,条件特征参数74、75可适应待处理信号的样本数量。因此,目标数据12提供的语义信息在随后的层50a-50h中不丢失。
要理解的是,可以根据生成对抗网络(GAN)的范例执行示例。GAN包括GAN发生器11(图1)和GAN鉴别器100(图2)。GAN发生器11试图生成尽可能接近真实信号的音频信号16。GAN鉴别器100应识别生成的音频信号是真实的(如图2中的真实音频信号104)还是假的(如生成的音频信号16)。GAN发生器11和GAN鉴别器100都可以被获得为神经网络。GAN发生器11应使损耗最小化(例如,通过梯度方法或其他方法),并通过考虑GAN鉴别器100的结果来更新条件特征参数74,75。GAN鉴别器100应减少自身的鉴别损失(例如,通过梯度的方法或其他方法),并更新其自身的内部参数。因此,训练GAN发生器11以提供越来越好的音频信号16,而训练GAN鉴别器100从GAN发生器11生成的假音频信号中识别真实信号16。一般而言,可以理解,GAN发生器11可以包括发生器10的功能,而至少不包括GAN鉴别器100的功能。因此,在上述大部分内容中,可以理解,除了鉴别器100的特征外,GAN发生器11和音频发生器10可以具有或多或少相同的特征。音频发生器10可以包括作为内部组件的鉴别器100。因此,GAN发生器11和GAN鉴别器100可以共同构成音频发生器10。在不存在GAN鉴别器100的示例中,音频发生器10可以由GAN发生器11唯一地构成。
正如“可学习层的条件集”所解释的那样,音频发生器10可以根据条件GAN的范例获得,例如基于条件信息。例如,条件信息可以由目标数据(或其上采样版本)12构成,从中训练层71-73(权重层)的条件集并获得条件特征参数74,75。因此,样式元件77受可学习层71-73限制。
这些示例可以基于卷积神经网络。例如,可以是3x3矩阵(或4x4矩阵等)的小矩阵(例如,滤波器或核)沿着更大的矩阵进行卷积(褶积)(例如,通道x采样潜在或输入信号和/或谱图和/或谱图或上采样谱图或更一般的目标数据12),例如暗示滤波器(核)的元素和更大的矩阵(激活图,或激活信号)的元素之间的组合(例如,乘积的乘法和和;点积等)。在训练期间,获得(学习)滤波器(核)的元素,这些元素是使损失最小化的元素。在推理期间,使用在训练期间获得的滤波器(核)的元素。卷积的示例位于块71-73、61a、61b、62a、62b(见下文)。在块有条件(如图3中的块60)的情况下,则卷积不一定应用于从输入信号14经过中间信号59a(15)、69等向音频信号16演进的信号,而可以应用于目标信号14。在其他情况下(例如,在块61a、61b、62a、62b处),卷积可以不是有条件的,并且可以例如直接应用于从输入信号14向音频信号16演进的信号59a(15)、69等。从图3和图4可以看出,条件卷积和无条件卷积都可以被执行。
在一些示例中,可以有卷积下游的激活函数(ReLu,TanH,softmax等),其可以根据预期效果而有所不同。ReLu可以映射0和卷积时得到的值之间的最大值(在实际中,如果是正的,保持相同的值,如果是负的,输出0)。渗漏ReLu可以在x>0时输出x,在x≤0时输出0.1*x,x是卷积得到的值(在一些示例中可以使用另一个值代替0.1,例如在0.1±0.05范围内的预定值)。TanH(可以在例如在块63a和/或63b处实现)可以提供卷积时获得的值的双曲正切,例如:
TanH(x)=(e
其中x是卷积时获得的值(例如在块61a和/或61b处)。Softmax(例如,在块64a和/或64b处应用)可以将指数应用于卷积的结果的元素中的每个元素(例如,在块62a和/或62b中获得的),并通过除以指数的和来对其进行归一化。Softmax(例如在64a和/或64b处)可以为矩阵中由卷积(例如在62a和/或62b处)生成的条目提供概率分布。在应用激活函数之后,在一些示例中可以执行池化步骤(未在图中示出),但在其他示例中可以避免此步骤。
图4示出了,也可以有softmax门控TanH函数,例如,将TanH函数的结果(例如,在63a和/或63b处获得)与softmax函数的结果(例如,在64a和/或64b处获得)相乘(例如,在65a和/或65b处获得)。
多层卷积(例如可学习层的条件集)可以是一个接一个和/或彼此并行的,以提高效率。如果提供了激活函数和/或池化的应用,它们也可以在不同的层中重复(或者,例如,可以将不同的激活函数应用于不同的层)。
输入信号14(例如噪声)在不同的步骤被处理,以成为生成的音频信号16(例如在由可学习层71-73的条件集设置的条件下,以及在由可学习层71-73的条件集学习的参数74、75上)。因此,输入信号应被理解为在处理方向上(图6中从14到16)朝着成为生成的音频信号16(例如语音)演进。将基本上基于目标信号12和训练来生成条件(以达到最优选的参数集74,75)。
还需要注意的是,输入信号(或其任何演进)的多个通道可以被认为具有一组可学习层和与之相关的样式元件。例如,矩阵74和75的每一行与输入信号(或其演进之一)的特定通道相关联,并且因此从与特定通道相关联的特定可学习层获得。类似地,可以认为样式元件77由多个样式元件组成(每个元件用于输入信号x、c、12、76、76′、59、59a、59b等的每一行)。
图1示出了音频发生器10的示例(其可以体现图6的音频发生器10),并且其还可以包括(例如是)GAN发生器11。目标数据12被指示为梅尔谱图,输入信号14可以是潜在噪声,并且信号16的输出可以是语音(如上所述,尽管可能存在其他示例)。可以看出,输入信号14只有一个样本和128个通道。噪声向量14可以在具有128个通道的向量中获得(但其他数字也是可能的),并且可以具有零均值正态分布。噪声向量可以遵循公式z~
将示出,噪声向量14被逐步处理(例如,在50a-50h、42、44、46等块),以便从例如噪声14演进到例如语音16(例如,将用不同的信号15、59a、x、c、76′、79、79a、59b、79b、69等指示演进信号)。
在块30,输入信号(噪声)14可以被上采样为具有88个样本(不同的数量是可能的)和64个通道(不同的数量是可能的)。
可以看出,8个处理块50a、50b、50c、50d、50e、50f、50g、50h(共同体现图6中的第一处理块50)可以通过执行上采样(例如,最大2-上采样)来增加样本数量。沿着块50a、50b、50c、50d、50e、50f、50g、50h,通道数量可以始终保持相同(例如,64)。例如,样本可以是每秒(或其他时间单位)的样本数量:我们可以在50h块的输出处获得超过22kHz的声音。
块50a-50h(50)中的每个也可以是TADEResBlock(TADE(时间自适应去归一化)上下文中的残差块)。值得注意的是,每个块50a-50h可以以目标数据12(例如,梅尔谱图)为条件。
在第二处理块45(图1和图6),可以获得只一个单个通道,并且在一个单个维度上获得多个样本。可以看出,使用另一个TADEResBlock42(块50a-50h的进一步)(减少到一个单个通道)。然后,可以执行卷积层44和激活函数(例如,可以是TanH46)。之后,获得语音16(并且可以被存储、呈现、编码等)。
例如,块50a-50h中的至少一个(或在具体示例中,它们中的每一个)可以是残差块。残差块仅对从输入信号14(例如噪声)演进到输出音频信号16的信号的残差分量进行预测。残差信号只是主信号的一部分(残差分量)。例如,可以将多个残差信号相互相加,以获得最终的输出音频信号16。
图4示出块50a-50h(50)中的一个的示例。可以看出,每个块50被输入第一数据59a,该第一数据59a是输入信号14(或其上采样版本,例如由上采样块30输出的上采样版本)或是来自前一个块的输出。例如,块50b可以被输入有块50a的输出;块50c可以被输入有块50b的输出,等等。
因此,在图4中可以看到,提供给块50(50a-50h)的第一数据59a被处理,并且其输出为输出信号69(将作为输入提供给随后的块)。如线59a’所指示的,输入到第一处理块50a-50h(50)的第一数据59a的主要分量实际上绕过了第一处理块50a-50h(50)的大部分处理。例如,块60a、61a、62a、63a、65a、60b、61b、62b、63b、64b和65b被旁路线59a’绕过。随后,第一数据59a将在加法器65c(如图4所示,但未示出)处加到残差部分64b'。这种旁路线59a’和加法器65c处的加法可以被理解为实例化这样的事实,即每个块50(50a-50h)处理对残差信号的操作,然后将其添加到信号的主要部分。因此,块50a-50h中的每个可以被认为是残差块。
值得注意的是,加法器65c处的加法不一定需要在残差块50(50a-50h)内执行。可以执行多个残差信号65b’(每个信号由每个残差块50a-50h输出)的单个相加(例如,在第二处理块45中的加法器块处)。因此,不同的残差块50a-50h可以彼此并行操作。
在图4的示例中,每个块50可以重复其卷积层两次(例如,首先在副本600处,包括块60a、61a、62a、63a、64a、65a中的至少一个,并获得信号59b;然后,在副本601处,包括60b、61b、62b、63b、64b、65b块中的至少一个,并获取信号65b',信号65b'可以添加到主分量59a'中)。
对于每个副本(600,601),将可学习层71-73的条件集和样式元件77应用于从输入信号16演进到音频输出信号16的信号(例如,每个块50两次)。在TADE块60a处对第一副本600处的第一数据59a执行第一时间自适应去归一化(TADE)。在目标数据12设定的条件下,TADE块60a对第一数据59a(输入信号或,例如,经处理的噪声)进行调制。在第一TADE块60a中,可以在上采样块70处执行目标数据12的上采样,以获得目标数据12的上采样版本12’。上采样可以通过非线性插值获得,例如,使用因子2、2的幂、2的倍数或大于2的其他值。因此,在一些示例中,可以使谱图12'具有与要以谱图为条件的信号(76,76',x,c,59,59a,59b等)相同的维度(例如符合)。对经处理的噪声(第一数据)(76、76′、x、c、59、59a、59b等)应用样式信息可以在块77(样式元件)处执行。在随后的副本601中,可以将另一个TADE块60b应用于第一副本600的输出59b。图3提供了TADE模块60(60a,60b)的示例(另见下文)。在调制第一数据59a之后,进行卷积61a和62a。随后,还执行激活函数TanH和softmax(例如构成softmax门控TanH函数)(63a,64a)。激活函数63a和64a的输出在乘法器块65a处相乘(例如,以实例化门控),以获得结果59b。如果使用两个不同的副本600和601(或使用两个以上副本),则60a,61a,62a,63a,64a,65a的通路被重复。
在示例中,分别位于TADE块60a和60b的下游的61b和62b处的第一和第二卷积可以以核中相同数量的元素执行(例如,9,例如,3x3)。然而,第二卷积61b和62b可以有2的膨胀因子。在示例中,卷积的最大膨胀因子可以是2。
图3示出了TADE块60(60a,60b)的示例。可以看出,目标数据12可以被上采样,例如,以符合输入信号(或由此演进而来的信号,如59、59a、76’,也称为潜在信号或激活信号)。在这里,可以执行卷积71,72,73(目标数据12的中间值用71'指示),以获得参数γ(gamma,74)和β(beta,75)。在71,72,73的任何处的卷积也可能需要整流线性单元ReLu,或渗漏整流线性单元(渗漏ReLu)。参数γ和β可以具有与激活信号相同的维度(被处理以从输入信号14演变为生成的音频信号16的信号,在归一化形式下在这里表示为x,59或76')。因此,当激活信号(x,59,76′)具有两个维度时,γ和β(74和75)也具有两个维度,并且它们中的每个与激活信号可重叠(γ和β的长度和宽度可以与激活信号的长度和宽度相同)。在样式元件77处,将条件特征参数74和75应用于激活信号(第一数据59a或由乘法器65a输出的59b)。然而,应当注意,激活信号76’可以是第一数据59,59a,59b(15)的归一化版本(在实例归一化块76处为10)。还需要注意的是,样式元件77中示出的公式(γx+β)可以是逐元素乘积,而不是卷积乘积或点积。
在样式元件77之后,输出信号。卷积72和73的下游不一定有激活函数。还应注意,参数γ(74)可被理解为方差,以及β(75)可被理解为偏差。此外,图1中的块42可以实例化为图3中的块50。然后,例如,卷积层44将通道数量减少到1,然后,执行TanH 56以获得语音16。
图7示出了块50a-50h中的一个的副本600和601中的一个中演进的示例。
目标数据14(例如梅尔谱图);以及
潜在噪声c(12),也用59a指示,或者作为从输入信号12向生成的音频信号16演变的信号。
可以执行以下程序:
1)谱图12经过以下步骤中的至少一个:
a.在上采样块70处被采样,以得到上采样谱图12′;
b.在卷积层71-73(权重层的一部分)处,执行卷积(例如,沿着上采样谱图12'卷积核12a);
C.获得(学习得到)γ(74)和β(75);
D.将γ(74)和β(75)应用(例如通过卷积)到从输入信号14和生成的音频信号16演进而来的潜在信号59a(15)。
在训练期间,可以使用图2中的GAN鉴别器100,以获得例如应用于输入信号12(或其处理和/或归一化版本)的参数74和75。训练可以在推理之前执行,并且参数74和75可以,例如,存储在非暂时性存储器中并随后使用(然而,在一些示例中,参数74或75也落在线计算)。
GAN鉴别器100具有学习如何从真实输入信号(例如,真实语音)104中识别生成的音频信号(例如,如上所述合成的音频信号16)的作用。因此,GAN鉴别器100的作用主要在训练期间发挥(例如,用于学习参数72和73),并且在GAN发生器11(可以看作是没有GAN鉴别器100的音频发生器10)的作用的对抗位置被看到。
一般来说,GAN鉴别器100可以被输入由GAN发生器10合成的音频信号16和例如通过麦克风获得的真实音频信号(例如,真实语音)104,并处理这些信号以获得要最小化的度量(例如,损耗)。实际音频信号104也可以被认为是参考音频信号。在训练期间,可以重复如上所述的用于合成语音16的操作,例如多次,以获得例如参数74和75。
在示例中,可以不分析整个参考音频信号104和/或整个生成的音频信号16,而只分析其中的一部分(例如,一部分、切片、窗口等)。获得从生成的音频信号16和从参考音频信号104采样的随机窗口(105a-105d)中生成的信号部分。例如,可以使用随机窗口函数,使得不会先验地预定义将使用哪个窗口105a,105b,105c,105d。此外,窗口的数量不一定是四个,可以有所不同。
在窗口(105a-105d)内,可以应用PQMF(正交镜像滤波器组(PQMF))110。因此,获得子带120。因此,获得生成的音频信号(16)的表示或参考音频信号(104)的表示的分解(110)。
可使用评估块130来执行评估。可以使用多个评估器132a、132b、132c、132d(以132复合指示)(可以使用不同的数量)。通常,每个窗口105a、105b、105c、105d可以被输入到相应的评估器132a、132b、132c、132d。随机窗口(105a-105d)的采样可以对每个评估器(132a-132d)重复多次。在示例中,针对每个评估器(132a-132d)采样随机窗口(105a-105d)的次数可以与生成的音频信号的表示或参考音频信号(104)的表示的长度成比例。因此,每个评估器(132a-132d)可以作为输入接收生成的音频信号(16)的表示或参考音频信号(104)的表示的一个或多个部分(105a-105d)。
每个评估器132a-132d本身可以是神经网络。特别是,每个评估器132a-132d可以遵循卷积神经网络的范例。每个评估器132a-132d可以是残差评估器。每个评估器132a-132d可以具有在训练期间调整的参数(例如权重)(例如,以类似于上面解释的那些之一的方式)。
如图2所示,每个评估器132a-132d也执行下采样(例如,按4或按另一个下采样比)。对于每个评估器132a-132d,通道数量增加(例如,增加4,或者在某些示例中增加与下采样比相同的数字)。
在评估器的上游和/或下游,可以提供卷积层131和/或134。上游卷积层131可以具有,例如,维度为15的核(例如,5x3或3x5)。下游卷积层134可以有,例如,维度为3的核(例如,3x3)。
在训练期间,损失函数(对抗损失)140可以被优化。损失函数140可以包括在生成的音频信号(16)和参考音频信号(104)之间的固定度量(例如在预训练步骤期间获得)。固定度量可以通过计算生成的音频信号(16)和参考音频信号(104)之间的一个或多个频谱失真来获得。这种失真可以通过考虑以下因素来测量:
-生成的音频信号(16)和参考音频信号(104)的频谱表示的幅度或对数幅度,和/或
-不同的时间或频率分辨率。
在示例中,对抗性损失可以通过由一个或多个评估器(132)随机提供和评估生成的音频信号(16)的表示或参考音频信号(104)的表示来获得。评估可包括将所提供的音频信号(16,132)分类为预定数量的类,所述预定数量的类指示音频信号(14,16)的自然度的预训练分类水平。例如,预定数量的类可以是“真实”vs“假的”。
损失的示例可以如下获得:
其中:
x是真实的语音104,
z为潜在噪声14(或更一般地,输入信号或第一数据或潜在),
s是x的梅尔谱图(或更一般地,目标信号12)。
D(…)是评估器在概率分布方面的输出(D(…)=0表示“肯定是假的”,D(…)=1表示“肯定是真的”)。
谱重建损失
其中每个i是每个评估器132a-132d处的贡献(例如,每个评估器(132a-132d)提供不同的D
在训练期间,对
可以执行其他类型的最小化。
一般来说,最小对抗性损失140与待应用于样式元件77的最佳参数(例如,74、75)相关联。
在下文中,将使用附带的描述详细地描述本公开的实例。在下面的描述中,为了对本公开的实施例提供更彻底的解释,将描述许多细节。然而,对于本领域技术人员来说,可以在没有这些具体细节的情况下实施其他实施例是显而易见的。描述的不同实施例的特征可以彼此组合,除非相应组合的特征是互斥的或明确排除这种组合。
应当指出的是,相同或相似的元件或具有相同功能的元件可以具有相同或相似的附图标记,或者被相同地指定,对具有相同或相似附图标记的元件进行重复描述,或者通常省略相同或相似附图比较的元件。具有相同或相似附图标记或被标记为相同的元件的描述是可互换的。
神经声码器在诸如文本到语音、语音编码和语音增强等许多应用中,已经证明在自然高质量语音的合成方面优于经典方法。第一个开创性的合成高质量语音的生成神经网络是WaveNet,此后不久,许多其他方法被开发出来。这些模型提供了先进的质量,但通常以非常高的计算成本和非常缓慢的合成。近年来出现了大量计算成本较低的语音生成模型。其中一些是现有模型的优化版本,而另一些则利用了与经典方法的集成。此外,还引入了许多全新的方法,通常依赖于GAN。大多数GAN声码器在GPU上提供非常快的生成,但代价是牺牲了合成的语音的质量。
这项工作的主要目标之一是提出一种GAN架构,我们称之为StyleMelGAN(可以在音频发生器10中实现),它可以以低计算成本和快速训练合成非常高质量的语音16。StyleMelGAN的发生器网络可能包含3.86M个可训练参数,并以22.05kHz的频率合成语音,比CPU上的实时速度快2.6倍,并且比在GPU上快超过54倍。例如,模型可以由8个上采样块组成,这些上采样块逐渐将低维噪声向量(例如图1中的30)变换为原始语音波形(例如16)。合成可以以目标语音的梅尔谱图为条件(或更一般地以目标数据12为条件),其可以经由时间自适应去归一化(TADE)层(60,60a,60b)插入每个发生器块(50a-50h)中。此插入条件特征的方法非常有效,并且据我们所知,这是音频领域的新方法。通过四个鉴别器132a-132d的集合来计算对抗损失(例如,通过图2的结构,在GAN鉴别器100中)(但在某些示例中可能有不同数量的鉴别器),每个鉴别器在可区分的伪正交镜像滤波器组(PQMF)110之后操作。这允许在训练期间分析语音信号(104或16)的不同频带。为了使训练更加鲁棒性和有利于推广,鉴别器(例如四个鉴别器132a-132d)不以发生器10使用的输入声学特征为条件,并且使用随机窗口(例如105a-105d)对语音信号(104或16)进行采样。
总之,提出了StyleMelGAN,这是一种低复杂度的GAN,用于经由TADE层(例如60,60a,60b)以梅尔谱图(例如12)为条件的高质量语音合成。发生器10可以高度并行化。发生器10可以是完全卷积的。上述发生器10可以使用PQMF多采样随机窗口鉴别器(例如132a-132d)的集合进行对抗训练,该PQMF多采样随机窗口鉴别器的集合可以通过多尺度频谱重建损失进行正则化。生成的语音的质量可以用客观的(例如,Fréchet分数)和/或主观的评估来评估。进行了两次听力测试,复制合成场景的MUSHRA测试和TTS场景的P.800ACR测试,都证实了StyleMelGAN达到了最先进的语音质量。
现有的神经声码器通常通过对最终波形的幅度进行建模,直接在时域中合成语音信号。这些模型大多是生成神经网络,即它们对自然语音信号中观察到的语音样本的概率分布进行建模。它们可以分为自回归和非自回归或并行,前者将分布明确地分解为条件分布的乘积,以及后者直接对联合分布进行建模。WaveNet、SampleRNN和WaveRNN等自回归模型已经被报道用于合成高感知质量的语音信号。一大类非自回归模型是归一化流之一,例如WaveGlow。混合方法是使用逆自回归流,其使用噪声潜在表示和目标语音分布之间的因式变换。以上的示例主要是指自回归神经网络。
GAN在音频方面的早期应用包括用于无条件语音生成的WaveGAN和用于音乐生成的GAN-Synth。MelGAN学习语音片段的梅尔谱图与其相应的时域波形之间的映射。它确保了比实时生成更快,并利用了由频谱重建损失正则化的多尺度鉴别器的对抗性训练。GAN-TTS是第一个使用独特的对抗性训练用于基于声学特征的语音生成的GAN声码器。它的对抗损失是由条件和无条件随机窗口鉴别器的集合计算的。并行WaveGAN使用发生器,在结构上与WaveNet类似,发生器使用由多尺度谱重建损失正则化的无条件鉴别器进行训练。在Multiband-MelGAN中使用了类似的思想,它分别生成目标语音的每个子带,从而节省了计算能力,然后使用合成PQMF得到最终波形。它的多尺度鉴别器评估全频带语音波形,并使用多频带尺度频谱重建损失进行正则化。该领域的研究非常活跃,我们可以引用最近的GAN声码器,诸如VocGAN和HooliGAN。
图1示出了在音频发生器10中实现的StyleMelGAN的发生器架构。发生器模型通过以梅尔谱图(或更一般地,目标数据)为条件12的渐进上采样(例如在50a-50h块),将噪声向量
图3示出了音频发生器10的一部分的结构,并示出了TADE块60(60a,60b)的结构。经由c⊙γ+β对输入激活c(76')进行自适应调制,其中⊙表示元素乘法(值得注意的是,γ和β具有激活图的相同维度;还注意到,c是图3中x的归一化版本,因此c⊙γ+β是xγ+β的归一化版本,也可以用x⊙γ+β表示)。在块77的调制之前,使用实例归一化层76。层76(归一化元件)可以将第一数据归一化为零均值和单位方差的正态分布。可以使用softmax门控Tanh激活函数(例如,图4中由块63a-64a-65a实例化的第一个,以及由块63b-64b-65b实例化的第二个),据报道,其性能优于整流线性单元ReLU函数。Softmax门控(例如,通过乘法65a和65b获得)允许在音频波形生成中产生较少的伪影。
图4示出了音频发生器10的一部分的结构,并示出了TADEResBlock50(可以是块50a-50h中的任何一个),它是发生器模型的基本构建块。完整的架构如图1所示。它包括8个上采样阶段50a-50h(在其他示例中,其他数字是可能的),包括,例如,TADEResBlock和以因子2对信号79b进行上采样的层601,加上一个最终激活模块46(如图1所示)。最终激活包括一个TADEResBlock42,然后是通道变化卷积层44,例如具有tanh非线性46。例如,这种设计允许使用64的通道深度进行卷积操作,从而节省复杂性。此外,这种上采样过程允许保持膨胀因子低于2。
图2示出了滤波器组随机窗口鉴别器(FB-RWD)的结构。StyleMelGAN可以使用多个(例如四个)鉴别器132a-132d进行它的对抗训练,其中在示例中,鉴别器132a-132d的架构没有平均池化下采样。此外,每个鉴别器(132a-132d)可以在从输入语音波形(104或16)切片的随机窗口(105a-105d)上操作。最后,每个鉴别器(132a-132d)可以分析通过分析PQMF(例如110)获得的输入语音信号(104或16)的子带120。更精确地说,在示例中,我们可以使用分别从从1秒的波形中提取的分别为512、1024、2048和4096个样本的选择随机段计算的1、2、4和8个子带。这使得能够在时域和频域两者中对语音信号(104或16)进行多分辨率对抗性评估。
众所周知,训练GAN是具有挑战性的。使用权重(例如74和75)的随机初始化,对抗性损失(例如140)可能导致严重的音频伪像和不稳定的训练。为了避免此问题,可以首先只使用由频谱收敛的误差估计和从不同STFT分析计算的对数幅度组成的频谱重建损失对发生器10进行预训练。以这种方式获得的发生器可以生成非常调性的信号,尽管在高频中具有显著的拖尾。尽管如此,这仍然是对抗性训练的一个很好的起点,与直接从完整的随机噪声信号开始相比,对抗性训练可以受益于更好的谐波结构。然后对抗性训练通过去除音调效果和锐化拖尾的频带来驱动生成自然度。铰链损失140用于评估对抗度量,如下面的公式1所示。
(1)
其中x为真实语音104,z为潜在噪声14(或更一般地为输入信号),以及s为x(或更一般地为目标信号12)的梅尔谱图。值得注意的是,频谱重建损失
(2)
权重归一化可以应用于G(或更准确地说是GAN发生器11)和D(或更准确地说是鉴别器100)中的所有卷积操作。在实验中,StyleMelGAN使用一个NVIDIATesla V100 GPU在LJSpeech语料库上以22050Hz的频率进行训练。对数幅度梅尔谱图是为80个梅尔波段计算的,并被归一化为具有零平均值和单位方差。当然,这只是一种可能;其他值也同样可能。使用Adam优化器对发生器进行100000步的预训练,学习率(lr
实验中使用的模型如下:
·WaveNet用于复制合成和文本到语音的目标实验
·PWGAN用于复制合成和文本到语音的目标实验
·MelGAN用于复制合成的目标实验,具有客观评估
·WaveGlow用于复制合成的目标实验
·变换器.v3,用于文本到语音的目标实验
已经针对上述预训练的基线声码器模型对StyleMelGAN进行了客观和主观评估。音频TTS输出的主观质量经由听众在受控环境中执行的P.800听力测试进行评估。该测试集包含同一说话者记录的未见过的话语,这些话语是从LibriVox在线语料库中随机选择的。这些话语测试了模型的泛化能力,因为它们是在略有不同的条件下记录的,并且呈现不同的韵律。使用GriffinLim算法重新合成原始话语,并使用这些话语代替通常的锚定条件。这有利于使用整体评分量表。
传统的客观测量方法诸如PESQ和POLQA对由神经声码器生成的语音波形评估不可靠。相反,使用了有条件的Fréchet深度语音距离(cFDSD)。以下不同神经声码器的cFDSD分数示出,StyleMelGAN显著优于其他模型。
·MelGAN 训练cFDSD 0.235 测试cFDSD 0.227
·PWGAN 训练cFDSD 0.122 测试cFDSD 0.101
·WaveGlow 训练cFDSD 0.099 测试cFDSD 0.078
·WaveNet 训练cFDSD 0.176 测试cFDSD 0.140
·StyleMelGAN 训练cFDSD 0.044 测试cFDSD 0.068
可以看出,StyleMelGAN优于其他对抗性和非对抗性声码器。
由15名专家听众组成的小组进行了MUSHRA听力测试。之所以选择这种类型的测试,是因为它可以更精确地评估生成的语音的质量。锚是使用Griffin-Lim算法的Py-Torch实现生成的,具有32次迭代。图5示出了MUSHRA测试的结果。可以看出,StyleMelGAN显著优于其他声码器约15个MUSHRA点。结果还示出,WaveGlow生成的输出质量与WaveNet相当,同时与Parallel WaveGAN不相上下。
音频TTS输出的主观质量可以经由由31名听众在受控环境中执行的P.800ACR听力测试来评估。ESPNET的变换器.v3模型可用于生成测试集的转录的梅尔谱图。同样的Griffin-Lim锚也可以被添加,因为这有利于使用整体评级量表。
以下不同TTS系统的P800平均意见分数(MOS)示出了类似的发现,StyleMelGAN明显优于其他模型:
·GriffinLim P800 MOS:1.33+/-0.04
·变换器+Parallel WaveGAN P800 MOS:3.19+/-0.07
·变换器+WaveNet P800 MOS:3.82+/-0.07
·变换器+StyleMelGAN P800 MOS:4.00+/-0.07
·记录 P800 MOS:4.29+/-0.06
下面示出了不同并行声码器模型的以实时因子(RTF)的生成速度和参数数量。StyleMelGAN在生成质量和推理速度之间提供了明确的折衷。
这里给出了对于所研究的各种模型,在CPU(例如Intel Core i7-6700 3.40GHz)和GPU(例如Nvidia GeForce GTX1060)上生成的参数的数量和实时因子。
·Parallel WaveGAN 参数:1.44M CPU:0.8x GPU:17x
·MelGAN 参数:4.26M CPU:7x GPU:110x
·StyleMelGAN 参数:3.86M CPU:2.6x GPU:54x
·WaveGlow 参数:80M- GPU:5x
最后,图5示出了MUSHRA专家听力测试的结果。可以看出,StyleMelGAN优于现有技术的模型。
此工作提出了StyleMelGAN,一种用于高保真语音合成的轻量级和高效的对抗性声码器。该模型使用时间自适应归一化(TADE)向所有生成层提供充分和准确的条件,而不是仅向第一层提供调节。对于对抗性训练,发生器与滤波器组随机窗口鉴别器竞争,后者在时域和频域两者中提供语音信号的多尺度表示。StyleMelGAN在CPU和GPU上的操作速度比实时速度快一个数量级。客观和主观实验结果表明,StyleMelGAN显著优于先前的对抗式声码器以及自回归、基于流和基于扩散的声码器,为神经波形生成提供了新的最先进的基线。
综上所述,本文所述的实施例可以任选地由本文所述的任何要点或方面补充。然而,需要注意的是,本文描述的要点和方面可以单独使用或组合使用,并且可以单独和组合地引入到本文描述的任何实施例中。
虽然在装置的上下文中描述了一些方面,但很明显,这些方面也代表了对相应方法的描述,其中设备或其部分对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也表示对相应装置或装置的一部分或相应装置的项目或特征的描述。一些或所有的方法步骤可以由(或使用)硬件装置来执行,例如,微处理器、可编程计算机或电子电路。在一些实施例中,最重要的方法步骤中的一个或多个可以通过这样的装置来执行。
根据某些实施要求,本发明的实施例可以在硬件或软件中实现。该实现可以使用数字存储介质来执行,例如软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM或闪存,这些介质具有存储在其上的电子可读控制信号,其与可编程计算机系统协作(或能够协作),从而执行相应的方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,其能够与可编程计算机系统协作,从而执行本文所述的方法之一。
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,该程序代码可用于执行所述方法之一。程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的用于执行本文所述方法之一的计算机程序。
换句话说,因此,本发明方法的实施例是,具有当计算机程序在计算机上运行时,用于执行本文所述方法之一的程序代码的计算机程序。
因此,本发明方法的进一步实施例是数据载体(或数字存储介质,或计算机可读介质),包括记录在其上的用于执行本文所述方法之一的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非暂时的。
因此,本发明方法的进一步实施例是表示用于执行本文所述方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如被配置为经由数据通信连接传送,例如经由互联网传送。
进一步的实施例包括处理装置,例如计算机或可编程逻辑器件,其被配置为或适应于执行本文所述的方法之一。
进一步实施例包括在其上安装有用于执行本文所述方法之一的计算机程序的计算机。
根据本发明的进一步实施例包括被配置为将用于执行本文所述方法之一的计算机程序(例如,电子地或光学地)传送到接收器的装置或系统。例如,接收器可以是计算机、移动设备、存储器设备等。装置或系统可例如包括用于将计算机程序传送到接收器的文件服务器。
在一些实施例中,可编程逻辑器件(例如现场可编程门阵列)可用于执行本文所述方法的一些或全部功能。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,方法优选由任何硬件装置执行。
本文所述的装置可以使用硬件装置来实现,或者使用计算机来实现,或者使用硬件装置和计算机的组合来实现。本文描述的装置,或本文描述的装置的任何组件,可以至少部分地在硬件和/或软件中实现。本文所述的方法可以使用硬件装置,或使用计算机,或使用硬件装置和计算机的组合来执行。本文描述的方法,或本文描述的方法的任何部分,可以至少部分地通过硬件和/或软件来执行。
上述所描述的实施例仅是对本发明的原理进行说明。应当理解,本文所述的布置和细节的修改和变化对于本领域技术人员将是显而易见的。因此,其意图仅受即将到来的专利权利要求的范围的限制,而不受通过本文的实施例的描述和解释方式所提供的具体细节的限制。
A.van den Oord,S.Dieleman,H.Zen,K.Simonyan,et al.,“WaveNet:AGenerative Model for Raw Audio,”arXiv:1609.03499,2016.
R.Prenger,R.Valle,and B.Catanzaro,“Waveglow:A Flow-based GenerativeNetwork for Speech Synthesis,”in IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP),2019,pp.3617–3621.
S.Mehri,K.Kumar,I.Gulrajani,R.Kumar,et al.,“SampleRNN:AnUnconditional End-to-End Neural Audio Generation Model,”arXiv:1612.07837,2016.
N.Kalchbrenner,E.Elsen,K.Simonyan,S.Noury,
et al.,“Efficient neural audio synthesis,”
arXiv:1802.08435,2018.
A.van den Oord,Y.Li,I.Babuschkin,K.Simonyan,et al.,“Parallel WaveNet:Fast High-Fidelity Speech Synthesis,”in Proceedings of the 35th ICML,2018,pp.3918–3926.
J.Valin and J.Skoglund,“LPCNET:Improving Neural Speech Synthesisthrough Linear Prediction,”in IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP),2019,pp.5891–5895.
K.Kumar,R.Kumar,de T.Boissiere,L.Gestin,et al.,“MelGAN:GenerativeAdversarial Networks for Con-ditional Waveform Synthesis,”in Advances inNeurIPS 32,pp.14910–14921.2019.
R.Yamamoto,E.Song,and J.Kim,“Parallel WaveGAN:A Fast WaveformGeneration Model Based on Genera-tive Adversarial Networks with Multi-Resolution Spec-trogram,”in IEEE International Conference on Acous-tics,Speech and Signal Processing(ICASSP),2020,pp.6199–6203.
M.Bin′kowski,J.Donahue,S.Dieleman,A.Clark,et al.,“High FidelitySpeech Synthesis with Adversarial Networks,”arXiv:1909.11646,2019.
T.Park,M.Y.Liu,T.C.Wang,and J.Y.Zhu,“Se-mantic Image Synthesis WithSpatially-Adaptive Nor-malization,”in Proc.of the IEEE Conference on ComputerVision and Pattern Recognition(CVPR),2019.
P.Govalkar,J.Fischer,F.Zalkow,and C.Dittmar,“A Comparison of RecentNeural Vocoders for Speech Signal Reconstruction,”in Proceedings of the ISCASpeech Synthesis Workshop,2019,pp.7–12.
I.Goodfellow,J.Pouget-Abadie,M.Mirza,B.Xu,et al.,“GenerativeAdversarial Nets,”in Advances in NeurIPS 27,pp.2672–2680.2014.C.Donahue,J.McAuley,and M.Puckette,“Adversarial Audio Synthesis,”arXiv:1802.04208,2018.
J.Engel,K.K.Agrawal,S.Chen,I.Gulrajani,et al.,“GANSynth:AdversarialNeural Audio Synthesis,”arXiv:1902.08710,2019.
G.Yang,S.Yang,K.Liu,P.Fang,et al.,“Multiband MelGAN:Faster WaveformGeneration for High-Quality Text-to-Speech,”arXiv:2005.05106,2020.
J.Yang,J.Lee,Y.Kim,H.Cho,and I.Kim,“VocGAN:A High-Fidelity Real-timeVocoder with a Hierarchically-nested Adversarial Network,”arXiv:2007.15256,2020.Jungil Kong,Jaehyeon Kim,and Jaekyoung Bae,“Hifi-GAN:Generativeadversarial networks for efficient and high fidelity speech synthesis,”arXivpreprint arXiv:2010.05646,2020.
D.Ulyanov,A.Vedaldi,and V.Lempitsky,“Instance normalization:Themissing ingredient for fast styliza-tion,”arXiv:1607.08022,2016.
A.Mustafa,A.Biswas,C.Bergler,J.Schottenhamml,and A.Maier,“Analysis byAdversarial Synthesis-A Novel Approach for Speech Vocoding,”in Proc.Inter-speech,2019,pp.191–195.
T.Q.Nguyen,“Near-perfect-reconstruction pseudo-QMF banks,”IEEETransactions on Signal Processing,vol.42,no.1,pp.65–76,1994.
T.Salimans and D.P.Kingma,“Weight normalization:A simplereparameterization to accelerate training of deep neural networks,”inAdvances in NeurIPS,2016,pp.901–909.
K.Ito and L.Johnson,“The LJ Speech Dataset,”
D.P.Kingma and J.Ba,“Adam:A method for stochas-tic optimization,”arXiv:1412.6980,2014.
T.Hayashi,R.Yamamoto,K.Inoue,T.Yoshimura,et al.,“Espnet-TTS:Unified,reproducible,and inte-gratable open source end-to-end text-to-speechtoolkit,”in IEEE International Conference on Acoustics,Speech and SignalProcessing(ICASSP).IEEE,2020,pp.7654–7658.
A.Gritsenko,T.Salimans,R.van den Berg,J.Snoek,and N.Kalchbrenner,“ASpectral Energy Distance for Parallel Speech Synthesis,”arXiv:2008.01160,2020.
“P.800:Methods for subjective determination of trans-missionquality,”Standard,International Telecommuni-cation Union,1996.
- 音频发生器及用于生成音频信号和训练音频发生器的方法
- 混合控制台、音频信号发生器、用于提供音频信号的方法