发明内容
根据本发明的一个方面,提供了一种用于混合语言文语转换合成的方法,该方法包括:
接收至少两种语言的混合语言文本字符串;
将文本字符串内的文本分离成:(i)至少一个基于音节的字符的字符串,每一字符都表示单一音节;(ii)或至少一个包含一个或多个单词的单词符列,这些单词由字母表的字母形成,至少一些单词表示多于一个音节;
为每一基于音节的字符指定语音单元;
为每一单词指定音素,一个或多个音素形成单独的音节;
为语音单元和音素选择单独的声学单元;以及
将单独的声学单元拼接具有对应于混合语言文本字符串的顺序的拼接的有序声学单元;以及
使用拼接的有序声学单元执行语音合成。
适当的,分离的文本还识别两种语言中的哪一个是文本字符串中的主要语言,哪一个是次要语言。
优选的,包含主要语言的文本包括一个或多个伪间隔符(spacer),指示该文本距离次要语言的位置。
适当的,指定语音单元包括通过最大匹配进行分段,进行最大匹配从而词典内的单词和匹配基于音节文本段的字符的最大数目的连续字符相匹配,该分段提供最大匹配单词。
优选的,指定语音单元包括确定最大匹配单词的词组边界,以识别未用标点明确标识的自然语音停顿。
适当的,指定语音单元包括为每一字符识别语音单元,这里为最大匹配单词的每一字符考虑包括的字符。适当的,存在和每一语音单元相关联的韵律信息。
优选的,指定音素包括识别一个或多个未用标点明确标识的自然边界。适当的,根据部分言语模式,通过预测性单词集束识别自然边界。优选的,使用规则识别该部分言语模式,规则包括:
形容词+名词 ->自然边界;
数字+量词 ->自然边界;
动词+名词 ->自然边界;
副词+动词 ->自然边界;
名词+名词 ->自然边界;
数字+名词 ->自然边界;
动词+动词 ->自然边界;
名词+连词+名词 ->自然边界。以及
适当的,指定音素包括将单词分为形成子单词序列的子单词,并识别音节边界,由此为单独的音节指定一个或多个音素。
识别音节边界优选的包括将各个子单词识别为辅音(C);元音(V);以及辅音组(CG)。
适当的,识别音节边界包括以下规则:
VCV->V|CV;VV->V|V;当CC不在CG内时,VCCV->VC|CV;当CC在CG内时,VCCV->V|CCV;VCCCV->VC|CCV;VCCCCV->VC|CCCV,其中“|”表示音节边界。
优选的,在拼接过程中,将声学单元插入各个指示文本距离次要语言的位置的伪间隔符。
适当的,拼接的有序声学单元经历增强,该增强包括在拼接边界合并和声学单元相关联的激励信号。
具体实施方式
参考图1,以无线电话的形式显示了电子装置100,其包括由总线103可操作地耦合到用户接口104的装置处理器102,用户接口通常是触摸屏或作为选择地是显示屏以及键区。电子装置100还具有话语语料库106,语音合成器110,非易失性存储器120,只读存储器118以及无线通信模块116,它们都通过总线103可操作地耦合到处理器102。语音合成器110具有和扬声器112耦合并驱动扬声器112的输出。语料库106包括单词或音素的表示以及相关的经过采样,数字化和处理的话语波形PUW。换句话说,如下所述,非易失性存储器120(存储模块)用于提供混合语言文语转换(TTS)合成。波形话语语料库106还包括以韵律特征的音素和重音/重点形式的经过采样和数字化的话语波形。
正如本领域普通技术人员所熟知的,射频通信单元116通常是具有共用天线的组合接收机和发射机。射频通信单元116具有经射频放大器耦合到天线的收发机。该收发机还和组合的调制器/解调器耦合,并且该组合调制器/解调器将通信单元116耦合到处理器102。而且,在这个实施例中非易失性存储器120(存储模块)存储用户可编程的电话簿数据库Db,并且只读存储器118存储装置处理器102的操作代码(OC)。
参考图2,其显示了用于混合语言文语转换合成的方法200。在开始步骤210之后,执行从存储器120接收混合语言文本字符串TS的步骤220。混合语言文本字符串TS可能来自由模块116或任意其它装置所接收的文本消息。同样,在这个说明书中所描述的混合语言文本字符串TS通常由至少两种语言形成,并且通过实例的方式,将在下面说明中文字符和字母表字符的组合;文本字符串TS还可包括数字0到9和/或标点符号。
然后提供分离文本步骤230,用于分离文本字符串内的文本为:(i)至少一个基于音节的字符(SBC)的字符串,每一字符表示单一音节;(ii)或至少一个包括一个或多个单词的单词符列,在下文中单词也被称为单词字符串(SOW),并且由字母表的字母组成,至少一些单词表示多于一个音节。通过本领域普通技术人员熟知的统一代码执行分离文本步骤230。构造统一代码,从而对英语字符(字母)编码使得每一字符由0000-007f的数字表示,并且对汉语字符编码使得每一字符由4e00-9fa5的数字存储。
分离文本步骤还识别文本字符串中的两种语言中哪一种是主要语言,哪一种是次要语言。在此实施例(英语和汉语混合语言文本)中,这通过对汉语字符和英语单词计数来实现。如果汉语字符多于英语单词,则主要语言是汉语,次要语言是英语。作为选择地,如果英语单词多于汉语字符,则主要语言是英语,次要语言是汉语。
为进一步解释方法200,考虑下面四个句子形式的四个文本字符串。
文本字符串1:“英文单词mention可翻译成中文的提及”
文本字符串2:“Watson是一位成功的商人”
文本字符串3:“大儿子目前住在Chicago”
文本字符串4:“中国政府决定参加APEC会议”。
在用于上述四个文本字符串的分离文本步骤230之后,有来自主要语言的四个基于音节的字符串,它们是:
基于音节的字符串1(SBC1);
“英文单词BLANK1可翻译成中文的提及”
基于音节的字符串2(SBC2);
“BLANK2是一位成功的商人”
基于音节的字符串3(SBC2);
“大儿子目前住在BLANK3”
基于音节的字符串4(SBC2);
“中国政府决定参加BLANK4会议”;
还有四个来自次要语言的单词字符串(SOW),每一都包括一个或多个单词,并且这些表示如下:
单词字符串1(SOW1)->BLANK1:”mention”
单词字符串2(SOW2)->BLANK2:”Watson”
单词字符串3(SOW3)->BLANK3:”Chicago”
单词字符串4(SOW4)->BLANK4:”APEC”
从以上看出,由于汉语字符多于英语单词,因此主要语言是汉语,次要语言是英语。这是很明显的,因为英语单词用基于音节的字符(SBC)的字符串内的空格表示。因此,包含主要语言的文本包括一个或多个指示文本距离次要语言的位置的伪间隔符(空格BLANK1到BLANK4)。
考虑汉语字符是基于音节的字符的字符串(SBC1-SBC4),方法200执行指定步骤(240),用于为每一基于音节的字符(SBC)指定语音单元。指定步骤实际上可以被分为三个子步骤,它们是:(a)文本分析;(b)确定词组边界;以及(c)识别语音单元。
子步骤(a)文本分析实际上通过使用单词词典执行汉语字符的分段和标准化。该词典包括多于80000个单词,在表1中显示了其中的一部分。
表1单词词典
分段通过最大匹配选择段(单词),使得词典(存储在存储器120中)内的单词和最大数目的连续字符相匹配,其中最大数目的连续字符是和基于音节的字符(SBC)的文本段相匹配的最大数目的连续字符。例如,考虑基于音节的字符串1(SBCl):“英文单词BLANK1可翻译成中文的提及”。分段从第一个字符进行到最后一个字符(句子开始到句子结束)。因此,分段以如下顺序进行:在词典中找到“英”,在词典中找到“英文刀”,在词典中未找到“英文单”。因此第一个段或第一单词是“英文”。类似的,在词典中找到“单”,在词典中找到“单词”,并且由于下一单词是空格,那么第二段或第二单词是“单词”。跳过空格“BLANK1”(在分段中不分析)。下面,在词典中找到“可”,在词典中未找到“可翻”,因此第三段或第三单词是“可”。类似的,剩余的段或单词是“翻译”、“成”、“中文”、“的”以及“提及”。对基于音节的字符串(SBC2-SBC4)执行相同的分段处理,并且提供最大匹配单词(MMW),这对于本领域普通技术人员来说是显而易见的。
标准化对于例如数字和标点符号的特殊字符是有用的。标准化使用规则来识别特殊字符,这些特殊字符具有特殊的意思,或根据这些特殊字符的上下文,它们对应的语音单元会有所不同。因此,标准化提供来自特殊字符的标准化字符。同样,由规则库实现标准化,部分规则库如下所示:
标点符号规则:
句号-是句子的结尾,例如->上海是中国最大的城市之一。
小数点->标准化为具有发音“点”,例如->1.234->一点二三四。
URL中的点标准化为具有发音“点”例如->www.mot.com(www 点mot点com,www dot mot dot com)
冒号规则:
句子暂停,这有Ratio:比分是2∶3(应当被转换为比),时间:10:05
斜线规则:
分数标志:2/3(三分之二)
日期标志:97/10(九七年十月,October,1997)
逗号规则:
数字标识符:123,456(十二万三千四百五十六,one hundred twentythree thousand three hundred fifty six)
数字字符串规则:
数字:123456(一二三四五六,one two three four five six)
确定词组边界的子步骤(b)使用本领域技术人员公知的最大匹配执行预测性单词集束(分节法)。确定词组边界的目的是识别最大匹配单词(MMW)字符串中未用标点明确标识的自然边界(自然语音停顿)。预测性单词集束是基于部分言语模式的并使用以下规则:
形容词+名词 ->自然边界;
数字+量词 ->自然边界;
动词+名词 ->自然边界;
副词+动词 ->自然边界;
名词+名词 ->自然边界;
数字+名词 ->自然边界;
动词+动词 ->自然边界;以及
名词+连词+名词 ->自然边界。
名词+名词规则是递归的,从而序列中多于两个的名词也提供自然边界(例如,名词+名词+名词;名词+名词+名词+名词等)。同样,动词+动词规则也是递归的。
自然边界标识重点和停顿。因此,对于分段的基于音节的字符串1(SBC1),自然边界标识如下:
英文单词:名词+名词
可翻译成:动词+动词+动词
中文的提及中 名词+连词+名词
所以自然边界(分节法)是:
英文 单词|BLANK1|可 翻译 成|中文 的提及。
其中“|”表示词组边界。
此外,SBC2到SBC4的自然边界(分节法)是:
对于SBC2,在分段之后->
BLANK2单是,一位,成功,的,商人
在分节之后->
BLANK2|是|一位成功 的商人
对于SCB3,在分段之后->
大,儿子,目前,住,在,BLANK3
在分节之后->
大儿子|目前住在|BLANK3
对于SCB4,在分段之后->
中国,政府,决定,参加,BLANK4,会议
在分节之后->
中国 政府 决定|参加|BLANK4会议
识别语音单元的子步骤(c)使用来自子步骤(a)和子步骤(b)的结果来为每一基于音节的字符识别语音单元,这里为最大匹配单词的每一基于音节的字符考虑包括的字符。此子步骤还识别自然停顿和标准化字符的语音单元。
如果存储在非易失性存储器120内的语音目录内的单元和在韵律位置以及语境信息中的目标语音单元匹配,则选择该单元。例如,对于经历预测性单词集束(分节)的文本字符串TS1的例子,其具有被识别为如下的自然边界:
英文单词|BLANK1|可翻译成|中文的提及,则在表1示出所选的语音单元。在表1中,和韵律位置相关联的数字影响相关语音单元的音调持续时间(pitch duration)以及能量(例如RMS功率)。在此例子中,数字0表示该语音单元在句子开头;数字1表示语音单元在句子结尾;数字2表示语音单元在词组开头;数字3表示语音单元在词组中间;并且数字4表示语音单元在词组结尾。
英 |
ying1 |
0 |
文 |
wen2 |
3 |
单 |
dan1 |
3 |
词 |
ci2 |
4 |
可 |
ke3 |
2 |
翻 |
fan1 |
3 |
译 |
yi4 |
3 |
成 |
cheng2 |
4 |
中 |
zhong1 |
2 |
文 |
wen2 |
3 |
的 |
de5 |
3 |
提 |
ti2 |
3 |
及 |
ji2 |
1 |
表1,用于汉语字符的语音单元和相关韵律位置的例子
在指定步骤(240)之后,方法执行选择步骤(250),用于为语音单元选择单独的声学单元。(对于基于音节的语言,例如汉语,识别具有韵律位置和语境信息的语音单元来执行单元选择。
基于语音的语言的单元选择过程如下所述。在存储在存储器120内的目录内搜索具有音调和韵律位置的语音并选择该声学单元。如果没有找到,本方法放宽韵律位置的条件,并选择具有相同音调和不同韵律位置的语音。
现在回到分离文本步骤230,并考虑英文单词字符串(SOW),在指定步骤(260)处理这些单词,为每一单词提供指定的音素,其中一个或多个音素形成单独的音节。指定步骤(260)实际上可分为四个子步骤:(a)标准化;(b)确定词组边界;(c)字母到发音转换;以及(d)确定音节边界。
子步骤(a)执行实际上和上面所述相同的标准化,但使用规则库中的英文文本。
子步骤(b)通过在中国专利申请号03132708.7中描述的过程执行确定词组边界,在该申请完全包括到该说明书中并作为参考。总之,通过统计分析和从多于90,000个抄本的大训练集中选择的试探法执行词组边界的确定。这些试探法存储在非易失性存储器120中。词组边界的目的是识别未由标点明确标识的自然边界(自然语音停顿)。
子步骤(c)的字母到发音的转换解决了根据其他相邻字母以及在要合成的文本段内的位置,相同字母或字母组可能具有不同发音和元音重音/重点这一事实。通过在中国专利申请号03132709.5中说明的过程执行子步骤(c)的字母到发音转换,在此说明书中完全包括该专利申请并作为参考。然而,总之,字母到发音转换包括将单词分段为子单词,子单词形成具有一个或多个包含至少两个字母的子单词的子单词序列。通过分析能够包括所选单词的所有可能的子单词确定该子单词序列。通过使用有向非循环图结构执行该分析。
考虑,例如,如果由步骤260处理所选单词“mention”,则用可能包括选定单词“mention”的所有可能子单词构造图3的有向非循环图DAG。通过为每一子单词提供预定加权WT,例如,子单词“ment”、“men”、“tion”具有各自的加权88,86和204。因此,遍历DAG,并且选择具有形成所选单词的最大组合(总计)加权WT的子单词,将其标识为如在中国专利申请号03132709.5中所述的音素。在单词“mention”的情况中,将选择子单词“men”和“tion”,因此一旦识别了音节边界,其后就可以识别这些子单词的音素。
子步骤(d)使用以下规则执行音节边界的识别:
辅音(C)包括任意下列子单词:TS,b,ch,d,dh,f,g,hh,k,l,m,n,ng,,p,r,s,sh,t,th,v,w,y,z,zh;
元音(V)包括任意下列子单词:
aa,ae,ao,aw,ax,ay,eh,er,ey,ih,iy,ow,oy,uh,uw;
辅音组(CG)包括任意下列子单词:
bl,br,by,dr,dy,fl,fr,fy,gl,gr,gw,gy,kl,kr,kw,ky,ly,my,ny,pl,pr,py,sk,sl,sm,sn,sp,st,tr。
边界规则1:VCV->V|CV;
边界规则2:VV->V|V;
边界规则3:VCCV->VC|CV,当CC不是在CG内时;
边界规则4:VCCV->V|CCV,当CC在CG内时;
边界规则5:VCCCV->VC|CCV;
边界规则6:VCCCCV->VC|CCCV;
其中“|”表示音节边界。
在子步骤(d)识别音节边界之后,为例如“men”和“tion”的这些子单词识别音素。因此,识别步骤识别包含子单词的每一单词的音素,并且,正如本领域技术人员所熟知的,多于一个的音素可以形成单独的音节。例如,对于文本字符串1到文本字符串3的例子,基于自然边界的标识选择音素和相关的韵律信息。这样的音素和韵律信息(韵律位置)显示在表2中,其中M表示该单词在句子的开头或中间(也就是,不是句子的结尾);F表示该单词在句子的结尾(最后位置);O表示该音节在单词的开头或中间(也就是,不是单词的结尾);F表示该音节在单词的结尾(最后位置)。
单词 |
音素 |
韵律位置 |
MENTION |
m’ehn |
MO |
MENTION |
Shaxn |
MF |
Watson |
Wat |
MO |
Watson |
Son |
MO |
Chicago |
Ch |
FO |
Chicago |
Kar |
FO |
Chicago |
Gow |
FF |
表2,英语文本的音素和相关韵律位置的例子
在指定步骤260之后,提供选择步骤270,用于基于包括一个或多个音素的可变长度单元(VLU)模型选择单独的声学单元,尽管用于汉语的声学单元由于每一声学单元都包括一个音节而因此长度并不可变。
对于VLU,有5种可能的类型:
类型1:普通辅音+元音,半元音+元音,鼻音+元音。普通辅音包括爆破音,摩擦音,以及齿音等。
类型2:类型1+鼻音/半元音。
类型3:sub-CV。它是类型1或类型2的一部分。
类型4:辅音字首和辅音字首组。辅音字首是用作音节开头的辅音,而辅音字首组主要指的是爆破音之后跟随齿音。(例如s+t)
类型5:辅音结尾和辅音结尾组。
从以上看出,如果一个单词有两个连续的元音或半元音,并且在之前和之后都是元音,在存储在存储器120的语音目录中进行最大匹配。如果没有匹配,本方法会逐音节搜索并指定声学单元。在此实施例中,总是执行最大匹配。这个声学单元选择的目的是减少拼接点,并选择具有相同或相似韵律约束条件的声学单元。
在选择步骤250和270之后,在拼接步骤275合并产生的声学单元,其中将单独的声学单元以对应由方法200处理的混合语言文本的顺序拼接为有序声学单元。在拼接过程中,使用文本字符串1到4的例子,将由VLU(音素)形成的声学单元插入到对应文本字符串中的各个伪间隔符(BLANK1到BLANK4)中。
在拼接过程中,首先对由声学单元识别的参数比特流进行解码,形成包含两个主要分量的帧,这两个分量是:包括每一帧的LSP[i]向量的声域参数LSP(线谱对);以及用激励流Exc[i][j]表示的激励信号(i是帧索引,j是帧内的样本索引)。还获得每一帧i的粗略音调估计OT[i],形成比特流的自适应滞后参数。如本领域技术人员所熟知的,一个声学单元可以包括若干帧。对于每一声学单元是逐帧呈现上述三个参数。同样,对于各帧,参数LSP[i]是向量,并包括10个元素,它们的例子有:[1227,2027,3884,9108,12892,16454,19866,23019,26304,29553]。此外,参数Exc[i][j]是包括240个元素的向量,它们的例子有:[0,0,-1,-3,0,2,4,10,6,-1,...];参数OT[i]是在范围[40,150]内的整数,例如78。
下面,在增强步骤280执行增强,在此拼接的有序声学单元经历增强,其中包括:
(a)在两个相邻声学单元的拼接边界对每一帧的音调估计OT[i]进行平滑滤波。线性内插在边界的两个单元的音调值,以获得经过平滑滤波的新值OT[T](用于在前或在先单元的尾帧)以及OT[Hu](用于下一单元的开始帧);
(b)将在两个相邻声学单元拼接边界的激励信号合并。将连续单元的第一子帧激励信号和前一单元的最后一个子帧通过三角形窗合并为新的子帧;
(c)在相邻声学单元拼接边界上内插LSP[i]向量。通过内插前一单元最后一个LSP[I]向量以及后一单元的第一个LSP[I]向量而获得对应于合并的激励信号的每一LSP[i]向量。从而构成级联LSP[i]向量序列。
在执行语音合成步骤285时,将连续声学单元的拼接的LSP[i]向量序列转换为预测性系数a[i][j](i是帧索引,j是预测顺序)。通过将包含OT[T],OT[Hu]等的拼接的经过平滑滤波的激励序列馈入语音合成器110重建平滑滤波,从而通过将预测性系数a[i][j]以及相关的经过平滑滤波的激励序列转换为波形合成语音,将多语言文本字符串TS合成为语音。同样,正如本领域技术人员所熟知的,还可以使用元音上的重音(主要,次要或适当时没有重音),通过适当的重音强调,来提供改进的合成语音质量。
在执行语音合成285之后,方法200在结束步骤290终止。很明显,虽然为举例和说明的目的将汉语识别为主要语言,英语也可以作为主要语言。当英语是主要语言时,英语文本中包括伪单词间隔符,指示文本距离次要语言(例如汉语)的位置。此外,在拼接过程中,将声学单元插入各个指示文本距离次要语言的位置的伪间隔符中。应当清楚,虽然步骤240和250被描述为在步骤260和270之前,步骤260和270可在步骤240和250之前或同时实施。
有利的,本发明提供了一种混合语言TTS合成,可用在例如手持或便携式装置的电子装置上,诸如膝上型计算机、个人数字助理、蜂窝电话以及许多其它装置。
以上详细说明仅提供了优选的示例性实施例,并且不意在限定本发明的范围、应用性或配置。而是,优选的示例性实施例的详细说明为那些本领域普通技术人员提供了实施本发明的优选示例性实施例的开放说明。应当理解,在不脱离如在所附的权利要求中阐明的本发明的精神和范围的情况下,可在元件功能和配置上作出多种改变。