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

一种训练方法、语音转换方法及装置和电子设备

文献发布时间:2023-06-19 15:47:50



技术领域

本发明涉及人工智能技术领域,尤其涉及一种训练方法、语音转换方法及装置和电子设备。

背景技术

语音转换(Voice Conversion)是一种在说话内容不变基础上,将原始说话人的语音音色迁移到目标说话人的语音音色的方式,其在电影配音、角色模仿、复刻人物音色、教育领域等方面都有重要的应用。

以教育领域为例,在直播教学过程中可以为用户提供IP定制、个性化定制音色等变声服务。目前,可以通过单样本语音转换复制音色,以降低对语音转换训练数据的要求,并显著节省计算资源。

发明内容

根据本公开的一方面,提供了一种训练方法,用于训练语音转换模型,所述语音转换模型包括编码器和解码器,所述解码器为基于流的生成模型,所述方法包括:

利用所述编码器从语音文本提取第一分布参数;

利用所述解码器处理语音频谱信息和语音音色信息,获得第一隐变量,所述语音文本、所述语音频谱信息和所述语音音色信息来自同一语音;

基于单调对齐搜索算法更新所述编码器的网络参数和所述解码器的网络参数,直到所述第一隐变量服从所述语音文本的第一分布参数。

根据本公开的另一方面,提供了一种语音转换方法,应用本公开示例性所述方法训练的语音转换模型,所述方法包括:

获取原始语音;

利用解码器处理同一所述原始语音的频谱信息和原始音色信息,获得原始语音的隐变量;

基于同一所述原始语音的帧数和所述隐变量,采用单调对齐搜索算法获得目标分布参数;

利用解码器处理所述隐变量、所述目标分布参数和和目标音色信息,获得转换后的语音信息。

根据本公开的另一方面,提供了一种训练装置,用于训练语音转换模型,所述语音转换模型包括编码器和解码器,所述解码器为基于流的生成模型,所述装置包括:

提取模块,用于利用所述编码器从语音文本提取第一分布参数;

获取模块,用于利用所述解码器处理语音频谱信息和语音音色信息,获得第一隐变量,所述语音文本、所述语音频谱信息和所述语音音色信息来自同一语音;

更新模块,用于基于单调对齐搜索算法更新所述编码器的网络参数和所述解码器的网络参数,直到所述第一隐变量服从所述语音文本的第一分布参数。

根据本公开的另一方面,提供了一种语音转换装置,应用本公开示例性所述方法训练的语音转换模型,所述装置包括:

获取模块,用于获取原始语音;

处理模块,用于利用解码器处理同一所述原始语音的频谱信息和原始音色信息,获得原始语音的隐变量;

对齐模块,用于基于同一所述原始语音的帧数和所述隐变量,采用单调对齐搜索算法获得目标分布参数;

所述处理模块还用于利用解码器处理所述隐变量、所述目标分布参数和目标音色信息,获得转换后的语音信息。

根据本公开的另一方面,提供了一种电子设备,包括:

处理器;以及,

存储程序的存储器,

其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开示例性所述的方法。

根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储有计算机指令的所述计算机指令用于使所述计算机执行根据本公开示例性所述的方法。

本公开实施例中提供的一个或多个技术方案中,可以利用解码器处理语音频谱信息和语音音色信息,使得所获得的第一隐变量融合了语音频谱特征和语音音色特征,因此,第一隐变量的信息丰富。在此基础上,利用单调对齐搜索算法更新编码器的网络参数和解码器的网络参数,直到第一隐变量服从语音文本的第一分布参数,可以保证训练处的语音转换模型具有较高的语音转换准确性。同时,解码器为基于流的生成模型,是一种可逆的解码器,当本公开实施例的方法应用训练后的语音转换模型进行语音转换时,还可以利用解码器并行化处理隐变量、目标分布参数和目标音色信息,从而获得转换后的语音信息。

不仅如此,本公开实施例的基于流的生成模型可以与单调对齐搜索算法相结合实现并行化运算,使得在同等硬件条件下,不仅可以基于超长文本语音转换快速训练语音转换模型,还可以利用语音转换模型快速转换超长文本语音转换。

附图说明

在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:

图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图;

图2示出了本公开示例性实施例的语音转换模型的架构图;

图3示出了本公开示例性实施例的训练方法的流程示意图;

图4示出了本公开示例性实施例的编码器的结构示意图;

图5示出了本公开示例性实施例的解码器的一种结构示意图;

图6示出了本公开示例性实施例的网络参数的更新流程示意图;

图7A~图7C所示的单调对齐搜索算法的原理示意图;

图8示出了本公开示例性实施例的语音转换方法的流程示意图;

图9示出了本公开示例性实施例的语音转换方法的一种原理示意图;

图10示出了本公开示例性实施例的语音转换方法的另一种原理示意图;

图11示出了根据本公开示例性实施例的训练装置的功能模块示意性框图;

图12示出了根据本公开示例性实施例的语音转换装置的功能模块示意性框图;

图13示出了根据本公开示例性实施例的芯片的示意性框图;

图14示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

在介绍本公开实施例之前首先对本公开实施例中涉及到的相关名词作如下释义:

语音转换(Voice Conversion)是指在说话内容不变基础上,将原始语音说话人音色迁移到目标说话人音色。

TTS是Text To Speech的缩写,其是将文本信息转换成语音信号的技术,是人机对话的一部分,让机器能够说话。

声谱图是通过傅里叶变换将语音信号从时域变换到频域。例如:可以采用短时傅里叶变换方式对短时语音信号做傅里叶变换。原理如下:对一段长语音信号,分帧、加窗,再对每一帧做傅里叶变换,之后把每一帧的结果沿另一维度堆叠,得到声谱图。

语音识别(Automatic Speech Recognition,缩写为ASR)是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语。

梅尔频谱是通过梅尔尺度滤波器组(Mel-scale filter banks)将声谱图变为梅尔频谱。

基于流的生成模型,又称Flow-based generative model,其在NICE(Dinh etal.,2014)中描述,并在RealNVP中扩展(Dinh et al.,2016),它选择直接直面生成模型的概率计算。

global style tokens,缩写为GSTs模型,GSTs模型包括三个部分:参考编码器(reference encoder)、风格注意力(style attention)以及风格编码(style embedding)和序列到序列的生成模型(即Tacotron)。

单调对齐搜索算法(monotonic align serch,缩写为MAS)实质是一种动态规划算法。即先计算所有的对齐概率,然后寻找一条最大概率搜索路径。

字素到音素(Grapheme-to-Phoneme,缩写为G2P),是使用循环神经网络(recurrent neural network,RNN)和长短期记忆单元(long short-termmemory units,缩写为LSTM),将字素转换为音素。

音素是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。例如,以拼音的发音规则为例,可以将每个文字的拼音所对应的声母作为一个音素,拼音的韵母作为另一个音素,如“天气”中,文字“天”对应的音素可以包括“t”和“ian”,文字“气”对应的音素可以包括“q”和“i”。

分布函数,英文:distribution function,其可以定义为:设X是一个随机变量,x是任意实数,函数F(x)=PX≤x称为X的分布函数。有时也记为X~F(x)。

高斯分布(Gaussian distribution)又称正态分布(Normal distribution),是一个在数学、物理及工程等领域都非常重要的概率分布。若随机变量服从一个位置参数、尺度参数的概率分布,记为:则其概率密度函数为正态分布的数学期望值或期望值等于位置参数μ(又称均值),决定了分布位置;其方差σ的开平方或标准差等于尺度参数,决定了分布的幅度。

最大似然估计(maximum likelihood estimation)是一种重要而普遍的求估计量的方法,其可以在已知试验结果(即是样本)的情况下,用来估计满足这些样本分布的参数,把可能性最大的参数作为真实值的参数估计。

期望最大化(Expectation Maximum)算法是在概率模型中寻找最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐含变量。

隐变量主要就是指“不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西”。

本公开示例性实施例提供一种训练方法,其可以训练鲁棒性好、可控性佳的语音转换模型,该语音转换模型应用在语音转换方法中,可以快速高效的实现超长文本语音转换。

为了方便理解本公开示例性实施例的方法,图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图。如图1所示,本公开示例性实施例的系统100包括用户设备101和服务器102。用户设备101可以与服务器102通过互联网通信,互联网可以是局域互联网或者广域互联网,此处不做限制。

在实际应用中,如图1所示,用户设备101可以从声源获取语音,将音频进行单样本训练或者语音转换,或者不对语音进行处理,将其传送至服务器102,服务器102可以将获取到的音频进行单样本训练或者语音转换,获得目标语音。如果用户设备101自带音频播放设备,用户设备可以从服务器获取目标语音,并通过自带的音频播放设备播放目标语音。应理解,本公开示例性实施例的用户设备100或者服务器102还可以含有声码器,可以将服务器102处理后的语音转换为目标音频。

本公开示例性实施例的用户设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等用户设备上,本公开示例性实施例对电子设备的具体类型不作任何限制。

例如,所述用户设备可以是WLAN中的站点(STATION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备等。

作为示例而非限定,当所述用户设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。

当前,基于深度学习实现到目标说话人的语音转换已经取得很大的进步,例如:基于CycleGAN、变分自编码器以及ASR的语音转换方法均可以很好的实现到训练集内说话人的语音转换。然而,如果想要增加一个目标说话人音色,或者进行用户音色的自定义复刻,通常需要大量的说话人数据,以重新训练一个以该说话人音色为目标音色语音转换模型,或者通过少量数据对现有模型进行自适应训练。

在实际应用中,数据库录制的周期和成本都比较高,而对于普通用户而言,也很难获得用户大量的语音数据。基于此,基于文本辅助的注意力模型如(cotatron)虽然能够与TTS模型共享注意力(attention),实现一对多(one-to-many)转换,但是这种方式训练周期长,推理速度慢,计算量大,无法实现超长文本合成转换等缺点。

本公开示例性实施例的训练方法用于训练语音转换模型。图2示出了本公开示例性实施例的语音转换模型的架构图。如图2所示,该语音转换模型200至少包括编码器201和解码器202。解码器202可以为可逆的解码器,其可以为基于流的生成模型。本公开示例性实施例的训练方法可以应用于上述服用户设备、服务器等电子设备,也可以应用在上述用户设备或用户设备等电子设备中的芯片。下面结合附图详细说明本公开示例性实施例的训练方法。

图3示出了本公开示例性实施例的训练方法的流程示意图。如图3所示,本公开示例性实施例的训练方法包括:

步骤301:利用编码器从语音文本提取第一分布参数。语音文本可以预存的语音文本,也可以是从采用各种常规的语音转文本技术实现,如常见的google sdk speech-to-text同步识别将语音数据发送到Speech-to-Text API,对该语音数据执行识别,并在所有音频处理完毕后返回结果。

如图2所示,本公开示例性实施例的编码器201可以包括转换单元2011、提取单元2012和线性单元2013。转换单元2011用于将所述语音文本转换为语音音素,而提取单元2012用于预测语音音素的时序信息,线性单元2013可以基于时序信息确定第一分布参数。

图4示出了本公开示例性实施例的编码器的结构示意图。如图4所示,解码器400可以包括G2P401、提取单元402和线性单元403。可以采用G2P401将语音文本转换为语音音素,提取单元402提取语音音素的时序信息时,提取方式多种多样,可以基于自注意力方式进行提取,也可以基于非注意力方式进行提取。线性单元403可以从语音音素的时序信息提取到第一分布参数。

示例性的,如图4所示,提取单元402可以包括卷积层4021和双向LSTM4022,卷积层4021可以用于提取语音音素的音素特征,双向LSTM4022则可以基于音素特征获得语音音素的时序信息。从编码器的架构可以看出,编码器不需要依赖自注意力机制提取第一分布参数,具有较少的计算量和较快的计算速度,从而使得语音转换模型可以快速完成较长语音文本的训练。

举例来说,当语音音素的维度可以为512d,卷积层的层数为3层,每层卷积层的维度为512d,卷积层的尺寸为5×1,双向LSTM的尺寸为2×256。在此基础上,线性单元可以对双向LSTM输出的语音音素的时序信息进行分析,从而确定出分布规律,分布规律可以为高斯化分布规律,并获取到第一分布参数,即高斯化分布参数:均值和方差。

步骤302:利用解码器处理语音频谱信息和语音音色信息,获得第一隐变量。此处语音频谱信息和语音音色信息可以是预存的信息,也可以是从语音提取的信息。语音频谱信息可以为声谱图,也可以为梅尔谱。为了减少训练数据的内存占用量,可以将梅尔谱的语音频谱信息输出解码器,但不仅限于此。

如图2所示,本公开示例性实施例的解码器202包括:压缩单元2021、流模组2022以及解压单元2023。压缩单元2021用于对语音频谱信息进行压缩,获得频谱压缩信息。流模组2022可以包括一个或多个(如N=8~12,可以为N=8、12或10)流模型,用于基于频谱压缩信息和语音音色信息获得耦合信息;解压单元2023,其可以将耦合信息的尺寸恢复至语音频谱信息的尺寸,用于将耦合信息解压为第一隐变量。例如:压缩单元2021可以将维度为80D,频率为86Hz的梅尔谱压缩为160D、频率为43Hz的频谱压缩信息,然后通过12个流模型后,所获得的耦合信息的维度仍然为160D,频率为43Hz,最后通过解码单元将耦合信息进行解码,形成维度为80D,频率为86Hz的第一隐变量。

本公开示例性实施例的流模组具有良好的并行化功能,可以快速实现超长语音文本训练和转换,并节省硬件内存。同时,流模组基于频谱压缩信息和语音音色信息提取耦合信息,可以使得耦合信息不仅含有频谱信息,还含有音色信息,保证频谱特征内容丰富,以保证后续单调对齐算法时,可以比较准确的将第一隐变量对齐到第一分布参数,提高训练后的语音转换模型的鲁棒性和可控性。

在一些实施例中,本公开示例性实施例的流模组包括一个流式模型或多个串联的流模型(即基于流的生成模式)。图5示出了本公开示例性实施例的解码器的一种结构示意图。如图5所示,解码器500含有N个流式模型502,N为大于1的整数,如12个,每个流式模型502包括:

激活归一化层5021(ActNorm层),用于对输入信息进行预处理,获得处理数据。例如:激活归一化层5021可以使用每个通道的尺度和偏差参数对激活进行仿射变换,其类似于批处理归一化。可逆1×1卷积层5022(Invertible 1*1Conv),其权值矩阵初始化为一个随机旋转矩阵,用于对处理数据进行特征提取,获得频谱特征。仿射耦合层5023(AffineCoupling Layers)是一种强大的可逆变换,其中正向函数、反向函数和对数行列式计算效率很高,其用于耦合频谱特征和语音音色信息,获得耦合信息,进而利用解压单元503解压为隐变量。

由于流模组502包括一个流式模型或多个串联的流式模型,因此,当流模组502为一个的情况下,输入特征为来自压缩单元501的压缩信息,当流模组502包括多个串联的流式模型,除了与压缩单元501连接的流式模型外,其它的流式模型的输入特征为自前一个流生成模组输出的耦合信息。

在一些实施例中,本公开示例性实施例的语音音色信息可以包括语音风格特征和服从分布函数的音色相关参数。此处音色相关参数可以是对音色有影响的各种参数,包括但不仅限于语音能量和语音基频。此处的分布函数的类型与所述第一分布参数对应的分布函数的类型匹配,以保证形成的语音音色信息可以与语音频谱信息准确和方便的耦合在一起。例如:当第一分布参数为高斯分布参数,那么此处的分布函数可以高斯分布函数。

示例性的,如图2所示,上述语音音色信息为来自参考模型203的音色信息。该参考模型203可以为提前训练的参考模型,也可以是与编码器201和解码器202一起训练的参考模型。例如;如图2所示,该参考模型203可以包括:

特征提取子模型2031,用于提取语音的语音风格特征。该特征提取子模型可以为GSTs模型或风格标签模组(speaker encoder)。

音色编码子模型2032,用于对音色相关参数进行编码,获得服从分布函数的音色相关参数。当音色相关参数包括语音能量和语音基频时,音色编码子模型可以包括第一编码子模型和第二编码子模型,第一编码子模型可以对语音能量进行编码,获得服从分布函数的语音能量,第二编码子模型可以对语音基频进行编码,获得服从分布函数的语音基频。拼接单元2033,用于拼接语音风格特征和服从分布函数的音色相关参数,从而获得语音音色信息。可见,语音音色信息不仅含有音色相关参数还含有语音风格特征,从而保证语音音色信息含有与说话人的声音个性化特征,从而使得第一隐变量内容丰富。

相关技术中,可以利用流做条件概率密度估计,将给定的条件合并到流中,然后将数据映射到已知的条件流中。本公开示例性实施例将条件信息合并到流的统计信息中,而不是直接合并到流中。基于此,本公开示例性实施例的方法采用单调对齐搜索算法实现第一隐变量服从第一分布参数。例如:在步骤302之后,本公开示例性实施例的方法还包括:包括:

步骤303:基于单调对齐搜索算法更新编码器的网络参数和解码器的网络参数,直到第一隐变量服从第一分布参数。基于单调对齐搜索算法的目标,是保证第一隐变量服从第一分布函数,语音文本、语音频谱信息和语音音色信息可以来自同一语音。当第一隐变量服从第一分布参数后,如果基于语音转换模型进行语音转换,可以利用解码器和单调对齐搜索算法相结合可以估计第一隐变量所服从的最优目标分布参数,并通过解码器结合目标音色信息与符合最优目标分布参数的第一隐变量,获得符合目标音色信息的语音。

图6示出了本公开示例性实施例的网络参数的更新流程示意图。如图6所示,本公开示例性实施例的基于单调对齐搜索算法更新所述编码器的网络参数和所述解码器的网络参数,直到所述第一隐变量服从所述第一分布参数,包括:

步骤601:采用单调对齐方式确定第一隐变量与所述语音文本的单调对齐信息。示例性的,可以基于第一分布参数、第一隐变量和语音频谱帧数,采用最大似然估计方式确定第一分布参数和第一隐变量的单调对齐信息。

步骤602:基于单调对齐信息和第一分布参数,获得第二隐变量。由于单调对齐信息可以对齐第一隐变量和第一分布函数,因此,可以基于单调对齐信息和第一分布参数,预估第二隐变量。

在实际应用中,可以先基于单调对齐信息,采用梯度下降法确定最大似然概率的模型参数,然后基于所述最大似然概率的模型参数、所述单调对齐信息和所述第一分布参数确定第二隐变量。如果单调对齐信息准确度比较高的情况下,第一隐变量和第二隐变量确定的损失量比较低。基于此,在步骤602之后,还可以包括:

步骤603:判断第一隐变量和第二隐变量确定的损失量是否大于或等于第一阈值。第一隐变量和第二隐变量确定损失量的方式可以参考相关均方误差损失函数,也可以根据实际采用其它类型的损失函数。

当第一隐变量和第二隐变量确定的损失量大于或等于第一阈值,说明单调对齐信息准确度比较低,第一隐变量和第一分布函数的对齐程度不是很高,第一隐变量和第二隐变量的差异无法忽略,执行步骤604,否则,说明第一隐变量和第一分布函数的对齐程度很高,第一隐变量和第二隐变量的差异可以忽略,可以执行步骤605。

步骤604:基于第一隐变量和第二隐变量更新解码器的网络参数。网络参数可以包括解码器的权值和偏移值。

步骤605:停止更新解码器的网络参数。

步骤606:基于单调对齐信息确定第二隐变量对齐的第二分布参数。当第一隐变量和第二隐变量确定的损失量小于第一阈值时,由于第一隐变量和第一分布函数的对齐程度很高,因此,当基于单调对齐信息确定第二隐变量对齐的第二分布参数时,第一分布函数和第二分布分数的差异性比较小。基于此,当第一隐变量和第二隐变量确定的损失量小于第一阈值时,不仅可以停止更新解码器的网络参数,还可以跳过步骤606直接执行步骤609,以停止更新编码器的网络参数。

步骤607:判断第一分布参数和第二分布参数确定的损失量是否大于或等于第二阈值。第一隐变量和第二隐变量确定损失量的方式也可以参考相关均方误差损失函数,或者其它损失函数。

当第一分布参数和第二分布参数确定的损失量大于或等于第二阈值,说明单调对齐信息准确度不是很高,难以忽略第一分布参数和第二分布参数的差异,执行步骤608,否则可以执行步骤609。

步骤608:基于所述第一分布参数和第二分布参数更新编码器的网络参数。网络参数可以包括解码器的权值和偏移值。

步骤609:停止更新编码器的网络参数。应理解,可以参考步骤606的相关描述,跳过步骤607,直接执行步骤608,也可以依次执行步骤606~步骤608。

需要说明的是,本公开示例性实施例的方法可以在执行步骤605,并跳开步骤606~步骤608,执行步骤609,提高训练速度,也可以执行步骤606和步骤607,根据步骤607的判断结果选择性执行步骤608或步骤609,提高训练鲁棒性和可靠性。应当理解的是,如果执行步骤605之后,执行步骤606和步骤607,如果步骤607的判断结果为第一分布参数和第二分布参数确定的损失量大于或等于第二阈值,那么不仅重新更新编码器的网络参数,还可以更新解码器的网络参数。

为了方便理解本公开示例性实施例的单调对齐搜索算法,本公开示例性实施例进行如下举例说明。

本公开示例性实施例的解码器可以基于音频梅尔谱生成第一隐变量z,第一隐变量z可以服从高斯分布Pz,编码器可以基于音频文本确定对应的第二隐变量h的高斯分布参数,可以包括均值μ和方差σ。此时,每帧的音频梅尔谱特征都映射成了某个特定的高斯分布,每个音频文本的字符都映射成相应的高斯分布。为了寻找第一隐变量z的高斯分布和第二隐变量h的高斯分布的对齐信息(即前文述及的单调对齐矩阵)

假设某段音频梅尔谱的帧长为T

首先,可以采用似然概率估计第j帧音频与第j个字符的映射相似概率P

Pz(z|c)为各项同性的多方差高斯分布,x表示音频梅尔谱,c表示音频文本序列,z为第一隐变量,f

对式一求最大似然概率,得到如式二所示的最大似然概率公式。但是由于式二中含有两个待求变量,分别为对齐矩阵A与最大似然概率的网络参数θ,直接求比较复杂。为了简化,用EM算法的思想对式二进行变换,获得式三和式四两个公式。

由此,可以通过式三和式四确定待求对齐矩阵A*和最大似然概率的网络参数θ。例如:最大似然概率的网络参数θ刚开始为初始值,在保持初始值不变的情况下,通过式四求得A*(相当于步骤601的单调对齐信息),然后将A*带入式三,可以求得最大似然概率的网络参数θ(相当于步骤602的最大似然概率的网络参数)。

在实际应用中,可以步骤301求得的第一分布参数(如高斯分布参数)、步骤302求得的第一隐变量、梅尔谱的帧长T

图7A~图7C所示的单调对齐搜索算法的原理示意图。如图7A所示,可以先计算所有的对齐概率,图7A中黑色圆圈的位置表示隐函数和第一分布参数之间存在对齐概率Q。然后按照如图7B和图7C的方式寻找一条最大概率搜索路径。不管是图7B所示的音频帧数单调递增还是图7C所示的音频帧数递减。

图7B中的黑色圆圈是Q

如图7B所示,第j帧音频对应的第一隐变量z

Q

假设可以利用Q矩阵表示A*的计算公式,Q

本公开示例性实施例的训练方法训练结束后,可以利用训练后的语音转换模型进行语音转换,生成目标音色的语音。基于此,本公开示例性实施例提供一种语音转换方法,其可以为由用户设备、服务器等电子设备或应用于电子设备的芯片执行。下面结合附图详细说明本公开示例性实施例的训练方法。

图8示出了本公开示例性实施例的语音转换方法的流程示意图。如图8所示,本公开示例性实施例的语音转换方法可以包括:

步骤801:获取原始语音。原始语音可以来自第一声源,原始语音的语言类型不做限制,可以为中文、也可以为英语、法语、日语、朝鲜语等外文。

在实际应用中,可以提前录制好原始语音,也可以利用用户设备自带的麦克风采集原始语音。

步骤802:利用解码器处理同一原始语音的频谱信息和原始音色信息,获得原始语音的隐变量。此处的频谱信息可以为梅尔谱也可以为声谱图,可以根据实际情况选择。

参考图2所示的解码器结构图,压缩单元2021,用于对频谱信息进行压缩,获得频谱压缩信息;流模组2022,用于基于频谱压缩信息和原始音色信息确定语音耦合信息;以及解压单元2023,用于将所述语音耦合信息解压为所述原始语音的隐变量。

示例性的,本公开示例性实施例的原始音色信息可以为来自参考模型的原始语音的语音音色信息。例如:可以通过特征提取子模型提取原始音频的语音风格特征,利用音色编码子模型对原始语音的基频和能量进行高斯化,获得高斯化基频和高斯化能量,接着拼接语音风格特征、高斯化基频和高斯化能量,形成原始音色信息,送入解码器的流模组进行耦合,从而获得内容丰富的隐变量,不仅含有原始音频的音色信息还含有原始音频的频谱特征。

步骤803:基于同一原始语音的帧数和隐变量,采用单调对齐搜索算法获得目标分布参数。可以采用前文述及的单调对齐搜索算法的相关描述处理同一原始语音的帧数和隐变量,从而获取得目标分布参数。例如:在训练完成后,对齐矩阵A*已知,因此,可以利用式五计算出目标高斯化参数。

同时,由于步骤802的解码器输出的隐变量含有内容丰富,不仅含有原始音频的音色信息还含有原始音频的频谱特征,因此,基于同一原始语音的帧数和隐变量,采用单调对齐搜索算法可以准确搜索到目标分布参数。

步骤804:利用解码器处理隐变量、目标分布参数和目标音色信息,获得转换后的语音信息。由于解码器具有可逆性,因此,当确定目标分布参数后,可以将隐变量、目标分布参数和目标音色信息输入解码器中进行逆向运算,获得转换后的语音信息。

示例性的,上述解码单元还用于对隐变量和目标分布参数进行解码,获得解码信息;流模组还用于基于解码信息和目标音色信息,获得耦合信息;压缩单元还用于对耦合信息进行解码,获得转换后的语音信息。由此可见,可以利用解码器将符合目标分布参数的隐变量和目标音色信息进行融合,从而获得转换后的音频信息。应理解,如果解码器所获得的转换后的语音信息为梅尔谱、声谱等频谱信息,可以利用声码器将其转换为语音。

本公开示例性实施例的目标音色信息为来自目标语音的语音音色信息,原始语音和目标语音的声源相同或不同。

在一种示例中,可以认为原始语音和目标语音的声源不同,因此,可以利用解码器将原始音频转换后,转换后的音频具有目标语音的声源所具有的音色。在另一种示例中,可以认为原始语音和目标语音的声源相同。例如,该声源为同一用户,同一用户可以改变自身音色,将其中一种音色保存在电子设备中,供以后语音转换使用。

本公开示例性实施例的目标音色信息可以为提前预存在电子设备的目标音色信息。用户可以从电子设备查找到所需的目标音色信息,将自身需要转换的原始音频输入到语音转换模型中进行语音转换即可。

当然,也可以参考前文述及的参考模型获取目标音色信息。例如:可以通过特征提取子模型提取目标音频的语音风格特征,利用音色编码子模型对目标音频的基频和能量进行高斯化,获得高斯化基频和高斯化能量,接着拼接语音风格特征、高斯化基频和高斯化能量,形成目标音色信息,送入解码器的流模组进行耦合,从而使得转换后的音频可以与目标音色匹配。

本公开示例性实施例了一种语音转换方法,其可以在不使用编码器的情况下,直接使用原始音频和对齐矩阵预测转换后的梅尔谱,然后经过声码器合成准换后的音频。图9示出了本公开示例性实施例的语音转换方法的一种原理900的示意图。如图9所示,本公开示例性实施例的方法包括:

第一步,向参考模型901输入原始发音人的原始音频,经过GSTs模型9011提取原始风格化特征、高斯化模型9012对基频和能量高斯归一化处理后,经过拼接单元9013进行拼接,可以获得原始音色信息,将其输入到解码器902的流模组9022含有的仿射耦合层9022b。

第二步,将原始发音人的梅尔谱,经压缩单元9021、流模组9022含有的激活归一化层9022a、可逆1×1卷积层9022b处理后,与原始音色信息一起进入仿射耦合层9022c进行耦合,然后利用解压单元9023将耦合信息进行解压缩,获得隐变量,并隐变量送入单调对齐搜索算法所形成的模型中。

第三步,参考式五单调搜索算法查找到隐变量的目标高斯化参数,将目标高斯化参数和隐变量送入解码器902。

第四步,向参考模型901输入目标发音人的目标音频,经过GSTs模型9011提取目标风格化特征、高斯化模型9012对基频和能量高斯归一化处理后,经过拼接单元9013进行拼接,可以获得目标音色信息,将其输入到解码器902的仿射耦合层9022c。

第五步,隐变量和目标高斯化参数经过解压模块902、在仿射耦合层9022c与目标发音人的目标音色信息耦合,然后经过可逆1×1卷积层9022b和激活归一化层9022a以及压缩单元9021压缩得到目标梅尔谱,最后将目标梅尔谱经声码器得到合成音频。应理解,当原始发音人的原始音频所转换的文本长度和梅尔谱帧长相等的情况下,可以将数值较小的数值作为转换后的梅尔谱的帧长。

可见,本公开示例性实施例的方法可以在不需要编码器的情况下,可以直接实现语音转换。

在一种可选方式中,在获取原始语音后,利用解码器处理所述隐变量和分布参数,获得转换后的语音信息前,本公开示例性实施例可以利用编码器提取原始语音的原始分布参数。当基于同一原始语音的帧数和所述隐变量,采用单调对齐搜索算法获得目标分布参数后,利用解码器处理所述隐变量和所述分布参数,获得转换后的语音信息前,可以在确定目标分布参数与原始分布参数不匹配的情况下,确定原始分布参数为目标分布参数。换句话说,当确定目标分布参数与原始分布参数不匹配的情况下,可以利用原始分布参数校正目标分布参数,以强制使得隐变量服从原始分布参数,从而防止因为对齐矩阵误差导致的目标分布参数和原始分布参数差异过大的问题,提高音频转换准确度、鲁棒性和可靠性。本公开示例性实施例了一种语音转换方法,其可以编码器输出的原始高斯参数的校正下,解码器准确预测转换后的梅尔谱,然后经过声码器合成准换后的音频。图10示出了本公开示例性实施例的语音转换方法的另一种原理1000示意图。如图10所示,本公开示例性实施例的方法包括:

第一步,向编码器1001输入待转换文本,经过G2P10011转换为音素,然后利用提取单元1012含有的卷积层10012a和双向LSTM10012b依次处理音素,接着利用线性单元10013获取到原始高斯化参数,包括均值μ和方差σ。

第二步,向参考模型1003输入原始发音人的原始音频,经过GSTs模型10031提取原始风格化特征、高斯化模型10032对基频和能量高斯归一化处理后,经过拼接单元10033进行拼接,可以获得原始音色信息,将其输入到解码器1002的流模组10022含有的仿射耦合层10022b。

第三步,将原始发音人的梅尔谱,经压缩单元10021、流模组10022含有的激活归一化层10022a、可逆1×1卷积层10022b处理后,与原始音色信息一起进入仿射耦合层10022c进行耦合,然后利用解压单元10023将耦合信息进行解压缩,获得隐变量,并隐变量送入单调对齐搜索算法所形成的模型中。

第四步,参考式五单调搜索算法查找到隐变量的目标高斯化参数,同时判断目标高斯化参数是否与原始高斯化参数相等,如果相等,则将目标高斯化参数和隐变量送入解码器1002,否则将原始高斯化参数作为目标高斯化参数送入解码器1002。

第五步,向参考模型1003输入目标发音人的目标音频,经过GSTs模型10031提取目标风格化特征、高斯化模型10032对基频和能量高斯归一化处理后,经过拼接单元10033进行拼接,可以获得目标音色信息,将其输入到解码器1002的仿射耦合层10022c。

第六步,隐变量和目标高斯化参数经过解压模块10023、在仿射耦合层10022c与目标发音人的目标音色信息耦合,然后经过可逆1×1卷积层10022b和激活归一化层10022a以及压缩单元10021压缩得到目标梅尔谱,最后将目标梅尔谱经声码器得到合成音频。应理解,当原始发音人的原始音频所转换的文本长度和梅尔谱帧长相等的情况下,可以将数值较小的数值作为转换后的梅尔谱的帧长。

可见,本公开示例性实施例的方法可以利用编码器输出的原始高斯化参数对目标高斯化参数进行校正,防止因为目标高斯化参数不准确,对语音转换所造成的不良影响。

本公开实施例中提供的一个或多个技术方案中,可以利用解码器处理语音频谱信息和语音音色信息,使得所获得的第一隐变量融合了语音频谱特征和语音音色特征,因此,第一隐变量的信息丰富。在此基础上,利用单调对齐搜索算法更新编码器的网络参数和解码器的网络参数,直到第一隐变量服从语音文本的第一分布参数,可以保证训练处的语音转换模型具有较高的语音转换准确性。同时,解码器为基于流的生成模型,是一种可逆的解码器,当本公开实施例的方法应用训练后的语音转换模型进行语音转换时,还可以利用解码器并行化处理隐变量、目标分布参数和目标音色信息,从而获得转换后的语音信息。

不仅如此,本公开实施例的基于流的生成模型可以与单调对齐搜索算法相结合实现并行化运算,使得在同等硬件条件下,不仅可以基于超长文本语音转换快速训练语音转换模型,还可以利用语音转换模型快速转换超长文本语音转换。另外,本公开示例性实施例引入文本辅助(编码器)的类TTS语音转换,可以实现单样本训练,节省训练数据录入周期,并降低成本。

可以理解的是,为了实现上述功能,用户设备、服务器等电子设备可以包含执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

本公开实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种训练装置,用于训练语音转换模型,所述语音转换模型包括编码器和解码器,所述解码器为基于流的生成模型。该训练装置可以为电子设备或应用于电子设备的芯片。图11示出了根据本公开示例性实施例的训练装置的功能模块示意性框图。如图11所示,该训练装置1100包括:

提取模块1101,用于利用所述编码器从语音文本提取第一分布参数;

获取模块1102,用于利用所述解码器处理语音频谱信息和语音音色信息,获得第一隐变量,所述语音文本、所述语音频谱信息和所述语音音色信息来自同一语音;

更新模块1103,用于基于单调对齐搜索算法更新所述编码器的网络参数和所述解码器的网络参数,直到所述第一隐变量服从所述第一分布参数。

在一种可选方式中,所述编码器包括:

转换单元,用于将所述语音文本转换为语音音素;

提取单元,用于预测所述语音音素的时序信息;

以及线性单元,用于基于所述时序信息确定所述第一分布参数。

在一种可选方式中,所述解码器包括:

压缩单元,用于对所述语音频谱信息进行压缩,获得频谱压缩信息;

流模组,用于基于所述频谱压缩信息和所述语音音色信息获得耦合信息;

以及解压单元,用于将所述耦合信息解压为所述第一隐变量。

在一种可选方式中,所述语音音色信息包括语音风格特征和服从分布函数的音色相关参数,所述音色相关参数包括语音能量和语音基频,所述分布函数的类型与所述第一分布参数对应的分布函数的类型匹配。

在一种可选方式中,所述语音音色信息为来自所述参考模型的音色信息,所述参考模型包括:

特征提取子模型,用于提取所述语音的语音风格特征;

音色编码子模型,用于对所述音色相关参数进行编码,获得服从分布函数的音色相关参数;

拼接单元,用于拼接所述语音风格特征和服从分布函数的音色相关参数,获得语音音色信息。

在一种可选方式中,如图11所示,更新模块1103用于采用单调对齐方式确定所述第一隐变量与所述语音文本的单调对齐信息,基于所述单调对齐信息和所述第一分布参数,获得第二隐变量,当所述第一隐变量和所述第二隐变量确定的损失量大于或等于第一阈值,基于所述第一隐变量和所述第二隐变量更新所述解码器的网络参数,基于所述单调对齐信息确定所述第二隐变量对齐的第二分布参数,当所述第一分布参数和所述第二分布参数确定的损失量大于或等于第二阈值,基于所述第一分布参数和所述第二分布参数更新所述编码器的网络参数。

在一种可选方式中,如图11所示,更新模块1103用于基于所述第一分布参数、所述第一隐变量和语音频谱帧数,采用最大似然估计方式确定所述第一分布参数和所述第一隐变量的单调对齐信息;

在一种可选方式中,如图11所示,更新模块1103用于基于所述单调对齐信息,采用梯度下降法确定最大似然概率的模型参数,基于所述最大似然概率的模型参数、所述单调对齐信息和所述第一分布参数确定所述第二隐变量。

在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种语音转换装置,应用本公开示例性实施例的训练方法训练的语音转换模型,该语音转换装置可以为电子设备或应用于电子设备的芯片。图12示出了根据本公开示例性实施例的语音转换装置的功能模块示意性框图。如图12所示,该语音转换装置1200包括:

获取模块1201,用于获取原始语音;

处理模块1202,用于利用解码器处理同一所述原始语音的频谱信息和原始音色信息,获得原始语音的隐变量;

对齐模块1203,用于基于同一所述原始语音的帧数和所述隐变量,采用单调对齐搜索算法获得目标分布参数;

处理模块1202还用于利用解码器处理所述隐变量、所述目标分布参数和目标音色信息,获得转换后的语音信息。

在一种可能的实现方式中,所述编码器包括:

压缩单元,用于对所述频谱信息进行压缩,获得频谱压缩信息;

流模组,用于基于所述频谱压缩信息和所述原始音色信息确定语音耦合信息;

以及解压单元,用于将所述语音耦合信息解压为所述原始语音的隐变量;

所述解码单元还用于对所述隐变量和所述目标分布参数进行解码,获得解码信息;

所述流模组还用于基于所述解码信息和所述目标音色信息,获得耦合信息;

所述压缩单元还用于对所述耦合信息进行解码,获得转换后的语音信息。

在一种可能的实现方式中,所述原始音色信息为来自所述参考模型的所述原始语音的语音音色信息,所述目标音色信息为来自目标语音的语音音色信息,所述原始语音和所述目标语音的声源相同或不同。

在一种可能的实现方式中,如图12所示,所述处理模块1202还用于利用编码器提取所述原始语音的原始分布参数;所述对齐模块1203还用于确定所述目标分布参数与所述原始分布参数不匹配的情况下,确定所述原始分布参数为目标分布参数。

图13示出了根据本公开示例性实施例的芯片的示意性框图。如图13所示,该芯片1300包括一个或两个以上(包括两个)处理器1301和通信接口1302。通信接口1302可以支持服务器执行上述图像处理方法中的数据收发步骤,处理器1301可以支持服务器执行上述图像处理方法中的数据处理步骤。

可选的,如图13所示,该芯片1300还包括存储器1303,存储器1303可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。

在一些实施方式中,如图13所示,处理器1301通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器1301控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processing unit,CPU)。存储器1303可以包括只读存储器和随机存取存储器,并向处理器1301提供指令和数据。存储器1303的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图13中将各种总线都标为总线系统1304。

上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。

本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

参考图14,现将描述可以作为本公开的服务器或客户端的电子设备1400的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图14所示,电子设备1400包括计算单元1401,其可以根据存储在只读存储器(ROM)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(RAM)1403中的计算机程序,来执行各种适当的动作和处理。在RAM 1403中,还可存储设备1400操作所需的各种程序和数据。计算单元1401、ROM 1402以及RAM 1403通过总线804彼此相连。输入/输出(I/O)接口1405也连接至总线1404。

电子设备1400中的多个部件连接至I/O接口1405,包括:输入单元1406、输出单元1407、存储单元1408以及通信单元1409。输入单元1406可以是能向电子设备1400输入信息的任何类型的设备,输入单元1406可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1407可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/语音输出终端、振动器和/或打印机。存储单元1404可以包括但不限于磁盘、光盘。通信单元1409允许电子设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。

计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理。例如,在一些实施例中,本公开示例性实施例的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1402和/或通信单元1409而被载入和/或安装到电子设备1400上。在一些实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开示例性实施例的方法。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。

尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。

技术分类

06120114581813