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

语音合成方法和语音合成装置与流程

2022-06-30 02:41:09 来源:中国专利 TAG:


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.进一步的,基于目标阈值对待合成文本进行切分以生成目标文本,能够充分考虑到服务器的实际能力,以提供在服务器的处理能力范围内的目标文本进行语音合成,从而提升语音合成的性能。
49.更进一步的,通过将目标文本转化为音素序列,并基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种所对应的韵律标识符对音素序列进行标记以生成韵律音素序列,能够提供一种更加精细的韵律表征,从而有助于提高后续切分过程中的切分细腻度与准确性。
50.再进一步的,基于韵律音素序列预测由该目标文本所合成的目标音频文件的大小信息,并基于目标残差值对预测值进行校正,既能够在目标音频文件生成之前即可实现该目标文件的大小值的预测,且预测结果的准确性和精确性较高。
51.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
52.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1是本技术实施例提供的语音合成方法的流程示意图之一;
54.图2是本技术实施例提供的语音合成方法的流程示意图之二;
55.图3是本技术实施例提供的语音合成装置的结构示意图;
56.图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
57.下面结合附图和实施例对本技术的实施方式作进一步详细描述。以下实施例用于说明本技术,但不能用来限制本技术的范围。
58.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
59.下面结合图1-图2描述本技术实施例的语音合成方法。
60.该语音合成方法的执行主体可以为语音合成装置,或者为服务器,或者还可以为用户的终端,包括但不限于手机、平板电脑、pc端、车载终端以及家用智能电器等。
61.如图1所示,该语音合成方法包括:步骤110、步骤120和步骤130。
62.步骤110、切分目标文本的韵律音素序列,生成多个分句序列;
63.在该步骤中,目标文本为当前用于进行语音合成的文本。
64.韵律音素序列为用于表征目标文本的韵律特征和音素特征的序列。
65.韵律音素序列包括位于相邻音素之间的韵律标识符和与目标文本对应的多个音素。
66.其中,音素可以为一个或多个根据语音的自然属性划分出来的语音单位的组合,语音单位可以为一个汉字对应的拼音、声母或韵母或者一个英文单词、英文音标或英文字母。
67.韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符,韵律特征包括但不限于:音素对应的声调、音节、韵律词、韵律短语、语调短语、静音以及停顿等特征。
68.其中,用于表征停顿的韵律标识符的细粒度高于用于表征语调短语的韵律的标识符的细粒度,用于表征语调短语的细粒度高于用于表征韵律短语的细粒度,用于表征韵律短语的细粒度高于用于表征韵律词的细粒度,用于表征韵律词的细粒度高于用于表征音节的细粒度。
69.在实际执行过程中,可以用不同的符号表示不同细粒度等级的韵律特征。
70.例如,对于目标文本“上海市今天阴转多云东南风三到四级”,可以将其转化为韵律音素序列:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#
3dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
71.可以理解的是,对于该韵律音素序列,韵律标识符可以包括:各相邻的拼音之间的数字、符号以及英文音素;音素可以包括每一个汉字对应的拼音。
72.其中,sil为韵律音素序列中代表句首和句末的静音,#0代表音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末,每个音素后面的数字代表该音素的声调,如shang4中的4代表拼音“shang”的声调为第四声。
73.可以理解的是,一整段韵律音素序列是由依次相连的分句序列连接而成。
74.对于每段韵律音素序列,对应至少一个切分点,则可以得到至少两个分句序列。
75.在一些实施例中,步骤110可以包括:
76.将目标文本转化为韵律音素序列;
77.基于多个韵律标识符中的至少部分切分韵律音素序列,生成多个分句序列。
78.在该实施例中,目标文本为当前用于进行语音合成的文本。
79.韵律音素序列为用于表征目标文本的韵律特征的序列。
80.韵律音素序列包括位于相邻音素之间的韵律标识符和与目标文本对应的多个音素。
81.其中,音素可以为一个或多个字符单位的组合,字符单位可以为一个汉字对应的拼音或者一个英文单词。
82.韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符,韵律特征包括但不限于:音素对应的声调、音节、韵律词、韵律短语、语调短语、静音以及停顿等特征。
83.其中,用于表征停顿的韵律标识符的细粒度大于用于表征语调短语的韵律的标识符的细粒度,用于表征语调短语的细粒度大于用于表征韵律短语的细粒度,用于表征韵律短语的细粒度大于用于表征韵律词的细粒度,用于表征韵律词的细粒度大于用于表征音节的细粒度。
84.在实际执行过程中,可以用不同的符号表示不同细粒度等级的韵律特征。
85.例如,对于目标文本“上海市今天阴转多云东南风三到四级”,可以将其转化为韵律音素序列:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
86.可以理解的是,对于该韵律音素序列,韵律标识符可以包括:各相邻的拼音之间的数字与符号的组合以及特定的英文字符;音素可以包括每一个汉字对应的拼音。
87.其中,sil为韵律音素序列中的代表句首和句末的静音,#0代表着音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末,每个音素后面的数字代表该音素的声调,如shang4中的4代表拼音“shang”的声调为第四声。
88.对于一整段韵律音素序列,包括有多个音素和多个韵律标识符,多个韵律标识符中包括对应不同细粒度等级的韵律标识符。
89.在实际执行过程中,可以基于实际情况选择合适的细粒度等级作为切分标准,并将该细粒度等级对应的韵律标识符在韵律音素序列中的位置作为切分点,对韵律音素序列进行切分,以得到多个分句序列。
90.需要说明的是,每个分句序列包括切分点处的韵律标识符以及至少一个音素。
91.可以理解的是,对于每段韵律音素序列,对应至少一个切分点,则可以得到至少两个分句序列。
92.例如,对于韵律音素序列“sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil”,基于实际需求确定在#3处进行切分,则分别在韵律音素序列中含有#3的位置进行切分,并保留韵律分割符#3至前一个拼接单元,从而可以将该韵律音素序列切分为以下多个分句序列:
93.分句序列1:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3;
94.分句序列2:dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
95.切分点的具体确定过程将在后续实施例中进行说明,在此暂不作赘述。
96.步骤120、对多个分句序列中的第一子韵律音素序列进行语音合成,得到第一语音信息;
97.在该步骤中,第一子韵律音素序列为韵律音素序列的第一个切分点之前的韵律音素序列。
98.继续以上述实施例中的分句序列1和分句序列2为例,第一子韵律音素序列即为分句序列1:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3。
99.在实际执行过程中,可以采用声码器对第一子韵律音素序列进行语音合成,以生成该第一子韵律音素序列对应的第一语音信息。
100.步骤130、输出第一语音信息且对多个分句序列中的第二子韵律音素序列进行语音合成,生成第二语音信息,第二子韵律音素序列为在韵律音素序列中位于第一子韵律音素序列之后的至少一个分句序列。
101.在该步骤中,在生成第一语音信息后,将第一语音信息返回至客户端进行输出,以供用户播放该第一语音信息。
102.在输出第一语音信息的过程中,后台继续对第二子韵律音素序列进行语音合成,以生成第二子韵律音素序列对应的第二语音信息。
103.其中,第二子韵律音素序列为在韵律音素序列中位于第一子韵律音素序列之后的至少一个分句序列,对于上述实施例中的分句序列1和分句序列2,第二子韵律音素序列即为分句序列2:dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
104.在其他实施例中,该方法还可以包括:
105.确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列匹配,从缓存中获取与目标分句序列对应的目标分句语音,将待匹配分句序列对应的语音确定为目标分句语音;
106.确定多个分句序列中的任一待匹配分句序列与缓存的目标分句序列不匹配,对待匹配分句序列进行语音合成,生成第二分句语音。
107.例如,从预先缓存的多个分句序列中匹配与第一子韵律音素序列或者第二子韵律音素序列匹配的分句序列,获取预先生成并缓存的与经匹配所确定的分句序列对应的语音,得到第一子韵律音素序列或者第二子韵律音素序列对应的合成后的语音。这样,首先从缓存中匹配对应的语音而不需要实时合成,提高了语音合成的效率。
108.在一些实施例中,该方法还可以包括:对目标文本的韵律音素序列进行切分,生成
多个候选序列;将多个候选序列中的目标候选序列与相邻候选序列进行组合,生成分句序列对应的细粒度大小以及多个分句序列。
109.例如,对句子“希望这首歌|能让你喜欢|为您播放|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”。
110.分别将候选序列中的任一候选序列作为目标候选序列,将其与相邻的其他候选序列进行组合,从而可以得到如下多个分句序列(两个“|”之间的为一个分句序列):
[0111]“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”[0112]“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”[0113]“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”[0114]“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”[0115]“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”[0116]“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”[0117]“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”[0118]
基于分句序列对应的细粒度大小,对多个分句序列进行降序排序。具体地,细粒度越大,则其对应的分句序列排在越前面,例如将“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)”排在“xi1#0wang4#1zhe4#0shou3#0ge1#3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1(希望这首歌能让你喜欢为您播放)”的前面。
[0119]
在一些实施例中,还可以基于降序排序的次序,从前至后依次将多个分句序列与缓存中的目标分句序列进行匹配,并将匹配成功的目标分句序列的语音确定为所述分句序列的语音。
[0120]
在该实施例中,基于所生成的降序排序的顺序,从前到后依次将分句序列与目标分句序列进行精确匹配,例如先将分句序列“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)”与目标分句进行精确匹配,在匹配成功的情况下,则将该分句序列确定为第一分句序列,并将与该第一分句序列匹配的目标分句对应的目标分句语音确定为该第一分句序列对应的语音,结束比较。
[0121]
在匹配不成功的情况下,则再将分句序列“xi1#0wang4#1zhe4#0shou3#0ge1#
3neng2#0rang4#1ni2#1xi3#0huan1#1wei4#0nin2#1bo1#0fang4#1(希望这首歌能让你喜欢为您播放)”与目标分句进行比较,并重复上述过程,直至确定某一分句序列与目标分句能够实现精确匹配,则结束比较。
[0122]
申请人在研发过程中发现,相关技术中,在进行语音合成时,通常是直接对整段待合成文本进行语音合成。考虑到语音具有时间特性,通常系统转化的时间和输入文本的长度成正比,越长的句子合成所需的时间就越长。
[0123]
对于几十到数百字级别的输入,目前最快的深度学习模型合成时间也有几秒~几十秒级别,而对于一些较长的待合成文本,在进行语音合成时则需要耗费更长的时间,这也意味着用户需等待较长的时间才能获取所合成的语音,既浪费了用户的时间,也影响了用户的使用体验。
[0124]
申请人在研发过程中还发现,为解决以上问题,相关技术中还存在一种将待合成文本切分为多个子文本,并通过系统并行合成的方式对多个子文本进行语音合成,但该方法仅限于gpu上的操作,而在cpu服务器上,该方法未能提升合成性能,仍需耗费大量的时间。
[0125]
而在本技术中,通过将目标文本切分为多个分句序列,优先对第一子韵律音素序列进行语音合成并优先输出经第一子韵律音素序列合成的第一语音信息,在输出第一语音信息的过程中再合成第一子韵律音素序列之后的分句序列,从而有效加快系统在接收到网络语音合成服务请求后的反馈速度,缩短用户的等待时间,有助于提高用户的使用体验。
[0126]
在实际执行过程中,对多个分句序列中的第二子韵律音素序列进行语音合成,可以表现为基于每一个分句序列在目标文本中的切分顺序,依次对各分句序列进行语音合成。
[0127]
例如,在将目标文本顺次切分为第一分句序列、第二分句序列和第三分句序列后,第一分句序列为第一子韵律音素序列,优先对第一分句序列进行语音合成生成第一语音信息;在输出第一语音信息的同时,再对第二分句序列进行语音合成,在生成第二分句序列对应的第二语音信息之后,再对第三分句序列进行语音合成。
[0128]
对多个分句序列中的第二子韵律音素序列进行语音合成,还可以表现为同时对各分句序列进行语音合成。
[0129]
例如,在将目标文本顺次切分为第一分句序列、第二分句序列和第三分句序列后,第一分句序列为第一子韵律音素序列,优先对第一分句序列进行语音合成生成第一语音信息;在输出第一语音信息的同时,利用系统的并行合成能力,并行合成第二分句序列和第三分句序列。
[0130]
根据本技术实施例提供的语音合成方法,通过将目标文本切分为多个分句序列,优先对第一个分句序列进行语音合成生成第一语音信息,在输出第一语音信息的过程中继续对后续分句序列进行语音合成,有效加快了系统在接收到网络语音合成服务请求后的反馈速度,缩短了用户的等待时间,从而有助于提高用户的使用体验。
[0131]
如图2所示,根据本技术的一些实施例,在步骤110之前,该方法还可以包括:
[0132]
获取待合成文本;
[0133]
在待合成文本的大小超过目标阈值的情况下,切分待合成文本,生成目标文本,目标文本的大小不大于目标阈值。
[0134]
在该实施例中,待合成文本为需要进行语音合成的原始文本。
[0135]
待合成文本的文本级别可以为数十至数百级别的常规文本,也可以为数千或数万级别的超长文本。
[0136]
目标阈值可以基于系统的算力和语音合成模型的能力上限中的至少一种确定,例如可以将目标阈值确定为几百字的范围。
[0137]
在实际执行过程中,对于获取的待合成文本,优先判断该待合成文本的大小,并将其大小与目标阈值进行比较,在待合成文本的大小不超过目标阈值的情况下,则直接将整个待合成文本确定为目标文本。
[0138]
在待合成文本的大小超过目标阈值的情况下,则基于获取的系统的算力和语音合成模型的能力信息中的至少一种,先对待合成文本进行切分,以得到多段第一文本,使得每一段第一文本的大小均不超过目标阈值,并将多段第一文本中的第一段文本确定为目标文本。
[0139]
根据本技术实施例提供的语音合成方法,基于目标阈值对待合成文本进行切分以生成目标文本,能够充分考虑到服务器的实际能力,以提供在服务器的处理能力范围内的目标文本进行语音合成,从而提升语音合成的性能。
[0140]
在一些实施例中,步骤110可以包括:
[0141]
获取目标文本的句末信息、语调短语、韵律短语、韵律词和音节;
[0142]
基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种标记目标文本,生成韵律音素序列。
[0143]
在该实施例中,音节是语流中的语音单位,也是人们听觉上最容易分辨出来的语音单位,例如,音节可以为目标文本中的每一个汉字。
[0144]
韵律词是一组在实际语流中联系密切且联在一起发音的音节。
[0145]
韵律短语是介于韵律词和语调短语之间的中等节奏组块,韵律短语中可以包括多个韵律词和语气词,且组成该韵律短语的多个韵律词听起来是共用一个节奏群。
[0146]
语调短语为将多个韵律短语按照一定的句调模式连接起来所组成的句子,用于表征较大的停顿。
[0147]
句末信息用于表征每一个长句的结束。
[0148]
例如,对于目标文本“上海市今天阴转多云东南风三到四级”,其中如“上”、“海”以及“市”等每一个汉字均为该目标文本对应的音节;“上海市”、“今天”以及“阴转多云”等单词或由单词组成的短语即为该目标文本对应的韵律短语;而由韵律短语“上海市”、“今天”以及“阴转多云”所组成的句子“上海市今天阴转多云”,则为该目标文本对应的语调短语。
[0149]
在获取得到目标文本的句末信息、语调短语、韵律短语、韵律词和音节等信息后,基于其中的至少两种对目标文本进行标记,即可生成韵律音素序列。
[0150]
申请人在研发过程中发现,相关技术中,往往是通过采用句子中的标点符号来表征句子的韵律,如在句子中的逗号或句号所在的位置处对句子进行切分,以得到多个分句。该方法一方面无法满足对无标点的文本的切分,另一方面还会导致切分后的两端不均衡,切分效果不佳。
[0151]
而在本技术中,采用句末信息、语调短语、韵律短语、韵律词和音节至少两项来表征句子的韵律,并以此为基准对目标文本进行切分,不会出现在一次整词中间切断的情况,
使得切分后得到的分句停顿和韵律均较为自然。
[0152]
在一些实施例中,基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种标记目标文本,生成韵律音素序列,包括:
[0153]
将目标文本转化为音素序列;
[0154]
基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种,生成多个韵律标识符;
[0155]
基于多个韵律标识符对音素序列进行标记,生成韵律音素序列。
[0156]
在该实施例中,音素序列为由目标文本中的每个汉字或英文对应的发音标记,包括拼音、声调或英文注音所连接而成的序列。
[0157]
例如,对于目标文本“上海市今天阴转多云东南风三到四级”,可以将其转化为音素序列:shang4 hai3 shi4 jin1 tian1 yin1 zhuan3 duo1 yun2 dong1 nan2 feng1san1 dao4 si4 ji2。
[0158]
韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符,也即,韵律标识符为用于表征句末信息、语调短语、韵律短语、韵律词和音节的符号。
[0159]
在实际执行过程中,可以采用特殊符号与数字组合的形式或特定字母组合来表示韵律标识符,例如分别用“#0”、“#1”、“#2”、“#3”以及“#4”来表示韵律标识符,不同的组合表征不同的细粒度级别。
[0160]
如:#0代表着音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末,在该实施例中,细粒度由小到大依次为:#0<#1<#2<#3<#4。
[0161]
在得到目标文本对应的音素序列以及韵律标识符后,将韵律标识符插入音素序列中的相应位置,如将用于表征音节的韵律标识符#0插入至音素序列中每一个音节所对应的拼音之后,将用于表征韵律短语的韵律标识符#2插入至音素序列中每一句韵律短语之后,从而将音素序列转化为韵律音素序列。
[0162]
例如,分别采用#0”、“#1”、“#2”、“#3”以及“#4”对音素序列“shang4 hai3shi4 jin1 tian1 yin1 zhuan3 duo1 yun2 dong1 nan2 feng1 san1 dao4 si4 ji2”进行标记,从而生成韵律音素序列:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3dong1#0nan2#0feng1#2san1#0dao4#1si4#0ji2#4sil。
[0163]
其中,sil表征句首和句末的静音。
[0164]
根据本技术实施例提供的语音合成方法,通过将目标文本转化为音素序列,并基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种所对应的韵律标识符对音素序列进行标记以生成韵律音素序列,能够提供一种更加精细的韵律表征,从而有助于提高后续切分过程中的切分细腻度与准确性。
[0165]
继续参考图2,根据本技术的一些实施例,该方法还可以包括:基于韵律音素序列,生成第三语音信息的目标文件大小;
[0166]
步骤130可以包括:基于目标文件大小生成第二语音信息。
[0167]
在该实施例中,第三语音信息为对由目标文本所对应的多个分句序列的中的至少两个分句序列所合成的语音信息进行合成所生成的语音信息,其中,该至少两个分句序列中的一个为第一子韵律音素序列。
[0168]
目标文件大小为经预测得到的,第三语音信息的文件大小。
[0169]
目标文件大小可以为文件体积信息,或者也可以为第三语音信息的语音长度信息,本技术不做限定。
[0170]
在得到第三语音信息的目标文件大小后,基于目标文件大小对基于第二子韵律音素序列所生成的语音数据进行数据补齐,从而生成第二语音信息。
[0171]
在一些实施例中,基于韵律音素序列,生成第三语音信息的目标文件大小,可以包括:
[0172]
基于韵律音素序列,生成第三语音信息的预测文件大小;
[0173]
基于目标残差值校正预测文件大小,生成目标文件大小。
[0174]
在该实施例中,预测文件大小为基于韵律音素序列预测得到的,未经校正的经目标文本合成的语音的初始文件大小值。
[0175]
目标残差值用于对预测文件大小进行校正,以提高最终所生成的目标文件大小的准确性。
[0176]
目标残差值基于样本文件大小和预测的样本文本对应的样本音频文件的大小确定的,样本文件大小为样本文本对应的样本音频文件的实际大小。目标文件大小为基于韵律音素序列预测,且经校正后的经目标文本合成的语音的文件大小值。可以理解的是,目标文件大小的准确性高于预测文件大小。
[0177]
目标残差值为预先确定的数值,例如目标残差值可以为最大残差值。
[0178]
在该实施例中,通过对预测文件大小进行增补残差处理,以对预测文件大小进行校正,从而提高最终生成的目标文件大小的准确性。
[0179]
在一些实施例中,目标残差值可以通过如下步骤确定:
[0180]
获取样本文本、样本音频文件对应的样本文件大小和样本文本对应的样本音频文件,样本音频文件为对样本文本进行语音合成所生成的;
[0181]
将样本文本转化为样本韵律音素序列;
[0182]
基于样本韵律音素序列对样本音频文件的大小进行预测,生成样本音频文件的样本预测文件大小;
[0183]
将样本文件大小和样本预测文件大小的差值的绝对值,确定为目标残差值。
[0184]
在该实施例中,样本文本可以为数十至数百级别的常规文本,也可以为数千或数万级别的超长文本。
[0185]
样本音频文件为对样本文本进行语音合成,所最终生成的音频文件。
[0186]
样本文件大小为样本音频文件的实际大小值或实际音频时长。
[0187]
例如,可以采用语音合成系统计算样本文本对应的样本音频文件的真实wav文件大小或音频时长。
[0188]
样本预测文件大小为经预测得到的,未经校正的样本音频文件的大小值或音频时长。
[0189]
需要说明的是,样本预测文件大小的生成方式应与预测文件大小的生成方式保持一致。
[0190]
计算样本预测文件大小减去样本文件大小的差值的绝对值,作为目标残差值。
[0191]
可以理解的是,在执行过程中,可以对样本韵律音素序列进行多次预测,以得到多个样本预测文件大小。分别计算每一个样本预测文件大小与样本文件大小的差值,得到多
个候选差值;然后从多个候选差值中选择最小值的绝对值,确定为目标残差值,以提高目标残差值的准确度。
[0192]
根据本技术实施例提供的语音合成方法,基于韵律音素序列预测由该目标文本所合成的目标音频文件的大小信息,并基于目标残差值对预测值进行校正,既能够在目标音频文件生成之前即可实现该目标文件的大小值的预测,且预测结果的准确性和精确性较高。
[0193]
继续参考图2,在一些实施例中,步骤110可以包括:
[0194]
基于多个韵律标识符在韵律音素序列中确定第一切分位置;
[0195]
从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置;
[0196]
基于第一切分位置和第二切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和至少两个第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,至少两个第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,相邻的第二子韵律音素序列基于第二切分位置确定,且第一子韵律音素序列对应的语音合成时长在目标时长内。
[0197]
在该实施例中,第一切分位置为用于第一次切分的切分点。
[0198]
第二切分位置为除第一次切分以外的其他所有次切分所对应的切分点的位置。
[0199]
基于第一切分位置,可以将该韵律音素序列切分为前后两个子序列,且将位于第一切分位置之前的子序列确定为第一子韵律音素序列。
[0200]
需要说明的是,基于第一切分位置所生成的第一子韵律音素序列,其对应的语音合成时长在目标时长内。
[0201]
其中,第一子韵律音素序列对应的语音合成时长为将第一子韵律音素序列合成为语音所耗费的时间。
[0202]
语音合成时长与语音合成系统的算力相关。
[0203]
目标时长为一个较短的时长,目标时长的数值可以基于用户自定义,或者也可以采用系统默认值,例如可以将目标时长设置为0.2s或0.3s等。
[0204]
在确定第一切分位置后,从韵律音素序列中查找第一切分位置之后的至少部分韵律标识符作为用于确定第二切分位置的候选集,并将候选集中的韵律标识符的位置确定为第二切分位置。
[0205]
可以理解,在其他实施例中,在没有第二切分位置的情况下,则第二子韵律音素序列即为韵律音素序列中位于第一切分位置之后的整个韵律音素序列。例如,当第二切分位置为#3对应的位置,但是在第二子韵律音素序列中查找不到#3时,此时可以理解为不存在第二切分位置。
[0206]
在该实施例中,基于韵律音素序列中的韵律标识符来确定第一切分位置,使得基于第一切分位置所得到的第一子韵律音素序列,其对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间,缩短延迟时间;除此之外,基于该方式所确定的第一切分位置为在停顿时长较长的位置,使得切分得到的第一子韵律音素序列的停顿和韵律更加自然,从而使得后续输出的基于第一子韵律音素序列合成的语音更加自然且流畅。
[0207]
继续参考图2,根据本技术的一些实施例,在步骤130之后,该方法还可以包括:
[0208]
合并第一语音信息和第二语音信息,生成第三语音信息。
[0209]
在该实施例中,第二语音信息为对第二子韵律音素序列进行语音合成所得到的语音信息,其中,第二子韵律音素序列可以为一个或多个分句序列,且第二子韵律音素序列均位于目标文本中第一子韵律音素序列之后。
[0210]
例如,对于依次合成第二语音信息的情况,在输出第一语音信息的同时,可以对位于第一子韵律音素序列之后的与第一子韵律音素序列相邻的第二分句序列进行语音合成,以生成第二分句序列对应的第二语音信息,在输出第二语音信息的同时将第一语音信息和第二语音信息进行合并,以生成第三语音信息。
[0211]
又如,对于依次合成第二语音信息的情况,在输出第一语音信息的同时,可以对位于第一子韵律音素序列之后的与第一子韵律音素序列相邻的第二子韵律音素序列进行语音合成,以生成第二语音信息,在输出第二语音信息的同时,可以对位于第二分句序列之后的与第二分句序列相邻的第三分句序列进行语音合成,以生成第三分句序列对应的第二语音信息,在输出第二语音信息的同时对后续分句序列进行语音合成,直至生成全部分句对应的第二语音信息后,对第一语音信息和全部分句对应的第二语音信息进行合成,生成第三语音信息。
[0212]
对于并行合成第二语音信息的情况,在输出第一语音信息的同时,可并行合成位于第一子韵律音素序列之后的多个分句序列,并生成各分句序列对应的第二语音信息,然后将第一语音信息和得到的多个第二语音信息进行合成,生成第三语音信息。
[0213]
在一些实施例中,合并第一语音信息和第二语音信息,可以包括:基于第一语音信息对应的音素时长以及第二语音信息对应的音素时长,合并第一语音信息和第二语音信息。
[0214]
在该实施例中,音素时长即该音素对应的发音时长。
[0215]
例如,对于分句序列1:sil shang4#0hai3#0shi4#2jin1#0tian1#2yin1#0zhuan3#1duo1#0yun2#3,“shang”可以拆分为“sh”和“ang”两个音素,每个音素均对应有一个发音时长。
[0216]
在拼接过程中,首先需要基于每个分句序列的首部或尾部多余的音素时长对分句序列对应的语音信息进行截除,以除去语音信息的首部或尾部多余的音素时长。
[0217]
以第一语音信息为例,在第一语音信息为语音的情况下,在合成语音后,截除该语音中第一子韵律音素序列的首部或尾部多余的音素所对应的时长,生成截除后的第一语音信息。
[0218]
在第一语音信息为高级声学特征的情况下,在合成第一语音信息后,截除第一语音信息对应的高级声学特征中第一子韵律音素序列的首部或尾部多余的音素所对应的时长,生成截除后的高级声学特征;然后使用声码器对截除后的高级声学特征进行语音合成,以生成截除后的第一语音信息。
[0219]
第二语音信息的截除方式与第一语音信息相同,在此不作赘述。
[0220]
然后基于第一语音信息对应的第一子韵律音素序列在韵律音素序列中的切分顺序,和第二语音信息对应的第二子韵律音素序列在韵律音素序列中的切分顺序,从第一个分句序列开始,依次拼接相邻的分句序列对应的截除后的语音信息,直至拼接完成全部的
分句序列对应的语音信息。
[0221]
根据本技术实施例提供的语音合成方法,基于音素时长拼接第一语音信息和第二语音信息,能够实现在不需要预设语音拼接单元库的基础上,即可提高相邻语音信息拼接处的自然度与流畅度。
[0222]
下面对本技术实施例提供的语音合成装置进行描述,下文描述的语音合成装置与上文描述的语音合成方法可相互对应参照。
[0223]
如图3所示,该语音合成装置包括:第一处理模块310、第二处理模块320、和第三处理模块330。
[0224]
第一处理模块310,用于切分目标文本的韵律音素序列,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;
[0225]
第二处理模块320,用于对多个分句序列中的第一子韵律音素序列进行语音合成,得到第一语音信息;
[0226]
第三处理模块330,用于输出第一语音信息且对多个分句序列中的第二子韵律音素序列进行语音合成,生成第二语音信息,第二子韵律音素序列为在韵律音素序列中位于第一子韵律音素序列之后的至少一个分句序列。
[0227]
根据本技术实施例提供的语音合成装置,通过将目标文本切分为多个分句序列,优先对第一个分句序列进行语音合成生成第一语音信息,在输出第一语音信息的过程中继续对后续分句序列进行语音合成,有效加快了系统在接收到网络语音合成服务请求后的反馈速度,缩短了用户的等待时间,从而有助于提高用户的使用体验。
[0228]
在一些实施例中,第一处理模块310还用于:
[0229]
将目标文本转化为韵律音素序列,韵律音素序列包括位于相邻音素之间的韵律标识符以及与目标文本对应的多个音素;
[0230]
基于多个韵律标识符中的至少部分对韵律音素序列进行切分,生成多个分句序列,每个分句序列包括至少一个音素。
[0231]
在一些实施例中,该装置还可以包括:
[0232]
第五处理模块,用于在生成第二语音信息之后,合并第一语音信息和第二语音信息,生成第三语音信息。
[0233]
在一些实施例中,该装置还可以包括:
[0234]
第六处理模块,用于在将目标文本转化为韵律音素序列之后,基于韵律音素序列,生成第三语音信息的目标文件大小;
[0235]
第四处理模块340,还用于基于目标文件大小生成第二语音信息。
[0236]
在一些实施例中,第六处理模块,还用于:
[0237]
基于韵律音素序列,生成第三语音信息的预测文件大小;
[0238]
基于目标残差值校正预测文件大小,生成目标文件大小;目标残差值基于样本文件大小和预测的样本文本对应的样本音频文件的大小确定的,样本文件大小为样本文本对应的样本音频文件的实际大小。
[0239]
在一些实施例中,第五处理模块,还用于基于第一语音信息对应的音素时长,以及第二语音信息对应的音素时长,合并第一语音信息和第二语音信息。
[0240]
在一些实施例中,该装置还可以包括:
[0241]
第七处理模块,用于在将目标文本转化为韵律音素序列之前,获取待合成文本;
[0242]
在待合成文本的大小超过目标阈值的情况下,切分待合成文本,生成目标文本,目标文本的大小不超过目标阈值。
[0243]
在一些实施例中,第一处理模块310,还用于:
[0244]
基于多个韵律标识符在韵律音素序列中确定第一切分位置;
[0245]
从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置;
[0246]
基于第一切分位置和第二切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和至少两个第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,至少两个第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,相邻的第二子韵律音素序列基于第二切分位置确定,且第一子韵律音素序列对应的语音合成时长在目标时长内。
[0247]
在一些实施例中,第一处理模块310,还用于:
[0248]
获取目标文本的韵律词、音节、韵律短语、句末信息和语调短语;
[0249]
基于韵律词、音节、韵律短语、句末信息和语调短语中的至少两种对目标文本进行标记,生成韵律音素序列。
[0250]
在一些实施例中,第一处理模块310,还用于:
[0251]
将目标文本转化为音素序列;
[0252]
基于韵律词、音节、韵律短语、句末信息和语调短语中的至少两种,生成多个韵律标识符;
[0253]
基于多个韵律标识符对音素序列进行标记,生成韵律音素序列。
[0254]
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行语音合成方法方法,该方法包括:切分目标文本的韵律音素序列,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;对多个分句序列中的第一子韵律音素序列进行语音合成,得到第一语音信息;输出第一语音信息且对多个分句序列中的第二子韵律音素序列进行语音合成,生成第二语音信息,第二子韵律音素序列为在韵律音素序列中位于第一子韵律音素序列之后的至少一个分句序列。
[0255]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0256]
进一步地,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法实施例所提供的语音合成方法方法,该方法包括:切分目标文本的韵律音素序列,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;对多个分句序列中的第一子韵律音素序列进行语音合成,得到第一语音信息;输出第一语音信息且对多个分句序列中的第二子韵律音素序列进行语音合成,生成第二语音信息,第二子韵律音素序列为在韵律音素序列中位于第一子韵律音素序列之后的至少一个分句序列。
[0257]
另一方面,本技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的语音合成方法方法,该方法包括:切分目标文本的韵律音素序列,生成多个分句序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符,每个分句序列包括至少一个音素;对多个分句序列中的第一子韵律音素序列进行语音合成,得到第一语音信息;输出第一语音信息且对多个分句序列中的第二子韵律音素序列进行语音合成,生成第二语音信息,第二子韵律音素序列为在韵律音素序列中位于第一子韵律音素序列之后的至少一个分句序列。
[0258]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0259]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0260]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
[0261]
以上实施方式仅用于说明本技术,而非对本技术的限制。尽管参照实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,对本技术的技术方案进行各种组合、修改或者等同替换,都不脱离本技术技术方案的精神和范围,均应涵盖在本技术的权利要求范围中。
再多了解一些

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

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

相关文献