一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文本转写方法和文本转写装置与流程

2022-07-31 04:41:18 来源:中国专利 TAG:


1.本技术涉及语音合成技术领域,尤其涉及文本转写方法和文本转写装置。


背景技术:

2.语音合成技术被广泛应用于日常生活中的方方面面,相关技术中,常用的语音合成方法为将待合成的文本作为key,将对应的已合成音频地址作为value,将这一组key和value存放在缓存中,当有重复的文本合成需求,则直接从缓存中查找到对应的音频,而避免重复使用算力合成相同的文本。但该方法要求整个句子完全匹配,考虑到实际使用过程中,请求的文本相互之间很少存在完全相同的情况,从而导致命中率较低。


技术实现要素:

3.本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出一种种文本转写方法。
4.本技术还提出一种文本转写装置。
5.本技术还提出一种电子设备。
6.本技术还提出一种非暂态计算机可读存储介质。
7.本技术还提出一种计算机程序产品。
8.根据本技术第一方面实施例的种文本转写方法,包括:
9.对目标文本的韵律音素序列进行切分,生成多个分句序列,所述韵律音素序列包括与所述目标文本对应的多个音素以及位于相邻所述音素之间的韵律标识符,每个所述分句序列包括至少一个所述音素;
10.确定所述多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与所述目标分句序列对应的目标分句语音,将所述待匹配分句序列对应的语音确定为所述目标分句语音。
11.根据本技术实施例的文本转写方法,基于韵律特征将韵律音素序列切分为多个分句序列,分别将分句序列与缓存的目标分句序列进行比较,可以有效提高命中效率;在分句序列与目标序列相同的情况下,则直接将目标分句序列对应的目标分句语音确定为该分句序列的语音,而无需重新进行语音合成,从而提高语音合成的效率。
12.根据本技术的一个实施例,所述对目标文本的韵律音素序列进行切分,生成多个分句序列,包括:
13.将所述目标文本转化为韵律音素序列;
14.基于多个所述韵律标识符中的至少部分切分所述韵律音素序列,生成所述多个分句序列。
15.根据本技术的一个实施例,所述方法还包括:
16.确定所述多个分句序列中的任一待匹配分句序列与所述目标分句序列不匹配,对所述待匹配分句序列进行语音合成,生成第二分句语音。
17.根据本技术的一个实施例,在所述生成第二分句语音之后,所述方法还包括:
18.基于所述韵律标识符切分所述第二分句语音,生成多个子第二分句语音;
19.缓存所述多个子第二分句语音和所述子第二分句语音对应的子分句序列。
20.根据本技术的一个实施例,在所述生成第二分句语音之后,所述方法还包括:
21.基于所述目标分句语音对应的分句序列在所述韵律音素序列中的切分顺序,以及所述第二分句语音对应的分句序列在所述韵律音素序列中的切分顺序,拼接所述目标分句语音和所述第二分句语音,生成所述目标文本对应的目标语音。
22.根据本技术的一个实施例,所述基于多个所述韵律标识符中的至少部分切分所述韵律音素序列,生成所述多个分句序列,包括:
23.基于所述多个韵律标识符中的目标标识符对所述韵律音素序列进行切分,生成多个候选序列,且位于第一个切分点之前的所述候选序列对应的语音合成时长在目标时长内;
24.将所述多个候选序列中的目标候选序列与相邻候选序列进行组合,生成所述多个分句序列以及所述分句序列对应的细粒度大小;
25.基于所述分句序列对应的细粒度大小,对所述多个分句序列进行降序排序。
26.根据本技术的一个实施例,所述韵律标识符包括:用于表征音节、用于表征韵律词、用于表征韵律短语、用于表征语调短语和用于表征句末信息的标识符中的至少一种;
27.且所述用于表征句末信息的标识符的细粒度大于所述用于所述语调短语的标识符的细粒度,所述用于表征语调短语的标识符的细粒度大于所述用于表征韵律短语的标识符的细粒度,所述用于表征韵律短语的标识符的细粒度大于所述用于表征韵律词的标识符的细粒度,所述用于表征韵律词的标识符的细粒度大于所述用于表征音节的标识符的细粒度。
28.根据本技术第二方面实施例的文本转写装置,包括:
29.第一处理模块,用于对目标文本的韵律音素序列进行切分,生成多个分句序列,所述韵律音素序列包括与所述目标文本对应的多个音素以及位于相邻所述音素之间的韵律标识符,每个所述分句序列包括至少一个所述音素;
30.第二处理模块,用于确定所述多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与所述目标分句序列对应的目标分句语音,将所述待匹配分句序列对应的语音确定为所述目标分句语音。
31.根据本技术第三方面实施例的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述文本转写方法。
32.根据本技术第四方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文本转写方法。
33.根据本技术第五方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文本转写方法。
34.本技术实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
35.基于韵律特征将韵律音素序列切分为多个分句序列,分别将分句序列与缓存的目标分句序列进行比较,可以有效提高命中效率;在分句序列与目标序列相同的情况下,则直
接将目标分句序列对应的目标分句语音确定为该分句序列的语音,而无需重新进行语音合成,从而提高语音合成的效率。
36.进一步的,基于语义及人的说话习惯预测的韵律结果对韵律音素序列进行切分,以在停顿时长较长位置分割,而非简单基于标点符号切分,有助于提高后续拼接所合成的多个分句语音所生成的目标语音的自然度。
37.更进一步的,将音素作为关键字进行缓存,克服文本中标点的变化,或在数字写法变化而读音完全相同时被当成不同句子进行缓存的缺点,能够实现目标文本的标准化缓存,提高缓存效率。
38.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
39.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本技术实施例提供的文本转写方法的流程示意图之一;
41.图2是本技术实施例提供的文本转写方法的流程示意图之二;
42.图3是本技术实施例提供的文本转写装置的结构示意图;
43.图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
44.下面结合附图和实施例对本技术的实施方式作进一步详细描述。以下实施例用于说明本技术,但不能用来限制本技术的范围。
45.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
46.下面结合图1-图2描述本技术实施例的文本转写方法。
47.该文本转写方法的执行主体可以为文本转写装置,或者为服务器,或者还可以为用户的终端,包括但不限于手机、平板电脑、pc端、车载终端以及家用智能电器等。
48.如图1所示,该文本转写方法包括:步骤110和步骤120。
49.步骤110、对目标文本的韵律音素序列进行切分,生成多个分句序列;
50.在该步骤中,目标文本为当前用于进行语音合成的文本。
51.韵律音素序列为用于表征目标文本的韵律特征的序列。
52.韵律音素序列包括位于相邻音素之间的韵律标识符和与目标文本对应的多个音
素。
53.其中,音素可以为一个或多个根据语音的自然属性划分出来的语音单位的组合,语音单位可以为一个汉字对应的拼音、声调或者英文音标。
54.韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符。韵律特征包括但不限于:音素对应的声调、音节、韵律词、韵律短语、语调短语、静音以及停顿等特征。
55.在一些实施例中,韵律标识符可以包括:用于表征音节、用于表征韵律词、用于表征韵律短语、用于表征句末信息和用于表征语调短语的标识符中的至少一种。
56.在该实施例中,音节是语流中的语音单位,也是人们听觉上最容易分辨出来的语音单位,例如,音节可以为目标文本中的每一个汉字。
57.韵律词是一组在实际语流中联系密切且联在一起发音的音节。
58.韵律短语是介于韵律词和语调短语之间的中等节奏组块,韵律短语中可以包括多个韵律词和语气词,且组成该韵律短语的多个韵律词听起来是共用一个节奏群。
59.语调短语为将多个韵律短语按照一定的句调模式连接起来所组成的句子,用于表征较大的停顿。
60.句末信息用于表征每一个长句的结束。
61.例如,对于目标文本“上海市今天阴转多云东南风三到四级”,其中如“上”、“海”以及“市”等每一个汉字均为该目标文本对应的音节;“上海市”、“今天”以及“阴转多云”等单词或由单词组成的短语即为该目标文本对应的韵律短语;而由韵律短语“上海市”、“今天”以及“阴转多云”所组成的句子“上海市今天阴转多云”,则为该目标文本对应的语调短语。
62.可以理解的是,不同的韵律标识符对应有不同的细粒度等级,其中,用于表征停顿的韵律标识符的细粒度大于用于表征语调短语的韵律的标识符的细粒度,用于表征语调短语的细粒度大于用于表征韵律短语的细粒度,用于表征韵律短语的细粒度大于用于表征韵律词的细粒度,用于表征韵律词的细粒度大于用于表征音节的细粒度。
63.在实际执行过程中,可以用不同的符号表示不同细粒度等级的韵律特征。
64.例如,对于目标文本“上海市今天阴转多云东南风三到四级”,可以将其转化为韵律音素序列:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
65.可以理解的是,对于该韵律音素序列,韵律标识符可以包括:各相邻的拼音之间的#和数字;音素可以包括每一个汉字对应的拼音和声调或英文音标。
66.其中,sil为韵律音素序列中的代表句首和句末的静音,#0代表着音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末,每个音素后面的数字代表该音素的声调,如shang4中的4代表拼音“shang”的声调为第四声。
67.且细粒度由小到大依次为:#0<#1<#2<#3<#4。
68.对于每段韵律音素序列,对应至少一个切分点,则可以得到至少两个分句序列。
69.在一些实施例中,步骤110可以包括:
70.将目标文本转化为韵律音素序列;
71.基于多个韵律标识符中的至少部分切分韵律音素序列,生成多个分句序列。
72.在该实施例中,对于一整段韵律音素序列,包括有多个音素和多个韵律标识符,多
个韵律标识符中包括对应不同细粒度等级的韵律标识符。
73.在实际执行过程中,可以基于实际情况选择合适的细粒度等级作为切分标准,并将该细粒度等级对应的韵律标识符在韵律音素序列中的位置作为切分点,对韵律音素序列进行切分,以得到多个分句序列。
74.需要说明的是,每个分句序列包括切分点处的韵律标识符以及至少一个音素。
75.可以理解的是,对于每段韵律音素序列,对应至少一个切分点,则可以得到至少两个分句序列。
76.例如,对于韵律音素序列“sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil”,基于实际需求确定在#3处进行切分,则分别在韵律音素序列中含有#3的位置进行切分,并保留韵律分割符#3至前一个拼接单元,从而可以将该韵律音素序列切分为以下多个分句序列:
77.分句序列1:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3;
78.分句序列2:dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
79.在一些实施例中,步骤110还可以包括:
80.基于多个韵律标识符中的目标标识符切分韵律音素序列,生成多个候选序列;
81.将多个候选序列中的目标候选序列与相邻候选序列进行组合,生成分句序列对应的细粒度大小以及多个分句序列;
82.基于分句序列对应的细粒度大小,对多个分句序列进行降序排序。
83.在该实施例中,基于目标标识符所对应的位置,可以将该韵律音素序列切分为多个候选序列,其中位于第一个切分点位置之前的候选序列,其对应的语音合成时长在目标时长内。
84.其中,语音合成时长为将该候选序列合成为语音所耗费的时间。
85.目标时长为一个较短的时长,目标时长可以基于用户自定义,或者也可以采用系统默认值,例如可以将目标时长设置为0.2s或0.3s等。
86.例如对于韵律音素序列“sil mu4#0qian2#1xiao2#0jia3#3ke2#0yi3#1kong4#0zhi4#1re4#0shui3#0qi4#1kai1#0guan1#3tiao2#0jie2#1wen1#0du4#3ding4#0shi2#1kai1#0guan1#3xiang2#0xi4#1nei4#0rong2#2ma2#0fan5#1zai4#1jia 3#0ju1#1ae1 p#0shang4#1sou1#0xun2#0xia4#4sil”,可以分别将“yi3”对应的韵律标识符以及“yi3”之后的所有“#3”对应的韵律标识符确定为目标标识符,生成如下切分序列:
87.sil mu4#0qian2#1xiao2#0jia3#3ke2#0yi3#1|kong4#0zhi4#1re4#0shui3#0qi4#1kai1#0guan1#3|tiao2#0jie2#1wen1#0du4#3|ding4#0shi2#1kai1#0guan1#3|xiang2#0xi4#1nei4#0rong2#2ma2#0fan5#1zai4#1jia 3#0ju1#1ae1 p#0shang4#1sou1#0xun2#0xia4#4sil
88.其中,“|”为目标标识符对应的切分点。
89.目标候选序列可以为多个候选序列中的任一候选序列,分别将该目标候选序列与相邻的其他候选序列进行组合,从而生成多个组合后的分句序列,其中,多个分句序列中包括原始的候选序列和目标文本对应的原始的韵律音素序列。
90.可以理解的是,分句序列的细粒度等级大于目标候选序列的细粒度等级。
91.例如,句子“希望这首歌|能让你喜欢|为您播放|xx”的韵律音素序列“sil xi1#0wang4#1zhe4#0shou3#0ge1#3|neng2#0rang4#1ni2#1xi3#0huan1#1|wei4#0nin2#1bo1#0fang4#1|eh1 k s#10eh1 k s#0de5#1eh1 k s#4sil”中,“xi1#0wang4#1zhe4#0shou3#0ge1#3”、“neng2#0rang4#1ni2#1xi3#0huan1#1”、“wei4#0nin2#1bo1#0fang4#1”以及“eh1 k s#10eh1 k s#0de5#1eh1 k s#4”均为候选序列。
92.分别将候选序列中的任一候选序列作为目标候选序列,将其与相邻的其他候选序列进行组合,从而可以得到如下多个分句序列(两个“|”之间的为一个分句序列):
[0093]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3|neng2#0rang4#1ni2#1xi3#0huan1#1|wei4#0nin2#1bo1#0fang4#1|eh1 k s#10eh1 k s#0de5#1eh1 k s#4sil”[0094]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1|wei4#0nin2#1bo1#0fang4#1|eh1 k s#10eh1 k s#0de5#1eh1k s#4sil”[0095]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3|neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1|eh1 k s#10eh1 k s#0de5#1eh1 k s#4sil”[0096]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1|eh1 k s#10eh1 k s#0de5#1eh1 ks#4sil”[0097]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3|neng2#0rang4#1ni2#1xi3#0huan1#1|wei4#0nin2#1bo1#0fang4#1eh1 k s#10eh1 k s#0de5#1eh1 k s#4sil”[0098]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3|neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1eh1 k s#10eh1 k s#0de5#1eh1k s#4sil”[0099]“sil xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1eh1 k s#10eh1 k s#0de5#1eh1k s#4sil”[0100]
可以理解的是,每个分句序列均对应有细粒度等级,分句序列中所包括的候选序列的数量越多,则其对应的细粒度越大,例如“希望这首歌能让你喜欢”所对应的细粒度大于“希望这首歌”所对应的细粒度。
[0101]
基于分句序列对应的细粒度大小,对多个分句序列进行排序,细粒度越大,则其对应的分句序列排在越前面,例如将“xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1eh1k s#10eh1 k s#0de5#1eh1 k s#4(希望这首歌能让你喜欢为您播放xx的x)”排在“xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1(希望这首歌能让你喜欢为您播放)”的前面。
[0102]
在该实施例中,基于语义及人的说话习惯预测的韵律结果对韵律音素序列进行切分,以在停顿时长较长位置分割,而非简单基于标点符号切分,有助于提高后续拼接所合成的多个分句语音所生成的目标语音的自然度。
[0103]
步骤120、确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与目标分句序列对应的目标分句语音,并将该待匹配分句序列对应的语音确定为目标分句语音。
[0104]
在该步骤中,目标分句序列为预先生成并存储于系统中的分句序列。
[0105]
目标分句序列可以为缓存于系统中的全部的预存分句序列中的任意一个。
[0106]
目标分句语音为预先对目标分句序列进行语音合成所生成的语音,该目标分句语
音存储于系统中,且目标分句序列与目标分句语音之间建立有对应关系。
[0107]
在实际执行过程中,可以将缓存的目标分句序列分别与多个分句序列进行精确匹配,确定目标分句序列与多个分句序列中的任一待匹配分句序列匹配,则将该待匹配分句序列确定为第一分句序列,并从缓存中获取与目标分句序列对应的目标分句语音;
[0108]
在将该分句序列确定为第一分句序列后,则可以直接将与该第一分句序列相匹配的目标分句对应的目标分句语音确定为该第一分句序列对应的语音。
[0109]
在一些实施例中,其中,待匹配分句序列包括多个分句序列中的任一分句序列及不同分句序列之间的组合。
[0110]
如图2所示,在一些实施例中,步骤120可以包括:
[0111]
基于步骤110中的降序排序,从前至后依次将多个分句序列与目标分句序列进行精确匹配。
[0112]
具体地,基于降序排序的次序,从前至后依次将多个分句序列与缓存中的目标分句序列进行匹配,并将匹配成功的目标分句序列的语音确定为所述分句序列的语音。
[0113]
在该实施例中,基于步骤110中所生成的降序排序的顺序,从前到后依次将分句序列与目标分句序列进行精确匹配,例如先将分句序列“xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1eh1 k s#10eh1 k s#0de5#1eh1 k s#4(希望这首歌能让你喜欢为您播放xx的x)”与目标分句进行精确匹配,在匹配成功的情况下,则将该分句序列确定为第一分句序列,并将与该第一分句序列匹配的目标分句对应的目标分句语音确定为该第一分句序列对应的语音,结束比较。
[0114]
在匹配不成功的情况下,则再将分句序列“xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1(希望这首歌能让你喜欢为您播放)”与目标分句进行比较,并重复上述过程,直至确定某一分句序列与目标分句能够实现精确匹配,则结束比较。
[0115]
在一些实施例中,在所有分句序列与目标分句均不能实现精确匹配的情况下,则基于该分句序列生成语音,具体实现方式将在后续实施例中进行说明,在此暂不作赘述。
[0116]
在一些实施例中,在步骤120之后,该方法还可以包括:输出目标分句语音。
[0117]
在该实施例中,目标分句语音为第一分句序列对应的语音,其目标分句语音为预先生成且存储与缓存中的语音。
[0118]
在实际执行过程中,在确定分句序列与目标分句序列精确匹配的情况下,则直接将与该第一分句序列相似的目标分句对应的目标分句语音确定为该第一分句序列对应的语音,并输出目标分句语音。
[0119]
申请人在研发过程中发现,由于语音的时间特性,合成一段文本需要很多算力,如果语音合成请求量非常大,且基本上相同的文本,服务器将浪费大量算力重复相同的工作。一种简单方法是把待合成的文本作为key,把对应的已合成音频地址作为value,将这一组key和value存放在缓存中。当有重复的文本合成需求,则直接从缓存中查找到对应的音频,而避免重复使用算力合成相同的文本。
[0120]
但该方法要求整个句子完全匹配,考虑到实际使用过程中,请求的文本相互之间很少存在完全相同的情况(如仅仅是标点符号不同,或者一句话中仅仅是某部分有所变化),从而导致命中率较低,进而影响缓存效率。
[0121]
而在本技术中,通过将目标文本转化为韵律音素序列,基于韵律特征确定目标文本的停顿位置和停顿时长级别,并基于韵律特征将韵律音素序列切分为多个分句序列,分别将分句序列与缓存的目标分句序列进行比较,由于作为查找关键词的序列更短,在缓存查找中更容易命中,从而可以有效提高命中效率;在分句序列与目标序列相同的情况下,则直接将目标分句序列对应的目标分句语音确定为该分句序列的语音,而无需重新进行语音合成,从而有效降低服务器的算力开支。
[0122]
如图2所示,在实际执行过程中,可以分别采用韵律预测模块和切分模块来执行上述步骤。
[0123]
根据本技术实施例提供的文本转写方法,基于韵律特征将韵律音素序列切分为多个分句序列,分别将分句序列与缓存的目标分句序列进行比较,可以有效提高命中效率;在分句序列与目标序列相同的情况下,则直接将目标分句序列对应的目标分句语音确定为该分句序列的语音,而无需重新进行语音合成,从而提高语音合成的效率。
[0124]
下面从另一种实现角度,对本技术的实施例进行说明。
[0125]
继续参考图2,根据本技术的一些实施例,该方法还可以包括:
[0126]
确定多个分句序列中的任一待匹配分句序列与目标分句序列不匹配,对待匹配分句序列进行语音合成,生成第二分句语音。
[0127]
在该实施例中,目标分句序列为预先生成并存储于系统中的分句序列。
[0128]
目标分句序列可以为缓存于系统中的全部的预存分句序列中的任意一个。
[0129]
确定多个分句序列中的任一待匹配分句序列与目标分句序列不匹配,则将该待匹配分句序列确定为第二分句序列。
[0130]
在实际执行过程中,将目标分句序列与多个分句序列中的任意待匹配分句序列进行精确匹配,在均不匹配的情况下,则将该待匹配分句序列确定为第二分句序列,并对第二分句序列进行语音合成,生成第二分句语音。
[0131]
第二分句语音为缓存中不存在的语音。
[0132]
在实际执行过程中,可以基于步骤110中所生成的降序排序的顺序,从前到后依次将分句序列与目标分句序列进行精确匹配,在所有分句序列与目标分句均不匹配的情况下,则对未查找到相似序列的分句序列进行语音合成,生成第二分句语音。
[0133]
在一些实施例中,对第二分句序列进行语音合成,生成第二分句语音,可以包括:
[0134]
将第二分句序列转换为端到端语音合成模型可接收的韵律音素序列,对该韵律音素序列进行语音合成,生成第二分句语音。
[0135]
在该实施例中,韵律音素序列用于表征第二分句序列的韵律信息和音素信息。
[0136]
其中,音素为根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作即构成一个音素,音素可以为汉语音素,也可以为英语音素。
[0137]
例如,第二分句序列可以表现为sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3,或者表现为:sil sh ang4#0h ai3#0sh i4#2jin1#0t ian1#2y in1#0zh uan3#1d uo1#0y vn2#3sil eos等不同格式的音素序列。
[0138]
将第二分句序列输入至语音合成系统(如端到端语音合成模型),由语音合成系统合成第二分句语音。
[0139]
在实际执行过程中,可以采用文字转音素模块来执行以上操作。
[0140]
在该实施例中,将音素作为关键字进行缓存,克服了文本中标点的变化,或在数字写法变化而读音完全相同时被当成不同句子进行缓存的缺点,能够实现目标文本的标准化缓存,提高缓存效率。
[0141]
继续参考图2根据本技术的一些实施例,在生成第二分句语音之后,该方法还可以包括:
[0142]
基于韵律标识符对第二分句语音进行切分,生成多个子第二分句语音;
[0143]
缓存子第二分句语音对应的子分句序列和多个子第二分句语音。
[0144]
在该实施例中,可以基于第二分句语音所对应的第二分句序列中的韵律标识符,对第二分句语音进行切分,生成多个子第二分句语音。
[0145]
其中,每个子第二分句语音对应的分句序列即为子分句序列。
[0146]
在得到子第二分句语音以及其对应的子分句序列后,可以将子分句序列和子第二分句语音缓存至系统,作为后续查询过程中的目标分句序列及其对应的目标分句语音。
[0147]
根据本技术的一些实施例,在生成第二分句语音之后,该方法还可以包括:拼接第二分句语音和目标分句语音,生成目标文本对应的目标语音。
[0148]
在该实施例中,目标语音为将这个目标文本进行语音合成后所得到的语音。
[0149]
目标分句语音为缓存中存在的语音;
[0150]
第二分句语音为缓存中不存在的语音。
[0151]
可以理解的是,该目标语音为基于缓存中的目标分句语音以及新生成的第二分句语音中的至少一种所生成。
[0152]
在一些实施例中,拼接第二分句语音和目标分句语音,还可以包括:
[0153]
基于第二分句语音对应的分句序列在韵律音素序列中的切分顺序,以及目标分句语音对应的分句序列在韵律音素序列中的切分顺序,拼接第二分句语音和目标分句语音。
[0154]
在该实施例中,基于第二分句语音对应的第二分句序列在韵律音素序列中的切分顺序,以及目标分句语音对应的第一分句序列在韵律音素序列中的切分顺序,从第一个分句序列开始,依次拼接相邻的分句序列对应的语音,直至拼接完成全部的分句序列对应语音,生成目标语音。
[0155]
在生成目标语音后,还可以输出目标语音。
[0156]
根据本技术实施例提供的文本转写方法,基于韵律特征将韵律音素序列切分为多个分句序列,分别将分句序列与缓存的目标分句序列进行比较,可以有效提高命中效率;只有在分句序列与目标序列不同的情况下,才进行语音合成,有效减轻服务器的算力压力,提高语音合成的效率。
[0157]
下面对本技术实施例提供的文本转写装置进行描述,下文描述的文本转写装置与上文描述的文本转写方法可相互对应参照。
[0158]
如图3所示,该文本转写装置包括:第一处理模块310和第二处理模块320。
[0159]
第一处理模块310,用于对目标文本的韵律音素序列进行切分,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;
[0160]
第二处理模块320,用于确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与目标分句序列对应的目标分句语音,将待匹配分句序列
对应的语音确定为目标分句语音。
[0161]
根据本技术实施例提供的文本转写装置,基于韵律特征将韵律音素序列切分为多个分句序列,分别将分句序列与缓存的目标分句序列进行比较,可以有效提高命中效率;在分句序列与目标序列相同的情况下,则直接将目标分句序列对应的目标分句语音确定为该分句序列的语音,而无需重新进行语音合成,从而提高语音合成的效率。
[0162]
在一些实施例中,第一处理模块310,还可以用于:
[0163]
将目标文本转化为韵律音素序列;
[0164]
基于多个韵律标识符中的至少部分切分韵律音素序列,生成多个分句序列。
[0165]
在一些实施例中,该装置可以包括:
[0166]
第三处理模块,用于确定多个分句序列中的任一待匹配分句序列与目标分句序列不匹配,对待匹配分句序列进行语音合成,生成第二分句语音。
[0167]
在一些实施例中,该装置可以包括:
[0168]
第四处理模块,用于在生成第二分句语音之后,基于韵律标识符对第二分句语音进行切分,生成多个子第二分句语音;
[0169]
缓存子第二分句语音对应的子分句序列和多个子第二分句语音。
[0170]
在一些实施例中,该装置可以包括:
[0171]
第五处理模块,用于在生成第二分句语音之后,基于目标分句语音对应的分句序列在韵律音素序列中的切分顺序,以及第二分句语音对应的分句序列在韵律音素序列中的切分顺序,拼接目标分句语音和第二分句语音,生成目标文本对应的目标语音。
[0172]
在一些实施例中,第一处理模块310,还可以用于:
[0173]
基于多个韵律标识符中的目标标识符对韵律音素序列进行切分,生成多个候选序列,且位于第一个切分点之前的候选序列对应的语音合成时长在目标时长内;
[0174]
将多个候选序列中的目标候选序列与相邻候选序列进行组合,生成多个分句序列以及分句序列对应的细粒度大小;
[0175]
基于分句序列对应的细粒度大小,对多个分句序列进行降序排序。
[0176]
在一些实施例中,韵律标识符包括:用于表征韵律词、用于表征音节、用于表征韵律短语、用于表征句末信息和用于表征语调短语的标识符中的至少一种;
[0177]
且用于表征句末信息的标识符的细粒度大于用于语调短语的标识符的细粒度,用于表征语调短语的标识符的细粒度大于用于表征韵律短语的标识符的细粒度,用于表征韵律短语的标识符的细粒度大于用于表征韵律词的标识符的细粒度,用于表征韵律词的标识符的细粒度大于用于表征音节的标识符的细粒度。
[0178]
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行文本转写方法,该方法包括:对目标文本的韵律音素序列进行切分,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与目标分句序列对应的目标分句语音,将待匹配分句序列对应的语音确定为目标分句语音。
[0179]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0180]
进一步地,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法实施例所提供的文本转写方法,该方法包括:对目标文本的韵律音素序列进行切分,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与目标分句序列对应的目标分句语音,将待匹配分句序列对应的语音确定为目标分句语音。
[0181]
另一方面,本技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的文本转写方法,该方法包括:对目标文本的韵律音素序列进行切分,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与目标分句序列对应的目标分句语音,将待匹配分句序列对应的语音确定为目标分句语音。
[0182]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0183]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0184]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
[0185]
以上实施方式仅用于说明本技术,而非对本技术的限制。尽管参照实施例对本申
请进行了详细说明,本领域的普通技术人员应当理解,对本技术的技术方案进行各种组合、修改或者等同替换,都不脱离本技术技术方案的精神和范围,均应涵盖在本技术的权利要求范围中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献