掌桥专利:专业的专利平台
掌桥专利
首页

使用神经网络的文本到语音合成的无监督对齐

文献发布时间:2023-06-19 19:27:02


使用神经网络的文本到语音合成的无监督对齐

背景技术

语音合成通常以自回归方式建模,其中统计模型用于基于输入文本序 列生成输出语音。这些模型预测输入文本序列的不同音素(phoneme)长 度,但单个预测不佳的音频帧可能会导致整个合成语音序列中的额外错误。 自回归模型的扩展性也很差,尤其是随着序列长度的增加。此外,将自回 归模型集成到并行架构中的尝试已经产生了它们自己的问题,例如音频- 文本对齐的问题。此外,自回归模型可能缺乏合成语音结果的多样性,其 中输入文本序列在每次执行模型时都会导致相似的输出,这在许多应用中 可能是不希望的。

附图说明

根据本公开的各个实施例将参照附图进行描述,在附图中:

图1示出了根据至少一个实施例的用于语音合成的管线的示例;

图2A示出了根据至少一个实施例的用于语音合成的训练管线的示例;

图2B示出了根据至少一个实施例的用于语音合成的推理管线的示例;

图2C示出了根据至少一个实施例的用于语音合成的对齐架构的示例;

图3示出了根据至少一个实施例的对齐注意矩阵(alignment attentionmatrice)的示例;

图4A示出了根据至少一个实施例的示例音素分布;

图4B示出了根据至少一个实施例的示例音调(pitch)分布;

图5示出了根据至少一个实施例的用于语音合成的示例环境;

图6A示出了根据至少一个实施例的用于生成合成语音的过程的示例 流程图;

图6B示出了根据至少一个实施例的用于生成合成语音的过程的示例 流程图;

图6C示出了根据至少一个实施例的用于训练文本到语音系统的过程 的示例流程图;

图7示出了根据至少一个实施例的示例数据中心系统;

图8示出了根据至少一个实施例的计算机系统;

图9示出了根据至少一个实施例的计算机系统;

图10示出了根据一个或更多个实施例的图形处理器的至少部分;以 及

图11示出了根据一个或更多个实施例的图形处理器的至少部分。

具体实施方式

根据各种实施例的方法提供了用于端到端文本到语音(TTS)模型的 系统和方法。在至少一个实施例中,TTS模型是并行的或至少部分并行的。 各种实施例可以包括进一步将语音节奏建模为可采样分布的模型,以促进 推理期间的可变令牌(token)持续时间。在至少一个实施例中,系统和方 法提供语音-文本对齐的在线提取。

各种实施例涉及用于使用主要地并行的端到端模型来进行TTS生成 的系统和方法。实施例包括使用概率确定的无监督对齐以便将可能具有可 变长度的各个音素与对应的文本对齐。生成模型用于对合理音素持续时间 的分布进行采样,其中可以设置边界以消除对不太可能或不现实的持续时 间的考虑。此外,可以为不同音素的音调和能量开发另一种生成模型,这 些模型可以在训练阶段提取。多样性可以通过从相同的概率分布中采样不同的位置来实现。系统和方法还可以针对使用分布感知数据增强来改进训 练,其中可以在训练期间对合成数据进行标记/分类,然后在推理时忽略或 不使用合成数据。

本公开的各种实施例旨在克服与具有TTS的传统对齐工具相关联的 问题,其中这些工具试图在推理之前提取对齐或依赖于注意机制。使用强 制对齐器可能具有有限的功能,例如,其中对齐器不适用于特定语言或字 母表。此外,对齐器的注意机制已被证明是不稳定的,并且可能无法收敛 到有意义的解决方案。本公开的系统和方法可以通过扩展基于注意的机制 以添加在一个或更多个实施例中可以是雪茄形的先验分布来解决这些问题和其他问题。此外,系统和方法可以部署与隐马尔可夫方法(HMM)相关 的各种技术,例如前向子算法和维特比,以便对于给定信号识别最可能的 文本字符串。

实施例还可以解决与用于训练的数据集不足或小相关的问题。关于 TTS合成训练管线,很少合并增强数据样本,因为这些样本可能被认为超 出了建模所需的分布,因为在许多情况下,不希望将文本合成为听起来与 增强数据样本相似。在至少一个实施例中,系统和方法可以合并数据增强 以改进模型的泛化而不具有渗入推理结果的影响。例如,可以在一个或更 多个生成的分布中标记或以其他方式识别增强数据,其中推理期间的采样 会避开这些区域。

使用本公开的系统和方法也解决了合成语音的多样性。在至少一个实 施例中,可以多次合成相同的文本,其中每个结果是合理的并且在质量上 是不同的。生成模型(归一化流)可用于在推理时对合理的音素持续时间 进行采样,这可以提供改进的多样性,因为关于语音的一个重要变化是音 素持续时间。系统和方法也可以涉及音调和能量建模,从而为合成语音的 多样性提供更多选择。在至少一个实施例中,可以对音调和能量进行建模,并且概率分量可以在生成输出语音时从这些模型中采样。

各种实施例还可以改进扬声器调节变量。例如,传统的多个说话者 TTS模型可以为特定说话者指派维度向量,然后在生成输出时应用该向量。 但是,对说话者使用单个向量可能会限制模型在无需对说话者的个体差异 进行建模的情况下生成相似或不同声音输出的能力。实施例可以在推理时 生成向量作为输入的函数和跨说话者的分布进行建模。

图1中示出了也可以称为语音合成的文本到语音(TTS)管线100, 其包括可以对应于文本输入的输入102。应当理解,输入可以是初始文本 输入,例如由用户提供的输入,转换后的文本输入,例如已经被评估然后 转换为文本的话语,从输入图片或视频中提取的文本序列等等。在至少一 个实施例中,输入102可以响应于用户提供的问题或评论,例如响应于用 户查询提供答案的会话人工智能(AI)系统以及其他应用。所示的输入102 可以被格式化以包含在处理框架104中,该处理框架104可以包括一个或 更多个经训练的机器学习系统来评估输入102的一个或更多个特征,这可 以将输入102转换成模拟人类语音的音频输出。

在该示例中,处理框架104包括自然语言理解(NLU)系统106、韵 律(prosody)模型108和TTS模块110。如将理解的,NLU系统106可以 与一个或更多个会话AI系统一起使用,使人类能够与设备自然交互。NLU 系统106可用于解释输入102的上下文和意图以生成响应。例如,输入102 可以被预处理,这可以包括令牌化(tokenization)、词形还原、词干提取和其他过程。此外,NLU系统106可以包括一个或更多个深度学习模型,例 如BERT模型,以启用诸如实体识别、意图识别、情绪分析等的特征。此 外,NLU系统106可以将输入102的语言单位转换为音素,然后可以使用 韵律模型108将其组合在一起。

在至少一个实施例中,TTS模型110可以获取由NLU系统106生成 的文本响应并将其改变为听起来自然的语音。应当理解,在各种实施例中, 韵律模型108可以是TTS模型110的一部分。来自NLU系统106的输出 可以经历与TTS模型110相关联的各种过程,例如语言分析、合成等等。 此外,可以标记词性。在各种实施例中,可以进一步分析输出以改进发音,计算单词的持续时间,破译话语的韵律结构,以及理解语法信息。此外, 可以将文本转换为梅尔频谱图,以输出到声码器(vocoder)112,以生成 听起来自然的语音。如上所述,应当理解,在各种实施例中,声码器112 可以并入TTS模型110中。因此,生成听起来像人类语音的音频输出114。

语音合成可以以完全自回归的方式顺序建模,其中训练和干扰速度随 着序列长度的增加不能或无效地缩放。此外,一个或更多个音频帧内的错 误可能会传播到合成语音的其他部分。并行化语音合成是可取的,但可能 会遇到与音素长度相关的问题。例如,如果不合成音素,就很难知道它们 各自的长度。此外,可能首先确定输入文本中的音素,然后从梅尔谱图中 采样的方法错过了本公开的系统和方法的完全端到端并行化。本公开的系 统和方法可以针对包括在线对齐以及用于推理不同结果的生成模型的实现 方式的端到端系统。

现有的对齐技术在并行架构中通常不足或无法使用。例如,现有技术 可能会将注意力从自回归模型提取到包含两阶段过程的并行架构中,这可 能训练成本很高。此外,这些技术通常是有限的,对系统使用的个别语言 或字母进行独立训练。此外,这些技术通常表现出推理多样性的损失,例 如语音节奏的可变性。系统和方法可以通过结合用于令牌(token)持续时 间的一个或更多个生成模型来克服这些缺点,这些生成模型可以是单独的模型。

训练管线200,如图2A所示,可用于构建生成模型,用于在给定文 本输入和说话者信息的情况下对梅尔谱图(mel-spectrograms)进行采样。 在该示例中,梅尔谱图202被提供有说话者向量204(ξ),其可以编码特 定于说话者的特征,用于增强206。例如,梅尔谱图可以用于人类语音的 音频剪辑,其可以表示为梅尔谱图张量

推理管线250,如图2B所示,可以从MLE 212采样以便生成输入样 本252。MLE 212的随机采样可以实现不同的推理结果。在至少一个实施 例中,样本252由推理管线254处理以输出第二梅尔谱图256,然后可以 对其进行处理以产生输出音频剪辑。

本公开的各种实施例能够在推理时间对梅尔谱图帧及其持续时间进 行采样,同时保持用于建模的并行架构。在操作中,在音频剪辑(例如, 梅尔谱图202)和文本(例如,输入文本210)之间建立时间对齐。对齐可 以表示为

P(X,A,F

如前所述,在条件表示中,X表示梅尔谱图张量,A表示对齐,F

应当理解,在各种实施例中,用于执行等式(1)的至少一部分的指 令(例如,软件指令)的一个或更多个部分可以是并行的。例如,P

在操作中,标准化流程应用于TTS中的梅尔编码。可以对分布进行建 模,使得分布中的每个时间步长都可以从简单分布中采样。在各种实施例 中,假设独立且同分布的随机变量。因此,关于数据样本x的MLE 212可 以由等式(2)表示

log p

其中p

在一个或更多个实施例中,可以如等式(3)所表示的那样执行推理。

z~N(O,I)and x=g(z) (3)

在推理过程中,可以利用音素流来获得每个音素的持续时间,这可能 对应于对齐A,用于准备对P

对齐架构270在图2C中示出,其可以形成可以与本公开的实施例一 起使用的机器学习系统的一个或更多个部分。在该示例中,可以至少部分 对应于梅尔谱图202的输入文本210和梅尔帧272都在编码器274处被编 码,编码器274可以包括用于梅尔帧和输入文本210的单独编码器。例如, 文本编码器可以评估文本令牌(例如,音素嵌入)。在至少一个实施例中, 输入210和帧272中的每一个都用具有有限感受野的1D卷积网络编码以 结合本地上下文。编码器274生成用作softmax函数276的输入的输出, softmax函数276可以生成概率矩阵278,该概率矩阵278包括文本和梅尔 帧的一个或更多个概率向量,其可以用于生成一个或更多个可视化,如本 文中上所述的。

各种实施例可以实现无监督或部分无监督的对齐学习。可以在不依赖 外部对齐器的情况下开发对齐。在至少一个实施例中,可以利用在隐马尔 可夫模型(HMM)中使用的组合维特比和前向后向算法,以便分别学习硬 对齐和软对齐。如上所述,对齐可以表示为

软对齐可以基于所有文本令牌φ∈Φ和梅尔帧x∈X之间的学习成对 仿射性,这可以在等式(4)和(5)中表示的文本维度上使用softmax进 行归一化。

A

关于等式(4)和(5),x

各种实施例能够使用促进接近对角线路径上的元素的先验来加速对 齐学习。可以使用β-二项分布来鼓励注意力机制的向前移动。这种β-二 项分布可用于在A

因为通过持续时间预测生成的对齐本质上是二元的,所以模型可以以 二值化对齐矩阵为条件,以避免产生训练测试域间隙。这可以使用维特比 算法来实现,同时对单调对齐应用相同的约束,这可以从单调路径上的分 布中提供最可能的单调对齐。此外,可以管理结果,使得通过最小化损失 来使A

图3中示出了软对齐可视化300,连同β-二项式先验可视化302、与 先验可视化的软对齐304和硬对齐306。在这些示例中,梅尔帧在x轴308 上表示并且文本令牌在y轴310上表示。软对齐300示出了一段时间内的 各种不同的潜在对齐,其中最可能的对齐显示为角附近的较浅阴影(例如, 左下角和右上角),对应于音频剪辑的开始和结束时间。先验312的应用在 可视化302中示出,其中先验312具有雪茄形状(例如,比边缘更宽的中 间)并且基本上沿着从左下角到右上角的对角线延伸。如上所述,这种配 置可以在可能对齐的部分实现对齐限制,例如开始(左下)和结束(右上), 从而潜在地提高准确性。先验312可以应用边界来限制对分布的最可能部 分的采样,如可视化304中所示,其中软对齐得到改善,这可以通过沿先 验312表示的对角线所示的较浅阴影来说明。可视化306图示了基本上符 合先验312的角度和大小的甚至更加改进的对齐。因此,合成语音可以利 用使用先验开发的对齐以确定如何应用采样的音素持续时间来生成合成语 音。

示例音素级持续时间分布400在图4A中示出。在这个示例中,示出 了构成单词“climate”的音素。如图所示,x轴402代表形成单词“climate” 的音素404,在这种情况下对应于“k”、“l”、“ayi”、“m”、“ahd”和“t”。 这些音素404A-404F中的每一个包括对应于持续时间的相应的一组分布 406A-406F,表示在y轴408上。这些分布可以基于对说出单词“气候”的一组说话者的评估来确定每个音素朗诵需要多长时间来生成。如图所示, 音素404A-404F中的每一个可能具有略微不同的持续时间,因此,尝试使 用固定持续时间来强制文本和语音之间的对齐将导致不自然的声音音频输 出。也就是说,“ayi”的持续时间可能大约是“k”的两倍,并且每个音素 的固定持续时间会导致“k”之后的暂停或延迟,或者“ayi”的削波或急 促响应。如所指出的,本公开的各种实施例可以通过对各种音素的不同分 布进行采样来实现改进的多样性。作为示例,在该示例中,对应于“k”的 音素404A具有三个不同的分布406A(例如,具有略微不同持续时间的一 组分布)。因此,在推理时,可以选择分布之一,并且在该分布内,可以选 择持续时间。在另一个示例中,使用类似的声音,可以选择不同的分布和 持续时间。以这种方式,通过在推理时提供不同的音素持续时间,或至少 提供将选择不同持续时间的可能性,可以提高合成语音的多样性。

图4B中示出了音调分布420,其可进一步用于提供关于合成语音的 改进的多样性,如本文所述。如图所示,x轴422对应于时间,y轴424 对应于相对音调。在该示例中,可以通过评估一组句子或单词来计算分布 420,例如在一个或更多个训练阶段期间。在推理期间,还可以从分布420 中对音调进行采样,以在合成语音中提供进一步的多样性。也就是说,合 成同一个词的不同尝试可能会导致不同的结果集,其中呈现不同的音调。 当进一步结合图4A的音素持续时间选择时,可以合成相同的词而听起来 不同,例如完全来自不同的说话者。

合成语音系统500在图5中示出,其可包括本文先前描述的一个或更 多个组件。应当理解,可以出于说明性目的对组件进行分组,但是一个或 更多个系统可以集成到系统500的不同组件中或与系统500的不同组件一 起使用。此外,一个或更多个系统可以利用或以其他方式共享与一个或更 多个机器学习系统相关的架构。因此,不同的组件可以被描述为基于一个 或更多个功能的单独的模块或系统,但可以是单个集成系统的一部分。在 该示例中,TTS系统502可以用于至少部分地基于文本输入504和说话者 向量506来生成合成语音。在至少一个实施例中,说话者向量506包括一 个或更多个说话者属性,例如所需的音调、能量、语调、重音等。在各种 实施例中,说话者向量506可以包括对应于可以应用于合成生成的语音的 各种语音部分的加权属性。此外,说话者向量506可以是可调组件,以实 现语音转换,以及其他特征。此外,在至少一个实施例中,说话者向量506 可以从说话者向量的分布或数据库中选择。此外,在至少一个实施例中, 说话者向量506的不同分量可以被采样或以其他方式从分布中获得。

在该示例中,输入文本504和说话者向量506作为输入提供给TTS 系统502,其中可以评估输入文本504以至少部分地确定持续时间。例如, 持续时间模块508(例如,持续时间系统)可用于对一个或更多个分布进 行采样以确定形成输入文本504的各个音素的相应持续时间。如前所述, 训练数据可用于生成音素分布,形成输入文本504的各个音素可以从分布 中采样以确定各自的长度。在至少一个实施例中,每次评估音素时长度可 以不同,这提高了输出合成语音的多样性。然后可以在对齐期间使用持续 时间的确定,如本文所讨论的。

进一步示出了音调和能量模块510、512,其可用于对各自的分布进行 采样以获得形成输入文本504的不同音素的音调(例如,基频)和能量(例 如,幅度)。在至少一个实施例中,在至少部分音调和能量可以至少部分地 由说话者向量506确定。例如,说话者向量506可以提供权重以影响音调 和能量。在某些实施例中,音调和能量可以由说话者向量506来确定,例 如语音转换的定向尝试。在各种实施例中,持续时间、能量和音调的分布 可以存储在分布数据存储库514中,分布数据存储库514可以在推理时被 访问。如将理解的,分布可以基于语言或字母而变化,而且,可以使用一 个或更多个训练过程来更新。虽然持续时间、音调和能量可以被描述为用 于采样的分量,但是应当理解,各种其他数据点和分布可以用于采样。仅 作为示例,与韵律相关的各种特征也可用于采样,例如强调、对比、焦点 或一个或更多个在说话者的语法选择中没有以其他方式表示的元素。此外, 评估的附加因素可以包括声调、重音、速度、节奏、停顿等。

在至少一个实施例中,输入文本和输出音频之间的对齐可以通过一个 或更多个对齐模块516来执行,对齐模块516可以包括各种机器学习系统, 这些系统部分地能够对一组概率进行递归计算,以便确定形成输入文本 504的不同音素之间的最可能或最高概率对齐。音素(来自文本)和梅尔 样本(来自音频训练数据)之间的对齐可能性基于L2距离,其可以被解 释为与高斯似然成比例,如本文所述。在该示例中,音频长度模块520可 以至少部分地基于输入文本504和/或形成输入文本的音素的持续时间来确 定音频长度。此外,文本长度模块522可以确定文本长度,然后可以将其 与音频长度相关联并呈现为矩阵,该矩阵可以由矩阵生成模块524形成。 在至少一个实施例中,矩阵生成模块524可用于生成关于它们的位置的潜 在音素持续时间的矩阵,然后先验模块518可将先验应用于矩阵以便将评估限定或以其他方式限制到最可能的位置。例如,雪茄形状的先验可以由 β-二项分布构造,如等式(6)所示

P(mel,text,alignment)=P(mel

其中P(alignment)是β二项雪茄形状的先验,P(mel,text|alignment)是 时间步t处的梅尔样本与序列中第n个文本音素之间的L2距离。如本文所 述,先验可以包括边界并且位于从左下角延伸到右上角的对角线处。应当 理解,先验可以是可调的,从而可以使用不同的边界。因此,可以生成输 入文本504和音频持续时间之间的对齐。

在至少一个实施例中,音频生成模块526可以至少部分地基于对齐和 输入文本504以及诸如说话者向量506和/或音调、能量等其他特征来生成 输出音频。在各种实施例中,由于在推理时从各种分布进行采样,音频生 成可能具有改进的多样性,这可能改变或修改不同的音素持续时间,这可 能导致不同的对齐,并因此导致不同的输出语音。此外,采样到音调或能 量的变化可以进一步改善输出的多样性。

各种实施例还可以包括一个或更多个训练系统528,其可以生成用于 改进TTS系统502的合成训练数据。在各种实施例中,训练系统528可以 实现分布感知增强,其中合成训练信息可以被生成,在训练中使用,然后 在推理时删除。举例来说,合成语音生成530可以从样本数据存储库532 获得样本并修改语音的一个或更多个属性,例如改变音调或能量,或修改 各种音素长度,以及其他可能性。可以使用标签模块534来标记或以其他 方式识别该合成语音,该标签模块534可以将诸如元数据的信息附加到合 成语音以供稍后识别。此识别可应用于所有合成语音,其中与实际地面实 况训练数据相比,合成语音可能被视为“脏”或“不干净”。在其他实施例 中,可以评估一个或更多个属性以确定数据被认为是干净的还是脏的,例 如识别一个或更多个特征以与阈值进行比较。分布生成器536然后可以使 用来自合成语音的信息来修改或生成一个或更多个分布。然后可以将这些 生成的分布用于训练目的,但在推理过程中,可以识别合成语音,例如使 用标签,然后将其删除。以这种方式,可以生成额外的训练数据来改进模 型,但在推理时,只有形成地面实况信息的数据用于响应于用户输入而生 成合成语音。

图6A示出了用于生成合成语音的示例过程600。应当理解,对于本 文提出的这个过程和其他过程,除非另有具体说明,否则在各种实施例的 范围内,可以有以类似或替代顺序或至少部分并行执行的额外、更少或替 代步骤。在该示例中,接收602多个音频片段。音频片段可以形成训练数 据集的至少一部分,该训练数据集被评估以确定不同词性的不同方面。在 各种实施例中,音频片段可以经历一个或更多个预处理或处理步骤以提取 音频片段的不同部分,例如形成单词、音调、能量等的音素。在至少一个 实施例中,从多个音频片段604确定音素持续时间、音素音调和音素能量。 然后可以利用从多个音素提取的信息来生成指示在音频片段中发现的某些 特征的一个或更多个分布。例如,可以使用音素持续时间来生成第一分布 606,可以使用音素音调来生成第二分布608,并且可以使用音素能量来生 成第三分布610。应当理解,也可以生成用于捕捉音频片段的其他语音部 分或特征的附加分布。

在各种实施例中,分布可用于生成合成语音,例如与会话AI相关联。 系统可以接收表示为文本序列的文本输入,并确定文本序列和音频长度之 间的对齐612。对齐可以至少部分地基于第一分布,其将形成文本输入的 不同音素与它们各自的持续时间相关联。在各种实施例中,对各个音素的 分布进行采样以便选择音素持续时间。应当理解,这种类型的概率采样可 以提高生成的合成语音的多样性,因为通过在推理中采样,相同的文本输入可以呈现为不同的输出音频,例如,由于音素持续时间的差异以及其他 因素。因此,可以至少部分地基于对齐、第二分布和第三分布来生成合成 语音614。此外,如上所述,在各种实施例中,还可以利用一个或更多个 附加分布来生成合成语音。

图6B示出了用于生成合成语音的示例过程620。在该示例中,确定 多个音频片段的文本和多个音频片段的持续时间之间的相应对齐622。例 如,多个音频片段可以对应于被确定为确定不同的单词或短语的音素长度 分布的训练信息。可以生成对齐分布,其可以至少部分地基于相应的对齐 624。对齐分布可以以矩阵的形式呈现,该矩阵说明某个音素将与文本样本 的某个部分对齐的概率可能性。在至少一个实施例中,来自对齐分布的一个或更多个向量被确定626。一个或更多个向量可以与一个或更多个说话 者特征相对应。

如所指出的,各种实施例可用于生成合成语音,其中接收文本序列628。 文本序列可由用户输入或从图像中提取,以及其他选项。可以至少部分地 基于文本序列和一个或更多个向量来生成合成音频剪辑,其中合成音频剪 辑对应于文本序列630。

图6C示出了用于训练TTS系统的示例过程650。在该示例中,生成 一个或更多个合成训练剪辑652。可以至少部分地基于一个或更多个样本 音频片段来生成合成训练剪辑,该样本音频片段可以对应于为训练TTS系 统而提供的地面实况训练数据,以及其他选项。在至少一个实施例中,合 成训练剪辑修改样本音频片段的一个或更多个属性,例如改变语音的音调 或速度。合成训练剪辑可以被标记654,例如通过识别它们在分布内的位 置或通过将元数据与剪辑相关联。然后可以使用样本音频片段中的至少一 些和一个或更多个合成训练剪辑656中的至少一些来训练一个或更多个机 器学习系统。合成训练剪辑可以启用更大的训练集,这可以改进以后的推 理。

在至少一个实施例中,经训练的机器学习系统用于生成合成音频剪辑。 可以接收生成合成语音的请求658。可以通过使用TTS系统处理文本输入 来生成该语音,该系统可以将语音的部分与不同的持续时间对齐以便生成 输出音频。在至少一个实施例中,识别与合成训练剪辑相关联的分布内的 一个或更多个位置660,并且在合成语音662的生成期间避免这些位置或 不从这些位置采样。以这种方式,合成训练剪辑可用于通过增加数据集来改进建模,但可能不会在推理期间使用。

数据中心

图7示出了可以使用至少一个实施例的示例数据中心700。在至少一 个实施例中,数据中心700包括数据中心基础设施层710、框架层720、软 件层730和应用层740。

在至少一个实施例中,如图7所示,数据中心基础设施层710可以包 括资源协调器712、分组的计算资源714和节点计算资源(“节点C.R.”) 716(1)-716(N),其中“N”代表任何正整数。在至少一个实施例中,节 点C.R.716(1)-716(N)可以包括但不限于任何数量的中央处理单元(“CPU”) 或其他处理器(包括加速器、现场可编程门阵列(FPGA)、图形处理器等), 存储器设备(例如动态只读存储器)、存储设备(例如固态硬盘或磁盘驱动 器),网络输入/输出(“NWI/O”)设备,网络交换机,虚拟机(“VM”), 电源模块和冷却模块等。在至少一个实施例中,节点C.R.716(1)-716(N) 中的一个或更多个节点C.R.可以是具有一个或更多个上述计算资源的服务 器。

在至少一个实施例中,分组的计算资源714可以包括容纳在一个或更 多个机架内的节点C.R.的单独分组(未示出),或者容纳在各个地理位置 的数据中心内的许多机架(也未示出)。分组的计算资源714内的节点C.R. 的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分 组的计算、网络、存储器或存储资源。在至少一个实施例中,可以将包括 CPU或处理器的几个节点C.R.分组在一个或更多个机架内,以提供计算资 源来支持一个或更多个工作负载。在至少一个实施例中,一个或更多个机 架还可以包括任何数量的电源模块、冷却模块和网络交换机,以任意组合。

在至少一个实施例中,资源协调器712可以配置或以其他方式控制一 个或更多个节点C.R.716(1)-716(N)和/或分组的计算资源714。在至 少一个实施例中,资源协调器712可以包括用于数据中心700的软件设计 基础结构(“SDI”)管理实体。在至少一个实施例中,资源协调器可以包括 硬件、软件或其某种组合。

在至少一个实施例中,如图7所示,框架层720包括作业调度器722、 配置管理器724、资源管理器726和分布式文件系统728。在至少一个实施 例中,框架层720可以包括支持软件层730的软件732和/或应用程序层740 的一个或更多个应用程序742的框架。在至少一个实施例中,软件732或 应用程序742可以分别包括基于Web的服务软件或应用程序,例如由 Amazon Web Services,Google Cloud和Microsoft Azure提供的服务或应用 程序。在至少一个实施例中,框架层720可以是但不限于一种免费和开放 源软件网络应用程序框架,例如可以利用分布式文件系统728来进行大范 围数据处理(例如“大数据”)的ApacheSpark

在至少一个实施例中,包括在软件层730中的软件732可以包括由节 点C.R.716(1)-716(N)的至少一部分,分组的计算资源714和/或框架 层720的分布式文件系统728使用的软件。一种或更多种类型的软件可以 包括但不限于Internet网页搜索软件、电子邮件病毒扫描软件、数据库软 件和流视频内容软件。

在至少一个实施例中,应用层740中包括的一个或更多个应用程序 742可以包括由节点C.R.716(1)-716(N)的至少一部分、分组计算资源714和/或框架层720的分布式文件系统728使用的一种或更多种类型的应 用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因 组学应用程序、认知计算和机器学习应用程序,包括训练或推理软件,机 器学习框架软件(例如PyTorch、TensorFlow、Caffe等)或其他与一个或 更多个实施例结合使用的机器学习应用程序。

在至少一个实施例中,配置管理器724、资源管理器726和资源协调 器712中的任何一个可以基于以任何技术上可行的方式获取的任何数量和 类型的数据来实现任何数量和类型的自我修改动作。在至少一个实施例中, 自我修改动作可以减轻数据中心700的数据中心操作员做出可能不好的配 置决定并且可以避免数据中心的未充分利用和/或执行差的部分。

在至少一个实施例中,数据中心700可以包括工具、服务、软件或其 他资源,以根据本文所述的一个或更多个实施例来训练一个或更多个机器 学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如, 在至少一个实施例中,可以通过使用上文关于数据中心700描述的软件和 计算资源,根据神经网络架构通过计算权重参数来训练机器学习模型。在 至少一个实施例中,通过使用通过本文所述的一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心700所描述的资源,使用对 应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息。

在至少一个实施例中,数据中心可以使用CPU、专用集成电路(ASIC)、 GPU、FPGA或其他硬件来使用上述资源来执行训练和/或推理。此外,上 述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训 练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。

这样的组件可以用于生成合成语音。

计算机系统

图8是示出根据至少一个实施例示例性计算机系统的框图,该示例性 计算机系统可以是具有互连的设备和组件的系统,片上系统(SOC)或它 们的某种形成有处理器的组合800,该处理器可以包括执行单元以执行指 令。在至少一个实施例中,根据本公开,例如本文所述的实施例,计算机 系统800可以包括但不限于组件,例如处理器802,其执行单元包括逻辑 以执行用于过程数据的算法。在至少一个实施例中,计算机系统800可以 包括处理器,例如可从加利福尼亚圣塔克拉拉的英特尔公司(Intel Corporation of Santa Clara,California)获得的

实施例可以用在其他设备中,例如手持设备和嵌入式应用程序。手持 设备的一些示例包括蜂窝电话、互联网协议(Internet Protocol)设备、数 码相机、个人数字助理(“PDA”)和手持PC。在至少一个实施例中,嵌入 式应用程序可以包括微控制器、数字信号处理器(“DSP”)、片上系统、网 络计算机(“NetPC”)、边缘计算设备、机顶盒、网络集线器、广域网(“WAN”) 交换机,或根据至少一个实施例可以执行一个或更多个指令的任何其他系 统。

在至少一个实施例中,计算机系统800可包括但不限于处理器802, 该处理器802可包括但不限于一个或更多个执行单元908,以根据本文描 述的技术执行机器学习模型训练和/或推理。在至少一个实施例中,计算机 系统800是单处理器台式机或服务器系统,但是在另一实施例中,计算机 系统800可以是多处理器系统。在至少一个实施例中,处理器802可以包 括但不限于复杂指令集计算机(“CISC”)微处理器、精简指令集计算 (“RISC”)微处理器、超长指令字(“VLIW”)微处理器、实现指令集组 合的处理器,或任何其他处理器设备,例如数字信号处理器。在至少一个 实施例中,处理器802可以耦合到处理器总线810,该处理器总线810可 以在处理器802与计算机系统800中的其他组件之间传输数据信号。

在至少一个实施例中,处理器802可以包括但不限于1级(“L1”)内 部高速缓存存储器(“cache”)804。在至少一个实施例中,处理器802可 以具有单个内部高速缓存或多级内部缓存。在至少一个实施例中,高速缓 存存储器可以驻留在处理器802的外部。根据特定的实现和需求,其他实 施例也可以包括内部和外部高速缓存的组合。在至少一个实施例中,寄存 器文件806可以在各种寄存器中存储不同类型的数据,包括但不限于整数 寄存器、浮点寄存器、状态寄存器和指令指针寄存器。

在至少一个实施例中,包括但不限于执行整数和浮点运算的逻辑执行 单元808,其也位于处理器802中。在至少一个实施例中,处理器802还 可以包括微码(“ucode”)只读存储器(“ROM”),用于存储某些宏指令的 微代码。在至少一个实施例中,执行单元808可以包括用于处理封装指令 集809的逻辑。在至少一个实施例中,通过将封装指令集809包括在通用 处理器802的指令集中,以及要执行指令的相关电路,可以使用处理器802 中的封装数据来执行许多多媒体应用程序使用的操作。在一个或更多个实 施例中,可以通过使用处理器的数据总线的全宽度来在封装的数据上执行 操作来加速和更有效地执行许多多媒体应用程序,这可能不需要在处理器 的数据总线上传输较小的数据单元来一次执行一个数据元素的一个或更多 个操作。

在至少一个实施例中,执行单元808也可以用在微控制器、嵌入式处 理器、图形设备、DSP和其他类型的逻辑电路中。在至少一个实施例中, 计算机系统800可以包括但不限于存储器820。在至少一个实施例中,存 储器820可以实现为动态随机存取存储器(“DRAM”)设备、静态随机存 取存储器(“SRAM”)设备、闪存设备或其他存储设备。在至少一个实施 例中,存储器820可以存储由处理器802可以执行的由数据信号表示的指 令819和/或数据821。

在至少一个实施例中,系统逻辑芯片可以耦合到处理器总线810和存 储器820。在至少一个实施例中,系统逻辑芯片可以包括但不限于存储器 控制器集线器(“MCH”)816,并且处理器802可以经由处理器总线810 与MCH 816通信。在至少一个实施例中,MCH 816可以提供到存储器820 的高带宽存储器路径818以用于指令和数据存储以及用于图形命令、数据 和纹理的存储。在至少一个实施例中,MCH 816可以在处理器802、存储 器820和计算机系统800中的其他组件之间启动数据信号,并且在处理器 总线810、存储器820和系统I/O822之间桥接数据信号。在至少一个实施 例中,系统逻辑芯片可以提供用于耦合到图形控制器的图形端口。在至少 一个实施例中,MCH 816可以通过高带宽存储器路径818耦合到存储器820, 并且图形/视频卡812可以通过加速图形端口(Accelerated Graphics Port)(“AGP”)互连814耦合到MCH 816。

在至少一个实施例中,计算机系统800可以使用系统I/O 822,所述 系统I/O 822是专有集线器接口总线来将MCH 816耦合到I/O控制器集线 器(“ICH”)830。在至少一个实施例中,ICH 830可以通过本地I/O总线 提供与某些I/O设备的直接连接。在至少一个实施例中,本地I/O总线可 以包括但不限于用于将外围设备连接到存储器820、芯片组和处理器802 的高速I/O总线。示例可以包括但不限于音频控制器829、固件集线器 (“Flash BIOS”)828、无线收发器826、数据存储824、包含用户输入和 键盘接口的传统I/O控制器823、串行扩展端口827(例如通用串行总线 (USB)端口)和网络控制器834。数据存储824可以包括硬盘驱动器、 软盘驱动器、CD-ROM设备、闪存设备或其他大容量存储设备。

在至少一个实施例中,图8示出了包括互连的硬件设备或“芯片”的系 统,而在其他实施例中,图8可以示出示例性片上系统(SoC)。在至少一 个实施例中,设备可以与专有互连、标准化互连(例如,PCIe)或其某种 组合互连。在至少一个实施例中,计算机系统800的一个或更多个组件使 用计算快速链路(CXL)互连来互连。

这样的组件可以用于生成合成语音。

图9是示出根据至少一个实施例的用于利用处理器910的电子设备 900的框图。在至少一个实施例中,电子设备900可以是,例如但不限于, 笔记本电脑、塔式服务器、机架服务器、刀片服务器、膝上型计算机、台 式机、平板电脑、移动设备、电话、嵌入式计算机或任何其他合适的电子 设备。

在至少一个实施例中,系统900可以包括但不限于通信地耦合到任何 合适数量或种类的组件、外围设备、模块或设备的处理器910。在至少一 个实施例中,处理器910使用总线或接口耦合,诸如1℃总线、系统管理 总线(“SMBus”)、低引脚数(LPC)总线、串行外围接口(“SPI”)、高清 音频(“HDA”)总线、串行高级技术附件(“SATA”)总线、通用串行总线(“USB”)(1、2、3版)或通用异步接收器/发送器(“UART”)总线。在 至少一个实施例中,图9示出了系统,该系统包括互连的硬件设备或“芯片”, 而在其他实施例中,图9可以示出示例性片上系统(SoC)。在至少一个实 施例中,图9中所示的设备可以与专有互连线、标准化互连(例如,PCIe) 或其某种组合互连。在至少一个实施例中,图9的一个或更多个组件使用 计算快速链路(CXL)互连线来互连。

在至少一个实施例中,图9可以包括显示器924、触摸屏925、触摸 板930、近场通信单元(“NFC”)945、传感器集线器940、热传感器946、 快速芯片组(“EC”)935、可信平台模块(“TPM”)938、BIOS/固件/闪存 (“BIOS,FWFlash”)922、DSP 960、驱动器920(例如固态磁盘(“SSD”) 或硬盘驱动器(“HDD”))、无线局域网单元(“WLAN”)950、蓝牙单元 952、无线广域网单元(“WWAN”)956、全球定位系统(GPS)955、相机 (“USB3.0相机”)954(例如USB3.0相机)和/或以例如LPDDR3标准实 现的低功耗双倍数据速率(“LPDDR”)存储器单元(“LPDDR3”)915。这 些组件可以各自以任何合适的方式实现。

在至少一个实施例中,其他组件可以通过上文所述的组件通信地耦合 到处理器910。在至少一个实施例中,加速度计941、环境光传感器(“ALS”) 942、罗盘943和陀螺仪944可以可通信地耦合到传感器集线器1040。在 至少一个实施例中,热传感器939、风扇937、键盘936和触摸板930可以 通信地耦合到EC 935。在至少一个实施例中,扬声器963、耳机964和麦 克风(“mic”)965可以通信地耦合到音频单元(“音频编解码器和D类放 大器”)962,其又可以通信地耦合到DSP 960。在至少一个实施例中,音 频单元962可以包括例如但不限于音频编码器/解码器(“编解码器”)和D 类放大器。在至少一个实施例中,SIM卡(“SIM”)957可以通信地耦合到 WWAN单元956。在至少一个实施例中,组件(诸如WLAN单元950和 蓝牙单元952以及WWAN单元956)可以被实现为下一代形式因素(NGFF)。

这样的组件可以用于生成合成语音。

图10是根据至少一个实施例的处理系统的框图。在至少一个实施例 中,系统1000包括一个或更多个处理器1002和一个或更多个图形处理器 1008,并且可以是单处理器台式机系统、多处理器工作站系统或具有大量 集体或单独管理的处理器1002或处理器核心1007的服务器系统或数据中 心。在至少一个实施例中,系统1000是结合在片上系统(SoC)集成电路 内的处理平台,以在移动、手持或嵌入式设备使用。

在至少一个实施例中,系统1000可以包括或结合在基于服务器的游 戏平台、云计算主机平台、虚拟化计算平台、游戏控制台中,包括游戏和 媒体控制台、移动游戏控制台、手持游戏控制台或在线游戏控制台。在至 少一个实施例中,系统1000是移动电话、智能电话、平板计算设备或移动 互联网设备。在至少一个实施例中,处理系统1000还可包括与可穿戴设备 耦合或集成在可穿戴设备中,例如智能手表可穿戴设备、智能眼镜设备、 增强现实设备、边缘设备、物联网(“IoT”)设备或虚拟现实设备。在至少 一个实施例中,处理系统1000是电视或机顶盒设备,其具有一个或更多个 处理器1002以及由一个或更多个图形处理器1008生成的图形界面。

在至少一个实施例中,一个或更多个处理器1002每个包括一个或更 多个处理器核心1007,以处理指令,该指令在被执行时执行针对系统和用 户软件的操作。在至少一个实施例中,一个或更多个处理器核心1007中的 每一个被配置为处理特定指令组1009。在至少一个实施例中,指令组1009 可以促进复杂指令集计算(CISC)、精简指令集计算(RISC),或通过超长 指令字(VLIW)进行计算。在至少一个实施例中,处理器核心1007可以 各自处理不同的指令组1009,该指令组可以包括有助于仿真其他指令组的 指令。在至少一个实施例中,处理器核心1007还可以包括其他处理设备, 例如数字信号处理器(DSP)。

在至少一个实施例中,处理器1002包括高速缓存存储器1004。在至 少一个实施例中,处理器1002可以具有单个内部高速缓存或多个级别的内 部高速缓存。在至少一个实施例中,高速缓存存储器在处理器1002的各个 组件之间共享。在至少一个实施例中,处理器1002还使用外部高速缓存(例 如,三级(L3)高速缓存或最后一级高速缓存(LLC))(未示出),可以使 用已知的高速缓存一致性技术在处理器核心1007之间共享该外部高速缓 存。在至少一个实施例中,处理器1002中另外包括寄存器文件1006,处 理器可以包括用于存储不同类型的数据的不同类型的寄存器(例如,整数 寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。在至少一个实施例 中,寄存器文件1006可以包括通用寄存器或其他寄存器。

在至少一个实施例中,一个或更多个处理器1002与一个或更多个接 口总线1010耦合,以在处理器1002与系统1000中的其他组件之间传输通 信信号,例如地址、数据或控制信号。在至少一个实施例中,接口总线1010 在一个实施例中可以是处理器总线,例如直接媒体接口(DMI)总线的版 本。在至少一个实施例中,接口总线1010不限于DMI总线,并且可以包 括一个或更多个外围组件互连总线(例如,PCI,PCIExpress)、存储器总 线或其他类型的接口总线。在至少一个实施例中,处理器1002包括集成存 储器控制器1016和平台控制器集线器1030。在至少一个实施例中,存储 器控制器1016促进存储器设备与处理系统1000的其他组件之间的通信, 而平台控制器集线器(PCH)1030通过本地I/O总线提供到I/O设备的连 接。

在至少一个实施例中,存储器设备1020可以是动态随机存取存储器 (DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备、相变 存储设备或具有适当的性能以用作处理器存储器。在至少一个实施例中, 存储设备1020可以用作处理系统1000的系统存储器,以存储数据1022 和指令1021,以在一个或更多个处理器1002执行应用程序或过程时使用。在至少一个实施例中,存储器控制器1016还与可选的外部图形处理器1012 耦合,其可以与处理器1002中的一个或更多个图形处理器1008通信以执 行图形和媒体操作。在至少一个实施例中,显示设备1011可以连接至处理 器1002。在至少一个实施例中,显示设备1011可以包括内部显示设备中 的一个或更多个,例如在移动电子设备或膝上型设备或通过显示器接口(例 如显示端口(DisplayPort)等)连接的外部显示设备中。在至少一个实施 例中,显示设备1011可以包括头戴式显示器(HMD),诸如用于虚拟现实 (VR)应用或增强现实(AR)应用中的立体显示设备。

在至少一个实施例中,平台控制器集线器1030使外围设备能够通过 高速I/O总线连接到存储设备1020和处理器1002。在至少一个实施例中, I/O外围设备包括但不限于音频控制器1046、网络控制器1034、固件接口 1028、无线收发器1026、触摸传感器1025、数据存储设备1024(例如, 硬盘驱动器、闪存等)。在至少一个实施例中,数据存储设备1024可以经 由存储接口(例如,SATA)或经由外围总线来连接,诸如外围组件互连总 线(例如,PCI、PCIe)。在至少一个实施例中,触摸传感器1025可以包括 触摸屏传感器、压力传感器或指纹传感器。在至少一个实施例中,无线收 发器1026可以是Wi-Fi收发器、蓝牙收发器或移动网络收发器,诸如3G、 4G或长期演进(LTE)收发器。在至少一个实施例中,固件接口1028使 能与系统固件的通信,并且可以是例如统一可扩展固件接口(UEFI)。在 至少一个实施例中,网络控制器1034可以启用到有线网络的网络连接。在 至少一个实施例中,高性能网络控制器(未示出)与接口总线1010耦合。 在至少一个实施例中,音频控制器1046是多通道高清晰度音频控制器。在 至少一个实施例中,处理系统1000包括可选的传统(legacy)I/O控制器1040,用于将传统(例如,个人系统2(PS/2))设备耦合到系统1000。在 至少一个实施例中,平台控制器集线器1030还可以连接到一个或更多个通 用串行总线(USB)控制器1042,该控制器连接输入设备,诸如键盘和鼠 标1043组合、相机1044或其他USB输入设备。

在至少一个实施例中,存储器控制器1016和平台控制器集线器1030 的实例可以集成到离散的外部图形处理器中,例如外部图形处理器1012。 在至少一个实施例中,平台控制器集线器1030和/或存储器控制器1016可 以在一个或更多个处理器1002的外部。例如,在至少一个实施例中,系统 1000可以包括外部存储器控制器1016和平台控制器集线器1030,其可以 配置成在与处理器1002通信的系统芯片组中的存储器控制器集线器和外 围控制器集线器。

这样的组件可以用于生成合成语音。

图11是根据至少一个实施例的具有一个或更多个处理器核心 1102A-1102N、集成存储器控制器1114和集成图形处理器1108的处理器 1100的框图。在至少一个实施例中,处理器1100可以包含附加核心,多 达并包括以虚线框表示的附加核心1102N。在至少一个实施例中,每个处 理器核心1102A-1102N包括一个或更多个内部高速缓存单元1104A-1104N。在至少一个实施例中,每个处理器核心还可以访问一个或更多个共享高速 缓存单元1106。

在至少一个实施例中,内部高速缓存单元1104A-1104N和共享高速缓 存单元1106表示处理器1100内的高速缓存存储器层次结构。在至少一个 实施例中,高速缓存存储器单元1104A-1104N可以包括每个处理器核心内 的至少一级指令和数据高速缓存以及共享中级高速缓存中的一级或更多级 缓存,例如2级(L2)、3级(L3)、4级(L4)或其他级别的高速缓存, 其中将外部存储器之前的最高级别的高速缓存归类为LLC。在至少一个实 施例中,高速缓存一致性逻辑维持各种高速缓存单元1106和1104A-1104N 之间的一致性。

在至少一个实施例中,处理器1100还可包括一组一个或更多个总线 控制器单元1116和系统代理核心1110。在至少一个实施例中,一个或更 多个总线控制器单元1116管理一组外围总线,例如一个或更多个PCI或 PCIe总线。在至少一个实施例中,系统代理核心1110为各种处理器组件 提供管理功能。在至少一个实施例中,系统代理核心1110包括一个或更多 个集成存储器控制器1114,以管理对各种外部存储器设备(未示出)的访 问。

在至少一个实施例中,一个或更多个处理器核心1102A-1102N包括对 多线程同时进行的支持。在至少一个实施例中,系统代理核心1110包括用 于在多线程处理期间协调和操作核心1102A-1102N的组件。在至少一个实 施例中,系统代理核心1110可以另外包括电源控制单元(PCU),该电源 控制单元包括用于调节处理器核心1102A-1102N和图形处理器1108的一 个或更多个电源状态的逻辑和组件。

在至少一个实施例中,处理器1100还包括用于执行图处理操作的图 形处理器1108。在至少一个实施例中,图形处理器1108与共享高速缓存 单元1106和包括一个或更多个集成存储器控制器1114的系统代理核心 1110耦合。在至少一个实施例中,系统代理核心1110还包括用于驱动图 形处理器输出到一个或更多个耦合的显示器的显示器控制器1111。在至少 一个实施例中,显示器控制器1111也可以是经由至少一个互连与图形处理器1108耦合的独立模块,或者可以集成在图形处理器1108内。

在至少一个实施例中,基于环的互连单元1112用于耦合处理器1100 的内部组件。在至少一个实施例中,可以使用替代性互连单元,例如点对 点互连、交换互连或其他技术。在至少一个实施例中,图形处理器1108 经由I/O链路1113与环形互连1112耦合。

在至少一个实施例中,I/O链路1113代表多种I/O互连中的至少一种, 包括促进各种处理器组件与高性能嵌入式存储器模块1118(例如eDRAM 模块)之间的通信的封装I/O互连。在至少一个实施例中,处理器核心 1102A-1102N和图形处理器1108中的每一个使用嵌入式存储器模块1118 作为共享的最后一级高速缓存。

在至少一个实施例中,处理器核心1102A-1102N是执行公共指令集 架构的同质核心。在至少一个实施例中,处理器核心1102A-1102N在指令 集架构(ISA)方面是异构的,其中一个或更多个处理器核心1102A-1102N 执行公共指令集,而一个或更多个其他处理器核心1102A-1102N执行公共 指令集的子集或不同指令集。在至少一个实施例中,就微架构而言,处理 器核心1102A-1102N是异构的,其中具有相对较高功耗的一个或更多个核 心与具有较低功耗的一个或更多个功率核心耦合。在至少一个实施例中, 处理器1100可以在一个或更多个芯片上实现或被实现为SoC集成电路。

这样的组件可以用于生成合成语音。

本公开的实施例可以鉴于以下条款实施。

1.一种计算机实现的方法,包括:

从包括人类语音的多个音频样本确定音素和音素持续时间之间的对齐;

从所述对齐生成与分布相对应的对齐矩阵;

接收输入文本序列;

从所述对齐矩阵中采样所述输入文本序列的对应部分的音素和音素持 续时间;以及

至少部分地基于所述采样来推理生成的音频剪辑。

2.如条款1所述的计算机实现的方法,还包括:

生成合成的训练音频样本;

为所述合成的训练音频样本提供标识符;

至少部分地使用生成的合成的训练音频样本来训练一个或更多个机器 学习系统。

3.如条款2所述的计算机实现的方法,其中所述推理来自没有所述合 成的训练音频样本的未增强分布。

4.如条款1所述的计算机实现的方法,还包括:

确定文本和梅尔编码对之间的L2距离,所述对齐矩阵至少部分地基 于相应的L2距离。

5.如条款1所述的计算机实现的方法,其中所述对齐是作为没有外部 对齐器的归一化流框架的部分来执行的。

6.如条款1所述的计算机实现的方法,还包括:

使用演进的对齐集合来训练文本到语音系统。

7.如条款6所述的计算机实现的方法,其中所述演进的对齐集合包括 在训练序列的不同阶段引入的一个或更多个训练对齐。

8.如条款1所述的计算机实现的方法,其中音素持续时间是在推理时 确定的。

9.如条款1所述的计算机实现的方法,还包括:

增强所述多个音频样本的至少一部分。

10.一种方法,包括:

使用经训练的第一神经网络处理包括人类语音的第一音频样本;

使用经训练的第二神经网络并行地处理文本序列;

至少部分地基于所述第一音频样本确定所述第一音频样本的文本分量 和所述文本分量的持续时间之间的对齐;

至少部分地基于所述对齐,生成与所述文本序列相对应的第二音频样 本。

11.如条款10所述的方法,还包括:

从第一音频样本确定与音调和能量相对应的一个或更多个分布。

12.如条款10所述的方法,还包括:

从所述一个或更多个分布中的至少一个进行采样。

13.如条款10所述的方法,还包括:

增强所述第一音频样本以创建增强的音频样本;

至少部分地基于所述增强的音频样本训练所述第一神经网络。

14.如条款13所述的方法,其中在推理期间不选择所述分布的与所述 增强的音频样本相对应的部分。

15.如条款14所述的方法,还包括:

在与所述对齐相对应的分布内识别所述增强的音频样本。

16.一种处理器,包括:

一个或更多个处理单元,用于:

从多个样本音频片段生成一个或更多个合成训练剪辑;

使用一个或更多个合成训练剪辑的至少一部分来训练一个或更多 个文本到语音机器学习系统;

识别与所述一个或更多个合成训练剪辑相对应的分布内的一个或 更多个位置;以及

在使用文本到语音机器学习系统进行推理期间,从没有一个或更 多个合成训练剪辑的所述分布的一个或更多个区域中进行采样。

17.如条款16所述的处理器,其中所述文本到语音机器学习系统形成 端到端并行语音合成系统的至少一部分。

18.如条款16所述的处理器,其中所述一个或更多个处理单元进一步 用于至少部分地基于增强概率来增强所述多个样本音频片段的一个或更多 个特征。

19.如条款18所述的处理器,其中所述一个或更多个特征与音调或能 量中的至少一个相对应。

20.如条款16所述的处理器,其中所述一个或更多个处理单元进一步 用于使用所述经训练的文本到语音系统来至少部分地基于输入文本序列生 成合成语音。

其他变型在本公开的精神内。因此,尽管公开的技术易于进行各种 修改和替代构造,但是某些示出的其实施例在附图中示出并且已经在上面 进行了详细描述。然而,应理解,无意将公开内容限制为所公开的一种或 更多种特定形式,而是相反,其意图是涵盖落入如所附权利要求书所定义 的本公开内容的精神和范围内的所有修改、替代构造和等同物。

除非另有说明或显然与上下文矛盾,否则在描述所公开的实施例的 上下文中(特别是在所附权利要求的上下文中),术语“一”和“一个”和“该” 以及类似指代的使用应被解释为涵盖单数和复数,而不是作为术语的定义。 除非另有说明,否则术语“包括”、“具有”、“包含”和“含有”应被解释为开放 式术语(意味着“包括但不限于”)。术语“连接”(在未经修改时指的是物理 连接)应解释为部分或全部包含在内、附接到或连接在一起,即使有某些介入。除非本文另外指出,否则本文中对数值范围的引用仅旨在用作分别 指代落入该范围内的每个单独值的简写方法,并且每个单独值都被并入说 明书中,就如同其在本文中被单独叙述一样。除非另外指出或与上下文矛 盾,否则术语“集”(例如“项目集”)或“子集”的使用应解释为包括一个或 更多个成员的非空集合。此外,除非另外指出或与上下文矛盾,否则术语 相对应集的“子集”不一定表示对应集的适当子集,而是子集和对应集可以 相等。

除非以其他方式明确指出或与上下文明显矛盾,否则诸如“A,B和C 中的至少一个”或“A,B与C中的至少一个”形式的短语之类的连接语在上 下文中理解为通常用于表示项目、条款等,其可以是A或B或C,也可以 是A和B和C集的任何非空子集。例如,在具有三个成员的集的说明性示 例中,连接短语“A,B和C中的至少一个”和“A,B与C中的至少一个” 是指以下任意集:{A},{B},{C},{A,B},{A,C},{B,C},{A,B, C}。因此,这种连接语言通常不旨在暗示某些实施例要求存在A中的至少 一个,B中的至少一个和C中的至少一个。另外,除非另有说明或与上下 文矛盾,否则术语“多个”表示复数的状态(例如,“多个项目”表示多个项 目)。多个项目中项目的数量至少为两个,但如果明确指示或通过上下文指 示,则可以更多。此外,除非另有说明或从上下文中可以清楚得知,否则 短语“基于”是指“至少部分基于”而不是“仅基于”。

除非本文另外指出或与上下文明显矛盾,否则本文描述的过程的操 作可以任何合适的顺序执行。在至少一个实施例中,诸如本文所述的那些 过程(或其变形和/或其组合)之类的过程在配置有可执行指令的一个或更 多个计算机系统的控制下执行,并且被实现为代码(例如,可执行指令, 一个或更多个计算机程序或一个或更多个应用程序),该代码通过硬件或其 组合在一个或更多个处理器上共同执行。在至少一个实施例中,代码以例如计算机程序的形式存储在计算机可读存储介质上,该计算机程序包括可 由一个或更多个处理器执行的多个指令。在至少一个实施例中,计算机可 读存储介质是非暂时性计算机可读存储介质,其排除了暂时性信号(例如, 传播的瞬态电或电磁传输),但包括非暂时性数据存储电路(例如,缓冲区、 高速缓存和队列)。在至少一个实施例中,代码(例如,可执行代码或源代 码)被存储在其上存储有可执行指令的一组一个或更多个非暂时性计算机 可读存储介质(或用于存储可执行指令的其他存储器)上,该可执行指令 在由计算机系统的一个或更多个处理器执行时(即,作为被执行的结果), 使得计算机系统执行本文所述的操作。在至少一个实施例中,一组非暂时 性计算机可读存储介质包括多个非暂时性计算机可读存储介质,并且多个 非暂时性计算机可读存储介质中的个体非暂时性存储介质中的一个或更多 个缺少全部代码,而是多个非暂时性计算机可读存储介质共同存储全部代 码。在至少一个实施例中,可执行指令被执行,以使得不同的指令由不同 的处理器执行,例如,非暂时性计算机可读存储介质存储指令,并且主中 央处理单元(“CPU”)执行一些指令,而图形处理单元(“GPU”)和/或数 据处理单元(“DPU”)执行其他指令。在至少一个实施例中,计算机系统 的不同组件具有单独的处理器,并且不同的处理器执行指令的不同子集。

因此,在至少一个实施例中,计算机系统被配置为实现单独地或共 同地执行本文所述的过程的操作的一个或更多个服务,并且这样的计算机 系统被配置有使能实施操作的适用的硬件和/或软件。此外,实现本公开的 至少一个实施例的计算机系统是单个设备,并且在另一实施例中是分布式 计算机系统,其包括以不同方式操作的多个设备,使得分布式计算机系统 执行本文所述的操作,并且使得单个设备不执行所有操作。

本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅 旨在更好地阐明本公开的实施例,并且不对公开的范围构成限制,除非另 有要求。说明书中的任何语言都不应被解释为表示任何未要求保护的要素 对于实践公开内容是必不可少的。

本文引用的所有参考文献,包括出版物、专利申请和专利,均通过 引用并入本文,其程度就如同每个参考文献被单独且具体地指示为以引用 的方式并入本文并且其全部内容在本文中阐述一样。

在说明书和权利要求中,可以使用术语“耦合”和“连接”以及它们的派 生词。应当理解,这些术语可能不旨在作为彼此的同义词。相反,在特定 示例中,“连接”或“耦合”可用于指示两个或更多个元件彼此直接或间接物 理或电接触。“耦合”也可能意味着两个或更多个元素彼此不直接接触,但 仍彼此协作或交互。

除非另有明确说明,否则可以理解,在整个说明书中,诸如“处理”、 “运算”、“计算”、“确定”等之类的术语,是指计算机或计算系统或类似的 电子计算设备的动作和/或过程,其将计算系统的寄存器和/或存储器中表示 为物理量(例如电子)的数据处理和/或转换为类似表示为计算系统的存储 器、寄存器或其他此类信息存储、传输或显示设备中的物理量的其他数据。

以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的 电子数据并将该电子数据转换成可以存储在寄存器和/或存储器中的其他 电子数据的任何设备或存储器的一部分。作为非限制性示例,“处理器”可 以是能够进行通用处理的任何处理器,例如CPU、GPU或DPU。作为非 限制性示例,“处理器”可以是任何微控制器或专用处理单元,例如DSP、 图像信号处理器(“ISP”)、算术逻辑单元(“ALU”)、视觉处理单元 (“VPU”)、树遍历单元(“TTU”)、光线追踪核心、张量追踪核心、张量 处理单元(“TPU”)、嵌入式控制单元(“ECU”)等。作为非限制性示例, “处理器”可以是硬件加速器,例如PVA(可编程视觉加速器)、DLA(深 度学习加速器)等。作为非限制性示例,“处理器”还可以包括托管在执行 一个或更多个虚拟机的底层硬件组件上的CPU、GPU等的一个或更多个 虚拟实例。“计算平台”可以包括一个或更多个处理器。如本文所使用的,“软 件”进程可以包括例如随时间执行工作的软件和/或硬件实体,诸如任务、 线程和智能代理。同样,每个过程可以指代多个过程,以连续地或间歇地 顺序地或并行地执行指令。术语“系统”和“方法”在本文中可以互换使用,只要系统可以体现一种或更多种方法,并且方法可以被认为是系统。

在本文件中,可以参考获得、获取、接收或将模拟或数字数据输入 子系统、计算机系统或计算机实现的机器中。可以通过多种方式来获得、 获取、接收或输入模拟和数字数据,例如通过接收作为函数调用或对应用 程序编程接口的调用的参数的数据。在一些实现方式中,可以通过经由串 行或并行接口传输数据来完成获得、获取、接收或输入模拟或数字数据的 过程。在另一实现方式中,可以通过经由计算机网络将数据从提供实体传 输到获取实体来完成获得、获取、接收或输入模拟或数字数据的过程。也 可以参考提供、输出、传送、发送或呈现模拟或数字数据。在各种示例中, 提供、输出、传送、发送或呈现模拟或数字数据的过程可以通过将数据作 为函数调用的输入或输出参数、应用程序编程接口或进程间通信机制的参 数进行传输来实现。

尽管上面的讨论阐述了所描述的技术的示例实现,但是其他架构可 以用于实现所描述的功能,并且旨在落入本公开的范围内。此外,尽管出 于讨论的目的在上面定义了具体的职责分配,但是根据情况,可以以不同 的方式分配和划分各种功能和职责。

此外,尽管已经用特定于结构特征和/或方法动作的语言描述了主题, 但是应当理解,所附权利要求书所要求保护的主题不必限于所描述的特定 特征或动作。而是,公开了特定的特征和动作作为实现权利要求的示例性 形式。

技术分类

06120115918341