用于语音合成的运行时声频单元选择方法和系统的制作方法

文档序号:2820284阅读:339来源:国知局
专利名称:用于语音合成的运行时声频单元选择方法和系统的制作方法
技术领域
本发明一般地涉及一种语音合成系统,且更具体地说,是涉及用于进行语音合成系统中的声频单元选择的方法和系统。
连结语音合成是一种形式的语音合成,它依赖于与语音波形对应的声频单元的连结以从写入的文本产生语音。该领域中未解决的一个问题,是为了实现流利、可辨和自然的语音而适于声频单元进行优化的选择和连结。
在很多传统的语音合成系统中,声频单元是语音的语音单元,诸如双音素、音素或短语。语音波形的暂态或瞬时与各个声频单元相联系,以代表语音音素单元。一系列实例的单纯的连结以合成语音,经常导致不自然或“机器声”的语音,因为在相邻的实例的边界处存在有频谱的不连续。为了获得最好的自然发声语音,连结的实例必须以适合于所要的文本的时序、强度和音调特性(即韵律)产生。
在传统的系统中采用了两种通常的技术,以从声频单元的实例的连结产生自然发声的语音采用平滑技术和采用较长声频单元的技术。平滑试图通过调节实例以在实例之间的边界处进行匹配,来消除相邻实例之间的频谱不匹配。受调节的实例产生了更为平滑的发声语音,但由于实现平滑而对实例进行的操作,该语音通常是不自然的。
选择较长的声频单元通常要采用双音素,因为它们获得了音素之间的共联结效果。该共联结效果是由于在给定音素之前和之后的音素而对给定的音素所产生的效果。采用每单元有三个或更多个音素的较长单元,有利于减小出现的边界的数目,并得到了较长单元上的共联结效果。较长单元的采用导致了较高的发声语音质量,但需要更大的存储量。另外,在不限制输入文本的情况下采用较长单元可能是有问题的,因为不能保证对模型的覆盖。
本发明的最佳实施例涉及一种语音合成系统和产生自然发声语音的方法。从以前所讲的语音的训练数据,产生出多个声频单元实例,诸如双音素、三音素等等。该实例与语音信号的频谱表示或用于产生有关的声音的波形相对应。从训练数据产生的实例随后剪切下来以形成实例的健壮子集(robust subset)。
该合成系统对出现在输入语言表达中的每一个声频单元中的一个实例进行连结。实例的选择是根据相邻实例的边界之间的频谱失真来进行的。这可以通过多种可能的实例序列来进行,这些实例序列代表输入语言表达,从这种表达选择出一种,它使在序列中的相邻实例的所有边界之间的频谱失真达到最小。最好的实例序列随后被用来产生一种语音波形—它产生出与输入语言表达对应的谈话语音。
从以下结合附图对本发明的最佳实施例所进行的详细描述,本发明的上述特征和优点将变得显而易见;在附图中,相同的标号表示相同的部分。这些附图不一定是成比例的,而是强调对本发明的描述。


图1是用于进行最佳实施例的语音合成方法的语音合成系统。
图2是最佳实施例中采用的分析方法的流程图。
图3A是把语音波形排列成与文本“This is great”相对应的帧的例子。
图3B显示了与图3A的例子的语音波形对应的HMM和句音(senone)串。
图3C是双音素DH IH的实例的例子。
图3D是一个例子,它进一步显示了双音素DH IH的实例。
图4是用于构成每一个双音素的实例子集的步骤的流程图。
图5是最佳实施例的合成方法的流程图。
图6A描述了如何根据本发明的最佳实施例的语音合成方法为文本“This is great”合成语音的例子。
图6B是一个例子,它显示了用于文本“This is great”的单元选择方法。
图6C是一个例子,它进一步显示了用于文本“This is great”的实例串的单元选择方法。
图7是本实施例的单元选择方法的流程图。
最佳实施例通过从多个实例的选择中选择合成输入文本所需的每一个声频单元的一个实例并将选定的实例连结起来,而产生自然发声的语音。该语音合成系统在系统的分析或训练阶段产生多个声频单元实例。在此阶段,每一个声频单元的多个实例都从语音谈话形成,而这些谈话反映了在具体的语言中最可能出现的语音模式。在此阶段期间累积的实例随后得到剪切,以形成包含最有代表性的实例的健壮子集(robust subset)。在最佳实施例中,表示各种音素环境的概率最高的实例得到了选择。
在语音合成中,合成器能够在运行中为语言表达中的各个声频单元选择最好的实例,并作为所有可能的实例组合中相邻实例的边界之间出现的频谱和韵律失真的函数。这种方式的单元选择,消除了对平滑单元以使出现在相邻单元之间的边界处的频率频谱相匹配的要求。这产生了更为自然发声的语音,因为采用了原来的波形而不是不自然的修正单元。
图1显示了一个语音合成系统10,它适合于实现本发明的最佳实施例。该语音合成系统10包括用于接收输入的输入装置14。该输入装置14可以是例如一个麦克风、计算机终端等等。借助将在下面得到更详细的描述的单独的处理元件,对话音数据输入和文本数据输入进行处理。当输入装置14接收到话音数据时,输入装置将话音输入路由到训练部件13—它对话音输入进行语音分析。输入装置14从输入话音数据产生相应的模拟信号,而该输入话音数据可以是来自用户的输入语音谈话或存储的谈话模式。该模拟信号被发送到一个模拟—数字转换器16—它将模拟信号转换成数字取样序列。该数字取样随后被发送到一个特征提取器18—它提取数字化的输入语音信号的参数表示。最好,特征提取器18对数字化的输入语音信号进行频谱分析,以产生一个帧序列,其中每一个帧都包含代表输入语音信号的频率分量的系数。用于进行语音分析的方法是信号处理的现有技术中众所周知的,并可包括快速傅里叶变换、线性预测编码(LPC)、以及对数倒频谱系数。特征提取器18可以是进行频谱分析的传统处理器。在最佳实施例中,频谱分析每十毫秒进行一次,以将输入语音信号分成代表谈话的一部分的帧。然而,本发明不仅限于采用频谱分析或十毫秒的取样时间帧。可以采用其他的信号处理技术和其他的取样时间帧。对于整个语音信号重复上述的处理,并产生一系列的帧—它们被发送到分析引擎20。分析引擎20执行若干任务,这些任务将结合图2-4进行详细描述。
分析引擎20对输入语音谈话或训练数据进行分析,以产生句音(senone)(一个句音是在不同音素模型上的一群类似的马尔可夫(Markov)状态)和隐藏马尔可夫模型的参数,它们将被语音合成器36使用。另外,分析引擎20产生出现在训练数据中的各个声频单元的多个实例,并形成了由合成器36所使用的这些实例的一个子集。该分析引擎包括用于进行分割的分割部件21和用于选择声频单元的实例的选择部件23。这些部件的作用,将在下面得到更详细的描述。分析引擎20利用了从文本存储部分30获得的输入语音谈话的音素表示、存储在字典存储部分22中的包含各个词的音素描述的字典、以及存储在HMM存储部分24中的句音表。
分割部件21具有双重的目的获得存储在HMM存储部分中所需的HMM参数并将输入的谈话分成句音。这种双重的目的,是通过一种迭代算法来实现的,该算法在给定一组HMM参数而分割输入语音与给定该语音分割而重新估算HMM参数之间进行交替。该算法增大了HMM参数在每次迭代时产生输入谈话的概率。当达到收敛时停止该算法,且进一步的迭代并不显著地增大训练概率。
一旦完成了输入谈话的分割,选择部件23从各个声频单元的所有可能的发生中选择出对各个声频单元(即双音素)的出现具有高度代表性的一个小的子集,并将这些子集存储在单元存储部分28中。这种发生的剪切依赖于HMM概率和韵律参数的值,并将在下面进行详细描述。
当输入装置14接收到文本数据时,输入装置14将该文本数据输入路由到进行语音合成的合成部件15。图5-7显示了本发明的最佳实施例所采用的语音合成技术,并将在下面对其进行详细描述。自然语言处理器(NLP)32接收输入的文本并给该文本的每一个词加上一个描述标签。这些标签被传送到一个字母—声音(LTS)部件33和一个韵律引擎35。字母—声音部件33利用来自字典存储部分22的字典输入和来自字母—音素规则存储部分40的字母—音素规则,以把输入文本中的字母转换成音素。字母—声音部件33可以例如确定输入文本的适当发音。字母—声音部件33与一个音素串和重音部件34相连。音素串和重音部件34借助对输入文本的适当重读而产生一个音素串,而后者被传送到韵律引擎35。在替换实施例中,字母—声音部件33和音素重音部件34可以是包含在同一个部件中。韵律引擎35接收音素串并插入停顿符号,并确定表示串中的各个音素的强度、音调和持续时间的韵律参数。韵律引擎35利用存储在韵律数据库存储部分42中的韵律模型。带有停顿符号的音素串和表示音调、持续时间和幅度的韵律参数被发送到语音合成器36。这些韵律模型可以是与讲话者无关的,也可以是与讲话者有关的。
语音合成器36将音素串转换成相应的双音素串或其他的声频单元,选择对于各个单元来说最好的实例,根据韵律参数来调节实例,并产生反映输入文本的语音波形。在以下的描述中,为了说明的目的,假定语音合成器将音素串转换成双音素串。当然,语音合成器可以交替地把音素串转换成交替的声频单元串。在执行这些任务时,合成器利用了存储在单元存储部分28中的各个单元的实例。
所产生的波形可被发送到输出引擎38—它可以包括声频装置以产生语音,也可以把该语音波形传送到其他的处理元件或程序以进行进一步的处理。
语音合成系统10的上述部件可被包含在单个的处理单元中,诸如个人计算机、工作站等等。然而,本发明不仅限于具体的计算机体系结构。其他的结构也可以采用,诸如但不限于并行处理系统、分配处理系统等等。
在讨论分析方法之前,以下的部分将给出用在最佳实施例中采用的句音、HMM和帧结构。每一个帧对应于一定段的输入语音信号,并可以表示该段的频率和能量谱。在最佳实施例中,采用了LPC对数倒频谱分析来构成语音信号的模型,并产生了一个帧序列,每一个帧包含以下39个对数倒频谱和能量系数—这些系数表示了帧中该部分信号的频率和能量谱(1)12mel-频率对数倒频谱系数;(2)12δmel-频率对数倒频谱系数;(3)12δδmel-频率对数倒频谱系数;以及,(4)能量、δ能量、以及δ-δ能量系数。
隐藏马尔可夫模型(HMM)是用于表示语音的音素单元的概率模型。在最佳实施例中,它被用来表示音素。然而,本发明不仅限于这种音素基础,而可以采用任何语言表达,诸如但不限于双音素、词、音节或句子。
一个HMM由借助变调而连接起来的一系列的状态组成。与各个状态相联系的,是表示该状态与一个帧相匹配的似然性的输出概率。对于各个变调,都有一个相关的变调概率,它表示了按照该变调的似然性。在最佳实施例中,一个音素可以用一个三态HMM表示。然而,本发明不仅限于这种HMM结构,利用更多或较少的状态的其他的结构也可以得到采用。与一个状态相关的输出概率,可以是包含在一个帧中的对数倒频谱系数的高斯概率密度函数(pdf)的混合。高斯概率密度函数是较好的,但本发明不仅限于这种概率密度函数。也可以使用其他的概率密度函数,诸如但不限于拉普拉斯型概率密度函数。
HMM的参数是变调和输出概率。对于这些参数的估算是通过利用训练数据的统计技术而获得的。有几种众所周知的算法可被用来从训练数据估算这些参数。
在本发明中可以采用两种HMM。第一种是与上下文相关的HMM,它对音素连同其左和右边的音素上下文一起进行模型描述。由一组音素以及与它们相联系的左和右边的音素上下文所组成的预定的模式得到选择,以由与上下文相关的HMM进行模型化处理。这些模式得到选择,因为它们代表了最频繁出现的音素和这些音素的最频繁出现的上下文。训练数据将为这些模型提供对这些参数的估算。与上下文无关的HMM,也可以被用来对音素进行与其左和右边的音素上下文无关的模型化处理。类似地,该训练数据将提供对与上下文无关的模型的参数的估算。隐藏马尔可夫模型是众所周知的技术,且对HMM的更为详细的描述,可以在Huang等人在《用于语音识别的隐藏马尔可夫模型》(Edingburgh University Press,1990)中找到。
将HMM的状态的输出概率分布聚集起来以形成句音。这是为了减小对合成器要求大的存储容量和增大的计算时间的状态的数目。对句音和用于构成它们的方法的更多详细的描述,可以在M.Hwang等人“以句音预测未见三音素”(Proc.ICASSP’93 Vol.II,pp.311-314,1993)中找到。
图2-4显示了本发明的最佳实施例所进行的分析方法。参见图2,分析方法50可以通过接收语音波形序列形式(或者称为语音信号或谈话)的训练数据开始,这些数据被转换成帧,如在以上结合图1所述的。这些语音波形可以由句子、词或任何类型的语言表达组成,并在此被称为训练数据。
如上所述,该分析方法采用了一种迭代算法。在开始时,假定已经估算了HMM参数的初始集合。图3A显示了对于与语言表达“This isgreat”相对应的输入语音信号进行HMM参数估算的方式。参见图3A和3B,与输入语音信号或波形64相对应的文本62,是从文本存储部分30获得的。文本62可以被转换成一串音素66—它们是对于文本中的各个词而从存储在字典存储部分22中的字典获得的。音素串66可被用来产生一系列的上下文相关HMM68—它们对应于音素串中的音素。例如,在所示的上下文中的音素/DH/具有有关的上下文相关HMM—它被表示为DH(SIL,IH)70,其中左边的音素是/SIL/或无声,且右边的音素是/IH/。这种上下文相关HMM具有三个状态且与每一个状态相联系的是一个句音。在此具体例子中,这些句音是分别与状态1、2和3相对应的20、1和5。用于音素DH(SIL,IH)70的上下文相关HMM随后与代表在该文本的其余部分中的音素的上下文相关HMM连结。
在迭代处理的下一个步骤中,通过利用分割部件21将各帧分割或时间对准到每个状态以及它们各自的句音,将语音波形映象到HMM的状态上(图2中的步骤52)。在该例中,用于DH(SIL,IH)70的HMM模型的状态1和句音20(72)与帧1-4、78对准;同一模型的状态2和句音1(74)与帧5-32、80相对准;且同一模型的状态3和句音5,76与帧33-40、82相对准。这种对准是对于HMM序列68中的每一个状态和句音进行的。一旦进行这种分割,HMM的参数就得到重新估算(步骤54)。可以采用众所周知的Baum-Welch或正反向算法。该Baum-Welch算法是较好的,因为它更适合于处理混合密度函数。对Baum-Welch算法的更详细的描述,可以在上述的Huang的参考文献中找到。随后判定已经达到了收敛(步骤56)。如果还没有收敛,处理通过用新的HMM模型来分割谈话组而得到重复(即以新的HMM模型来重复步骤52)。一旦达到了收敛,HMM参数和分割都处于最后的形式。
在达到收敛之后,与各个双音素单元的实例相对应的帧,作为单元实例或用于相应的双音素或其他单元的实例,而被存储在单元存储部分28中(步骤58)。这在图3A-3D中得到了显示。参照图3A-3C,音素串66被转换成双音素串67。双音素代表了两个相邻的音素的平稳部分以及它们之间的过渡变换。例如,在图3C中,双音素DH_IH84是从音素DH(SIL,IH)86的状态2-3和音素IH(DH,S)88的状态1-2形成的。与这些状态有关的帧,作为与双音素DH_IH(0)92对应的实例,而得到存储。帧90对应于语音波形91。
参见图2,对于用在分析方法中的每一个输入语音谈话,都重复步骤54-58。在完成这些步骤时,对于各个双音素从训练数据累积的实例被剪切成子集,该子集包含覆盖较高概率实例的健壮(robust)表示,如步骤60所示。图4描述了剪切实例集的方式。
参见图4,对每一个双音素都重复方法60(步骤100)。计算所有实例的持续时间的平均值和变化(步骤102)。每一个实例都可以由一或多个帧组成,其中各个帧可以代表语音信号在一定时间间隔上的参数表示。各个实例的持续时间是这些时间间隔的累积。在步骤104,与平均值的偏差达到特定量(例如标准偏差)的那些实例被放弃掉。计算音调和幅度的平均值和变化。与平均值之差超过预定量(例如±标准偏差)的实例被放弃。
对于每一个其余的实例都进行步骤108-110,如步骤106所示。对于每一个实例,都能够计算出HMM产生出该实例的相关概率(步骤108)。该概率可以借助众所周知的正反向算法(它在上述Huang的参考文献中得到了描述)而计算出来。该计算利用了与代表具体双音素的HMM的各个状态或句音有关的输出和转变概率。在步骤110,为具体的双音素形成句音的有关的串69(见图3A)。在步骤112,带有相同的开始和结束句音的句音序列的双音素被分组。对于每一个组,选出具有最高概率的句音序列作为子集的部分,114。在步骤100-114完成时,有与具体的双音素对应的实例子集(见图3C)。对于每一个双音素都重复该过程,从而产生了对于每一个双音素都包含多个实例的表。
本发明的一个替换实施例寻求保持与相邻单元匹配良好的实例。这样的实施例寻求通过采用一种动态编程算法来尽量减小失真。
一旦完成该分析方法,最佳实施例的合成方法进行操作。图5-7显示了在最佳实施例的语音合成方法120中进行的步骤。输入文本被处理成一个词串(步骤122),以将输入文本转换成对应的音素串(步骤124)。因此,缩写的词和首字母缩略语被展开,以完成词短语。这种扩展的部分可以包括分析其中采用了缩写词和首字母缩略语的上下文,以确定相应的词。例如,首字母缩略语“WA”可以被转换成“Washington”且缩写“Dr.”可以根据其所在的上下文而被转换成“Doctor”或“Drive”。字符和数字串可以用等价的文本表示来代替。例如,“2/1/95”可以用“ February first nineteen hundred and niney five”(一九九五年二月一日)代替。类似地,“$120.15”可以用一百二十美元十五分来代替。可以进行句法分析,以确定句子的句法结构,从而以适当的语调来读该句子。同形异义词中的字母被转换成包含初级和次级重音标志的声音。例如,词“read”可以根据该词的具体时态而以不同的方式发音。为了考虑到这点,该词被转换成表示相应的发音并带有相应的重读标志的声音。
一旦构成了词串(步骤122),该词串被转换成音素串(步骤124)。为了进行这种转换,字母—声音部件33利用字典22和字母—音素规则40来将词串中的词的字母转换成与这些词对应的音素。音素流与来自自然语言处理器的标签一起被发送到韵律引擎35。这些标签是词的种类的标识符。一个词的标签可以影响其韵律,因而被韵律引擎35所使用。
在步骤126,韵律引擎35根据句子确定停顿的设置和各个音素的韵律。停顿的设置对于实现自然的韵律来说是重要的。这可以通过利用包含在句子中的标点符号和利用自然语言处理器32在上述步骤122所进行的句法分析来确定。各个音素的韵律是在句子的基础上确定的。然而,本发明不限于在句子基础上使用韵律。韵律也可以利用其他的语言基础来实现,诸如但不限于词或多个句子。韵律参数可以由各个音素的持续时间、音调或语调以及幅度组成。音素的持续时间受到在讲话时置于词上的重读的影响。音素的音调可以受到句子的语调的影响。例如,陈述句和疑问句产生不同的语调模式。韵律参数可以采用韵律模型来确定—这些模型被存储在韵律数据库42中。在语音合成的现有技术中,有众多的众所周知的用于确定韵律的方法。一种这样的方法,可以在J.Pierrehumbert的“The Phonology and Phonetics of English Intonation”,MIT Ph.Ddissertation(1980)中找到。带有停顿标志和表示音调的韵律参数、持续时间以及幅度的音素串,被发送到语音合成器36。
在步骤128,语音合成器36将该音素串转换成双音素串。这是通过把各个音素与其右边的相邻音素结对而实现的。图3A显示了音素串66至双音素串67的转换。
对于双音素串中的各个双音素,在步骤130选出对于该双音素来说最好的单元实例。在最佳实施例中,最好的单元的选择,是根据可以被连结以形成表示该语言表达的双音素串的相邻双音素的边界之间的最小频谱失真,而得到确定的。图6A-6C显示了对语言表达“This is great”的单元选择。图6A显示了可以被用来形成代表语言表达“This is great”的语音波形的各种单元实例。例如,对于双音素DH_IH有10个实例,134;对于双音素IH_S有100个实例,136;等等。单元选择是以与众所周知的Viterbi检索算法类似的方式进行的,该算法可以在Huang的上述参考文献中找到。简要地说,形成了能够被连结以形成表示该语言表达的语音波形的实例的所有可能序列。这在图6B中得到了显示。随后,对于各个序列确定实例的相邻边界上的频谱失真。该失真是作为一个实例的最后一个帧与相邻的右边的实例的第一个帧之间的距离而计算的。应该注意的是,一个附加的分量可以被加到频谱失真的计算中。具体地,在两个实例之间的音调和幅度的欧几里得距离可以作为频谱失真计算的一部分而被计算出来。这种分量补偿了由于音调与幅度的过度调制而产生的声频失真。参见图6C,实例串140的失真,是帧142与144、146与148、150与152、154和156、158和160、162和164、以及166和168之间的差。具有最小失真的序列被用作产生语音的基础。
图7显示了用于确定单元选择的步骤。参见图7,对于各个双音素串重复步骤172-182(步骤170)。在步骤172,形成了实例的所有可能序列(见图6B)。对于各个实例序列都重复步骤176-178(步骤174)。对于各个实例,除了最后一个,以实例的最后一个帧中的系数与随后的实例的第一个帧中的系数之间的欧几里得距离的形式,计算出该实例与紧跟随它的实例(即在序列中位于其右边的实例)之间的失真。该距离用以下的数学定义来表示d(x-,y-)=Σi=1N(xi-yi)2]]>x=(x1,…,xn)帧x具有n个系数;y=(y1,…,yn)帧y具有n个系数;N=每帧中的系数的个数。
在步骤180,计算出实例序列中所有实例上的失真之和。在迭代174完成时,在步骤182选出最好的实例序列。该最好的实例序列是具有最小累积失真的序列。
参见图5,一旦已经选定了最好的单元选择,就根据输入文本的韵律参数将这些实例连结起来,且从与连结的实例相对应的帧产生出合成的语音波形(步骤132)。这种连结过程将改变与选定的实例对应的帧,以与所希望的韵律相一致。可以采用几种众所周知的单元连结技术。
上述详细描述的本发明通过提供对诸如双音素的声频单元的多个实例,而改进了合成语音的自然性。多个实例给语音合成系统提供了广泛类型的波形,从这些波形可以产生合成的波形。这种多样性使出现在相邻实例的边界处的频谱失真最小,因为它增大了合成系统把在边界上具有最小频谱失真的实例连结起来的可能性。这使得改变实例以使相邻边界的频谱频率匹配变得不必要了。由未改变的实例构成的语音波形,产生出声音更为自然的语音,因为它包含了它们在自然形式下的波形。
虽然以上已经详细描述了本发明的最佳实施例,但需要强调的是,这种描述只是为了描述本发明并因而使本领域的技术人员能够将本发明实施于各种不同的应用—这些应用需要对上述的设备和方法进行修改—的目的而进行的;因此,在此所公布的具体细节并不构成对本发明的范围的限制。
权利要求
1.在计算机系统中用于从输入语言表达产生语音的方法,所述方法包括以下步骤把该输入语言表达转换成多个语音声频单元;为各个声频单元提供多个实例,每一个实例都表示了用于产生与该声频单元相联系的语音的语音信号的声频特性;形成与语言表达中的声频单元相对应的多个实例序列;对于每一个序列,确定序列中的相邻实例之间的不相类似性;选择相邻实例之间的不相类似性最小的最好的序列;以及产生从最好的序列生成的语音。
2.在具有存储装置的计算机系统中,用于合成语音的方法,包括以下步骤在该存储装置中提供第一声频单元的多个实例;在该存储装置中提供第二声频单元的多个实例;以及通过选择实例以使选出的实例之间的失真达到最小并将为第一声频单元提供的实例中的一个与为第二声频单元提供的实例中的一个连结起来,进行语音合成。
3.根据权利要求2的方法,其中声频单元是双音素。
4.根据权利要求2的方法,其中用于第一声频单元和第二声频单元的实例得到了选择,以尽量减小选定的实例之间的韵律失真。
5.根据权利要求2的方法,其中用于第一声频单元和用于第二声频单元的实例得到选择,以尽量减小选定的实例之间的频谱失真。
6.根据权利要求1的方法,其中对序列中的相邻实例之间的不相类似性的确定是根据频谱失真进行的。
7.根据权利要求1的方法,其中对序列中的相邻实例之间的不相类似性的确定是根据韵律失真来进行的。
8.在计算机系统中的一种方法,包括以下步骤提供声频单元的一组实例;对声频单元的该组实例进行剪切以产生声频单元实例的健壮集合;以及从声频单元实例的健壮集合选择出一个实例以进行语音合成。
9.根据权利要求8的方法,其中在该组实例中的各个实例具有一个持续时间,且其中对声频单元的该组实例进行剪切的步骤包括除去该组实例中其持续时间与声频单元的该组实例的平均持续时间相差太大的声频单元实例,从而使除去的实例不处于实例的健壮集合中。
10.根据权利要求8的方法,其中在该组实例中的各个实例都具有一个音调,且其中对声频单元的实例组进行剪切的步骤包括除去该组实例中其音调与声频单元的该组实例的平均音调相差太大的声频单元实例,从而使除去的实例不处于实例的健壮集合中。
11.根据权利要求8的方法,其中在该组实例中的各个实例都具有一个幅度,且其中对声频单元的实例组进行剪切的步骤包括除去该组实例中其幅度与声频单元的该组实例的平均幅度相差太大的声频单元实例,从而使除去的实例不处于实例的健壮集合中。
12.根据权利要求8的方法,其中在该组实例中的各个实例都具有持续时间、音调和幅度,且其中对声频单元的实例组进行剪切的步骤包括除去该组实例中其持续时间、音调和幅度分别与声频单元的该组实例的平均持续时间、音调和幅度相差太大的声频单元实例,从而使除去的实例不处于实例的健壮集合中。
13.根据权利要求8的方法,其中提供声频单元的实例组的步骤是由用户在系统的训练期间提供的。
14.在具有存储装置的计算机系统中,用于合成语音的方法,包括以下步骤将输入文本串处理成音素串;将该音素串转换成具有带有边界的双音素的双音素串;在该存储装置中提供双音素串中的各个双音素的多个实例;在该双音素串中的双音素实例中选出使相邻双音素边界之间的频谱失真最小的实例;以及将选定的双音素实例连结起来以合成语音。
15.根据权利要求14的方法,其中该计算机系统包括一个韵律引擎,且其中该方法进一步包括利用韵律引擎为音素串确定韵律参数的步骤。
16.一种计算机系统,包括一个存储装置,用于存储声频单元的多个实例;一个语音合成器,用于合成语音,包括一个选择单元,用于选择所存储的声频单元的多个实例中的一个实例;以及一个语音输出单元,用于利用声频单元的所选定的一个实例与不同的声频单元的至少一个其他的实例以输出合成的语音。
17.根据权利要求16的计算机系统,进一步包括一个剪切器,该剪切器用于除去选择单元可以得到但缺乏鲁棒性的声频单元的实例。
18.根据权利要求16的计算机系统,其中声频单元的各个实例都具有持续时间,且其中剪切器对具有太短或太长持续时间的声频单元的实例进行剪切。
19.根据权利要求16的计算机系统,其中声频单元的各个实例都具有音调,且其中剪切器对具有太高或太低音调的声频单元的实例进行剪切。
20.根据权利要求16的计算机系统,其中声频单元的各个实例都具有幅度,且其中剪切器对具有太大或太小幅度的声频单元的实例进行剪切。
全文摘要
本发明涉及一种连结语音合成系统和产生声音更自然的语音的方法。该系统为可被用来产生代表语言表达的语音波形的各个声频单元提供了多个实例。这多个实例是在合成过程的分析和训练阶段中形成的,并限于概率最高的实例的健壮表示。提供多个实例,使得合成器能够选择非常接近所希望的实例的实例,从而不需要改变所存储的实例以与所希望的实例相匹配。这实际上尽量地减小了相邻实例的边界之间的频谱失真,从而产生出声音更自然的语音。
文档编号G10L13/06GK1167307SQ9711084
公开日1997年12月10日 申请日期1997年4月30日 优先权日1996年4月30日
发明者黄学东, 米切尔·D·普鲁珀, 阿莱简乔·埃塞罗, 詹姆斯·L·阿多克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1