文本的切分方法和文本的切分装置与流程

文档序号:30583660发布日期:2022-06-29 14:02阅读:203来源:国知局
文本的切分方法和文本的切分装置与流程

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


背景技术:

2.从文本到语音(text to speech,tts)技术被广泛应用于语音合成领域。在进行文本切分时,常用的方法为基于标点符号来对文本进行切分,但该切分方法既无法解决无标点符号的文本的切分,也无法解决切分后两端不均衡的问题。


技术实现要素:

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.根据本技术第五方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文本的切分方法。
41.本技术实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
42.通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间;然后基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
43.进一步的,通过将目标文本转化为音素序列,并基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种所对应的韵律标识符对音素序列进行标记以生成韵律音素序列,能够提供一种更加精细的韵律表征,从而有助于提高后续切分过程中的切分细腻度与准确性。
44.更进一步的,基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
45.更进一步的,通过优先合成第一子韵律音素序列对应的第一语音,在输出第一语音的同时对后续第二子韵律音素序列进行语音合成,可以加快系统在接收到网络语音合成服务请求后的反馈速度,缩短用户的等待时间。
46.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
47.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本技术实施例提供的文本的切分方法的流程示意图之一;
49.图2是本技术实施例提供的文本的切分方法的流程示意图之二;
50.图3是本技术实施例提供的文本的切分方法的流程示意图之三;
51.图4是本技术实施例提供的文本的切分装置的结构示意图;
52.图5是本技术实施例提供的电子设备的结构示意图。
具体实施方式
53.下面结合附图和实施例对本技术的实施方式作进一步详细描述。以下实施例用于说明本技术,但不能用来限制本技术的范围。
54.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
55.下面结合图1-图3描述本技术实施例的文本的切分方法。
56.该文本的切分方法的执行主体可以为文本的切分方法装置,或者为服务器,或者还可以为用户的终端,包括但不限于手机、平板电脑、pc端、车载终端以及家用智能电器等。
57.如图1所示,该文本的切分方法包括:步骤110、步骤120和步骤130。
58.步骤110、将目标文本转化为韵律音素序列;
59.在该步骤中,目标文本为当前用于进行语音合成的文本。
60.韵律音素序列为用于表征目标文本的韵律特征和音素特征的序列。
61.韵律音素序列包括位于相邻音素之间的韵律标识符和与目标文本对应的多个音素。
62.其中,音素可以为一个或多个根据语音的自然属性划分出来的语音单位的组合,语音单位可以为一个汉字对应的拼音、声母或韵母或者一个英文单词、英文音标或英文字母。
63.韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符,韵律特征包括但不限于:音素对应的声调、音节、韵律词、韵律短语、语调短语、静音以及停顿等特征。
64.其中,用于表征停顿的韵律标识符的细粒度高于用于表征语调短语的韵律的标识符的细粒度,用于表征语调短语的细粒度高于用于表征韵律短语的细粒度,用于表征韵律短语的细粒度高于用于表征韵律词的细粒度,用于表征韵律词的细粒度高于用于表征音节的细粒度。
65.在实际执行过程中,可以用不同的符号表示不同细粒度等级的韵律特征。
guan1 #3 tiao2 #0 jie2 #1 wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3 xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 si。
81.该韵律音素序列中包括#0、#1、#3以及#4等多个韵律标识符;其中,韵律标识符的细粒度由小到大依次为:#0<#1<#2<#3<#4。
82.获取每个韵律标识符在该韵律音素序列中的位置,根据韵律音素序列中在各位置之前的子韵律音素序列所对应的语音合成时长与目标时长之间的大小关系,从这多个位置中确定第一目标标识符所在的位置作为第一切分位置,从而确保基于该第一切分位置所生成的第一子韵律音素序列对应的语音合成时长在目标时长之内。
83.下面结合图2-图3,对该步骤的实现方式进行具体说明。
84.在一些实施例中,步骤120可以包括:
85.基于目标阈值范围,从多个韵律标识符中确定细粒度最大的韵律标识符;
86.将细粒度最大的韵律标识符在目标阈值范围内韵律音素序列中的位置确定为第一切分位置。
87.在该实施例中,目标阈值范围为元素发音长度的最大值和最小值。
88.其中,元素发音长度为韵律音素序列中在目标位置之前的全部音素的发音长度之和。
89.目标位置可以为韵律音素序列中的任一韵律标识符所在的位置。
90.目标阈值范围可以用(n,n+m)表示,其中,n和m的取值可以基于用户自定义或者基于算法确定;其中,n和m均为正整数,且n和m的和不超过韵律音素序列中全部音素的发音长度之和。
91.例如可以将n设置为5,将m设置为5,也即将目标阈值范围确定为5-10个单位发音长度
92.其中,一个汉字为一个单位发音长度,一个成词的英文单词是2个单位发音长度,一串不成词的英文音素是4个单位发音长度。
93.需要说明的是,在一些实施例中,如果有多个细粒度最大韵律标识符,则取位置号最小的那个,也就是取第一个所在韵律音素序列中的位置确定为第一切分位置。
94.继续以“目前小甲可以控制热水器开关,调节温度,定时开关,详细内容麻烦在甲居app上搜寻下”这一目标文本为例,进行说明。
95.在将该目标文本转化为韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3 tiao2 #0 jie2 #1 wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3 xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil”之后,从该韵律音素序列的首字符开始,选择第5至第10个单位发音长度之间的音节所组成的序列:“ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0 shui3 #0”,将其确定为目标阈值范围内的待选韵律音素序列。
96.顺次比较该待选韵律音素序列“ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0 shui3 #0”中各个韵律标识符所对应的细粒度的大小,选择细粒度最大的韵律标识符所在的位置,确定为第一切分位置。对于上述待选韵律音素序列,#1为细粒度最大的韵律标识
符,由于有多个#1,取第一个#1所在的位置确定为第一切分位置,也即,将音节“yi”之后的位置确定为第一切分位置,如下所示:
97.sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1| kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3 tiao2 #0 jie2 #1 wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3 xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil。
98.其中,“|”表征第一切分位置。
99.在一些实施例中,基于目标阈值范围,从多个韵律标识符中确定细粒度最大的韵律标识符,可以包括:
100.获取韵律音素序列中目标子韵律音素序列全部音素的第一发音长度;
101.在第一发音长度在目标阈值范围内的情况下,将第一发音长度对应的目标位置确定为候选切分点位置,生成多个候选切分点位置;
102.从多个候选切分点位置所对应的韵律标识符中确定细粒度最大的韵律标识符。
103.在该实施例中,目标子韵律音素序列目标子韵律音素序列为韵律音素序列中在目标位置之前的全部韵律音素序列,其中,目标位置为韵律音素序列中的任一韵律标识符所在的位置。
104.第一发音长度为该目标子韵律音素序列中各音素对应的发音长度之和。
105.如图3所示,在实际执行过程中,可以通过第一切分位置查找模块来获取第一发音长度。
106.例如,将韵律音素序列转换为带韵律的音素列表,并将该带韵律的音素列表输入至第一切分位置查找模块。
107.第一切分位置查找模块将当前发音长度的初始值和列表索引的初始值均设置为0,初始化空的韵律位置字典dict,并基于如下公式开始循环:
108.元素发音长度=get_voice_length(列表索引);
109.列表索引=列表索引+1;
110.第一发音长度=第一发音长度+元素发音长度;
111.其中,元素发音长度为当前目标位置处的音节所对应的发音长度,列表索引用于表征目标位置。
112.函数get_voice_length(列表索引)计算索引所指定的元素的发音长度,计算方法为:1个汉字为一个单位发音长度,1个成词的英文单词(在词典中的英文字符串)为2个单位发音长度,1个不成词(不在词典中)的英文字符串为4个单位发音长度。
113.通过以上方式,可以分别获取列表索引值在(1,n)范围内的n个第一发音长度,其中,n为列表中的音节的个数。
114.对于每一次生成的第一发音长度,均与目标阈值进行比较。
115.在第一发音长度大于目标阈值范围中的阈值下限且小于目标阈值范围中的阈值上限的情况下,将当前韵律标识符和位置索引记录至字典dict中。
116.在一些实施例中,在第一发音长度在目标阈值范围内的情况下,将第一发音长度对应的目标位置确定为候选切分点位置,包括:
117.在第一发音长度在目标阈值范围内的情况下,确定第一发音长度对应的目标位置
处的韵律标识符为第一次出现,将第一发音长度对应的目标位置确定为候选切分点位置。
118.继续以上述例子进行说明,在第一发音长度大于目标阈值范围中的阈值下限且小于目标阈值范围中的阈值上限的情况下,判断当前列表索引处对应的韵律标识符是否为第一次出现的标识符,在确认当前列表索引处对应的韵律标识符为第一次出现的标识符的情况下,则将当前韵律和列表索引作为键值对,记录至字典dict中。
119.在另一些实施例中,在确认当前列表索引处对应的韵律标识符为之前已经出现过的标识符的情况下,则跳过当前列表索引,进入下一轮循环。
120.例如,对于韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3 tiao2 #0 jie2 #1 wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3 xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil”,从列表索引数值为1起,依次计算每一个列表索引数值所对应的第一发音长度;
121.在计算到“ke2 #0”位置所对应的第一发音长度进入目标阈值范围后,记录该位置处的列表索引数值以及该位置处的韵律标识符“#0”;
122.然后将列表索引进行加一,计算“yi3 #1”位置所对应的第一发音长度,在确定“yi3 #1”位置所对应的第一发音长度在目标阈值范围内时,则记录该位置处的列表索引数值以及该位置处的韵律标识符“#1”;
123.然后将列表索引进行加一处理,计算“kong4 #0”位置所对应的第一发音长度,在确定“kong4 #0”位置所对应的第一发音长度在目标阈值范围内时,判断该位置处的韵律标识符“#1”并非为第一次出现,则跳过该列表索引,对列表索引进行加一处理,重复上述过程,直至当前列表索引所对应的第一发音长度超过目标阈值范围的阈值上限,则结束循环。
124.所记录的全部韵律标识符所对应的列表索引即可作为用于确定第一切分位置的候选切分点位置。
125.然后从记录的全部韵律标识符中筛选出细粒度最大的韵律标识符,如从以上所记录的“#0”和“#1”中确定细粒度最大的韵律标识符“#1”,并将该韵律标识符“#1”对应的目标位置(即位置索引)确定为第一切分位置。
126.在另一些实施例中,在第一发音长度小于目标阈值范围中的阈值下限的情况下,则对当前列表索引进行加一处理,进入下一个循环。
127.在又一些实施例中,在列表索引数值超过列表元素个数的情况下,则结束循环。
128.在确定第一切分位置后,从该第一切分位置处切分韵律音素序列,即可生成第一子韵律音素序列。
129.申请人在研发过程中发现,由于语音的时间特性,通常系统转化的时间和输入文本的长度成正比,越长的句子合成所需的时间就越长,尤其对于一些超长的文本输入,还可能会造成系统容量超出限制。为解决以上问题,一种简单直接的想法是利用计算机系统的能力并行合成,而在切分过程中所面临的第一个问题就是需要如何切分并行任务。相关技术中主要是基于标点符号来对文本进行切分,但该切分方法既无法解决无标点符号的文本的切分,也无法解决切分后两端不均衡的问题。
130.而在本技术中,通过将目标文本转化为韵律音素序列,并基于韵律音素序列中的
韵律特性来确定第一切分位置,使得基于第一切分位置所得到的第一子韵律音素序列,其对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间,缩短延迟时间;除此之外,基于该方式所确定的第一切分位置为在停顿时长较长的位置,使得切分得到的第一子韵律音素序列的停顿和韵律更加自然,从而使得后续输出的基于第一子韵律音素序列合成的语音更加自然且流畅。
131.步骤130、基于第二切分位置和第一切分位置切分韵律音素序列,生成至少第二子韵律音素序列以及第一子韵律音素序列;其中,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列。
132.在该步骤中,第一子韵律音素序列为基于第一切分位置所切分生成的,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列;
133.第二子韵律音素序列为位于第一切分位置之后的韵律音素序列。
134.在一些实施例中,在步骤120之后,且在步骤130之前,该方法还可以包括:从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置;
135.步骤130可以包括:基于第一切分位置和第二切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和至少两个第二子韵律音素序列,至少两个第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,相邻的第二子韵律音素序列基于第二切分位置确定。
136.在该实施例中,第二切分位置为除第一次切分以外的其他所有次切分所对应的切分点的位置。
137.在确定第一切分位置后,从韵律音素序列中查找第一切分位置之后的至少部分韵律标识符作为用于确定第二切分位置的候选集,并将候选集中的韵律标识符的位置确定为第二切分位置。
138.如图2所示,在实际执行过程中,可以采用第二切分位置查找模块来查找第二切分位置。
139.例如,将第一切分位置和韵律音素序列输入至第二切分位置查找模块,获取由第二切分位置查找模块输出的切分点列表,该切分点列表中包括:第一切分位置和第二切分位置。
140.在一些实施例中,从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置可以包括:将韵律音素序列中位于第一切分位置之后的,用于表征语调短语的标识符所对应的位置确定为第二切分位置。
141.在该实施例中,继续以韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3 tiao2 #0 jie2 #1 wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3 xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil”为例,进行说明。
142.在确定第一切分位置后,从第一切分位置所在的位置开始,也即从“yi3 #1”之后开始,依次查找后续位置处,韵律标识符为“#3”的韵律标识符所在的位置,并依次将这些位置确定为第二切分位置,从而得到如下切分序列:
143.sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1| kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3| tiao2 #0 jie2 #1 wen1 #0 du4 #3 |ding4 #0 shi2 #1 kai1 #0 guan1 #3 |xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil;
144.其中,第一个“|”为第一切分位置,后续“|”均为第二切分位置。
145.当然,在其他实施例中,还可以将其他细粒度等级的标识符所在的位置确定为第二切分位置,本技术不做限定。
146.第二子韵律音素序列为位于第一切分位置之后的整个韵律音素序列进行切分,所生成的韵律音素序列。
147.在第二切分位置为至少一个的情况下,第二子韵律音素序列为至少两个。
148.在该实施例中,基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
149.当然,在一些实施例中,在没有第二切分位置的情况下,则第二子韵律音素序列即为韵律音素序列中位于第一切分位置之后的整个韵律音素序列。例如,当第二切分位置为#3对应的位置,但是在第二子韵律音素序列中查找不到#3时,此时可以理解为不存在第二切分位置。
150.例如,经步骤120确定的第一切分位置和第二切分位置如下:
151.sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1| kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3| tiao2 #0 jie2 #1 wen1 #0 du4 #3 |ding4 #0 shi2 #1 kai1 #0 guan1 #3 |xiang2 #0 xi4 #1 nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 ae1p #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil;
152.则在该步骤中,从第一个“|”所在的位置开始,依次对该韵律音素序列进行切分,从而生成第一子韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1”,以及第二子韵律音素序列:“kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3”、“tiao2 #0 jie2 #1 wen1 #0 du4 #3”以及“ding4 #0 shi2 #1 kai1 #0 guan1 #3”等。
153.其中,该第一子韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1”的语音合成时长在0.2s左右。
154.根据本技术实施例提供的文本的切分方法,通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间。
155.在一些实施例中,步骤110可以包括:
156.获取目标文本的句末信息、语调短语、韵律短语、韵律词和音节;
157.将目标文本转化为音素序列;
158.基于句末信息、语调短语、韵律短语、韵律词和音节的至少两种,生成多个韵律标识符;
159.基于多个韵律标识符对音素序列进行标记,生成韵律音素序列。
zhuan3 #1 duo1 #0 yun2 #3 dong1 #0 nan2 #0 feng1 #2 san1 #0 dao4 #1 si4 #0 ji2 #4 sil。
177.其中,sil表征句首和句末的静音。
178.申请人在研发过程中发现,相关技术中,往往是通过采用句子中的标点符号来表征句子的韵律,如在句子中的逗号或句号所在的位置处对句子进行切分,以得到多个分句。该方法一方面无法满足对无标点的文本的切分,另一方面还会导致切分后的两端不均衡,切分效果不佳。
179.而在本技术中,采用句末信息、语调短语、韵律短语、韵律词和音节至少两项来表征句子的韵律,并以此为基准对目标文本进行切分,不会出现在一次整词中间切断的情况,使得切分后得到的分句停顿和韵律均较为自然。
180.根据本技术实施例提供的文本的切分方法,通过将目标文本转化为音素序列,并基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种所对应的韵律标识符对音素序列进行标记以生成韵律音素序列,能够提供一种更加精细的韵律表征,从而有助于提高后续切分过程中的切分细腻度与准确性。
181.根据本技术的一些实施例,在步骤130之后,该方法还可以包括:
182.对第一子韵律音素序列进行语音合成,生成第一语音;
183.输出第一语音,并对第二子韵律音素序列进行语音合成,生成第二语音。
184.在该实施例中,第一子韵律音素序列为目标文本中的第一个切分点之前的序列,也即目标文本所合成的语音中的首句话所对应的序列。
185.在生成第一子韵律音素序列后,即可对第一子韵律音素序列进行语音合成,生成第一语音。
186.然后输出该第一语音以供客户端进行播放,在客户端播放该第一语音的同时,系统可以合成后续第二子韵律音素序列,以生成第二语音。
187.例如,在得到第一子韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1”后,即可基于该第一子韵律音素序列合成第一语音“目前小甲可以”,并输出该第一语音;在客户端播放该第一语音的同时,系统对第二子韵律音素序列:“kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3”进行合成。
188.根据本技术实施例提供的文本的切分方法,通过优先合成第一子韵律音素序列对应的第一语音,在输出第一语音的同时对后续第二子韵律音素序列进行语音合成,可以加快系统在接收到网络语音合成服务请求后的反馈速度,缩短用户的等待时间。
189.下面对本技术实施例提供的文本的切分装置进行描述,下文描述的文本的切分装置与上文描述的文本的切分方法可相互对应参照。
190.如图4所示,该文本的切分装置包括:第一处理模块410、第二处理模块420和第三处理模块430。
191.第一处理模块410,用于将目标文本转化为韵律音素序列,韵律音素序列包括位于相邻音素之间的韵律标识符以及与目标文本对应的多个音素;
192.第二处理模块420,用于基于多个韵律标识符在韵律音素序列中确定第一切分位置;
193.第三处理模块430,用于基于第一切分位置对韵律音素序列进行切分,生成第一子
韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
194.根据本技术实施例提供的文本的切分装置,通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间。
195.在一些实施例中,第二处理模块420,用于:
196.基于目标阈值范围,从多个韵律标识符中确定细粒度最大的韵律标识符;
197.将细粒度最大的韵律标识符在韵律音素序列中的位置确定为第一切分位置。
198.在一些实施例中,第二处理模块420,用于:
199.获取韵律音素序列中目标子韵律音素序列全部音素的第一发音长度,目标子韵律音素序列为韵律音素序列中在目标位置之前的全部韵律音素序列;
200.确定第一发音长度在目标阈值范围内,且确定第一发音长度对应的目标位置处的韵律标识符为第一次出现,将第一发音长度对应的目标位置确定为候选切分点位置,生成多个候选切分点位置;
201.从多个候选切分点位置所对应的韵律标识符中确定细粒度最大的韵律标识符。
202.在一些实施例中,第二处理模块420,用于:
203.确定第一发音长度在目标阈值范围内,且确定第一发音长度对应的目标位置处的韵律标识符为第一次出现,将第一发音长度对应的目标位置确定为候选切分点位置。
204.在一些实施例中,该装置还可以包括:
205.第五处理模块,用于在生成第一子韵律音素序列和第二子韵律音素序列之后,对第一子韵律音素序列进行语音合成,生成第一语音;
206.输出第一语音,并对第二子韵律音素序列进行语音合成,生成第二语音。
207.在一些实施例中,多个韵律标识符包括:用于表征韵律词、用于表征音节、用于表征韵律短语、用于表征句末信息和用于表征语调短语的标识符中的至少一种;
208.且用于表征句末信息的标识符的细粒度大于用于语调短语的标识符的细粒度,用于表征语调短语的标识符的细粒度大于用于表征韵律短语的标识符的细粒度,用于表征韵律短语的标识符的细粒度大于用于表征韵律词的标识符的细粒度,用于表征韵律词的标识符的细粒度大于用于表征音节的标识符的细粒度。
209.在一些实施例中,第一处理模块410,用于:
210.获取目标文本的韵律词、音节、韵律短语、句末信息和语调短语;
211.将目标文本转化为音素序列;
212.基于韵律词、音节、韵律短语、句末信息和语调短语中的至少两种,生成多个韵律标识符;
213.基于多个韵律标识符对音素序列进行标记,生成韵律音素序列。
214.在一些实施例中,该装置还可以包括:
215.第六处理模块,用于在基于多个韵律标识符在韵律音素序列中确定第一切分位置之后,且在基于第一切分位置对韵律音素序列进行切分之前,从韵律音素序列中位于第一
切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置;
216.第三处理模块430,还可以用于:基于第一切分位置和第二切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和至少两个第二子韵律音素序列,至少两个第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,相邻的第二子韵律音素序列基于第二切分位置确定。
217.图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行文本的切分方法,该方法包括:将目标文本转化为韵律音素序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符;基于多个韵律标识符在韵律音素序列中确定第一切分位置;基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
218.此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
219.进一步地,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法实施例所提供的文本的切分方法,该方法包括:将目标文本转化为韵律音素序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符;基于多个韵律标识符在韵律音素序列中确定第一切分位置;基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
220.另一方面,本技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的文本的切分方法,该方法包括:将目标文本转化为韵律音素序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符;基于多个韵律标识符在韵律音素序列中确定第一切分位置;基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序
列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
221.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
222.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
223.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
224.以上实施方式仅用于说明本技术,而非对本技术的限制。尽管参照实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,对本技术的技术方案进行各种组合、修改或者等同替换,都不脱离本技术技术方案的精神和范围,均应涵盖在本技术的权利要求范围中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1