CN114678002A - 文本的切分方法和文本的切分装置 - Google Patents
文本的切分方法和文本的切分装置 Download PDFInfo
- Publication number
- CN114678002A CN114678002A CN202210344456.4A CN202210344456A CN114678002A CN 114678002 A CN114678002 A CN 114678002A CN 202210344456 A CN202210344456 A CN 202210344456A CN 114678002 A CN114678002 A CN 114678002A
- Authority
- CN
- China
- Prior art keywords
- prosodic
- phoneme sequence
- sub
- identifier
- phoneme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 60
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/06—Elementary speech units used in speech synthesisers; Concatenation rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
- G10L13/10—Prosody rules derived from text; Stress or intonation
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及语音合成领域,提供一种文本的切分方法和文本的切分装置,所述文本的切分方法,包括:将目标文本转化为韵律音素序列,所述韵律音素序列包括与所述目标文本对应的多个音素以及位于相邻所述音素之间的韵律标识符;基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置;基于所述第一切分位置对所述韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,且所述第一子韵律音素序列对应的语音合成时长在目标时长内。本申请的文本的切分方法,能够缩短合成系统的首句响应时间。
Description
技术领域
本申请涉及语音合成技术领域,尤其涉及文本的切分方法和文本的切分装置。
背景技术
从文本到语音(Text To Speech,TTS)技术被广泛应用于语音合成领域。在进行文本切分时,常用的方法为基于标点符号来对文本进行切分,但该切分方法既无法解决无标点符号的文本的切分,也无法解决切分后两端不均衡的问题。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种文本的切分方法。
本申请还提出一种文本的切分装置。
本申请还提出一种电子设备。
本申请还提出一种非暂态计算机可读存储介质。
本申请还提出一种计算机程序产品。
根据本申请第一方面实施例的文本的切分方法,包括:
将目标文本转化为韵律音素序列,所述韵律音素序列包括与所述目标文本对应的多个音素以及位于相邻所述音素之间的韵律标识符;
基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置;
基于所述第一切分位置对所述韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,所述第一子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之前的韵律音素序列,所述第二子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之后的韵律音素序列,且所述第一子韵律音素序列对应的语音合成时长在目标时长内。
根据本申请实施例的文本的切分方法,通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间。
根据本申请的一个实施例,所述基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置,包括:
基于目标阈值范围,从所述多个韵律标识符中确定细粒度最大的所述韵律标识符;
将所述细粒度最大的所述韵律标识符在所述韵律音素序列中的位置确定为所述第一切分位置。
根据本申请的一个实施例,所述基于目标阈值范围,从所述多个韵律标识符中确定细粒度最大的所述韵律标识符,包括:
获取所述韵律音素序列中目标子韵律音素序列全部音素的第一发音长度,所述目标子韵律音素序列为所述韵律音素序列中在目标位置之前的全部韵律音素序列;
确定所述第一发音长度在所述目标阈值范围内,且确定所述第一发音长度对应的目标位置处的所述韵律标识符为第一次出现,将所述第一发音长度对应的目标位置确定为候选切分点位置,生成多个所述候选切分点位置;
从所述多个所述候选切分点位置所对应的韵律标识符中确定细粒度最大的韵律标识符。
根据本申请的一个实施例,在所述生成第一子韵律音素序列和第二子韵律音素序列之后,所述方法还包括:
对所述第一子韵律音素序列进行语音合成,生成第一语音;
输出所述第一语音,并对所述第二子韵律音素序列进行语音合成,生成第二语音。
根据本申请的一个实施例,所述多个韵律标识符包括:用于表征音节、用于表征韵律词、用于表征韵律短语、用于表征语调短语和用于表征句末信息的标识符中的至少一种;
且所述用于表征句末信息的标识符的细粒度大于所述用于所述语调短语的标识符的细粒度,所述用于表征语调短语的标识符的细粒度大于所述用于表征韵律短语的标识符的细粒度,所述用于表征韵律短语的标识符的细粒度大于所述用于表征韵律词的标识符的细粒度,所述用于表征韵律词的标识符的细粒度大于所述用于表征音节的标识符的细粒度。
根据本申请的一个实施例,
在所述基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置之后,且在所述基于所述第一切分位置对所述韵律音素序列进行切分之前,所述方法包括:从所述韵律音素序列中位于所述第一切分位置之后的所述韵律标识符在所述韵律音素序列的位置中,确定第二切分位置;
所述基于所述第一切分位置对所述韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,包括:基于所述第一切分位置和所述第二切分位置对所述韵律音素序列进行切分,生成所述第一子韵律音素序列和至少两个第二子韵律音素序列,所述至少两个第二子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之后的韵律音素序列,相邻的所述第二子韵律音素序列基于所述第二切分位置确定。
根据本申请的一个实施例,所述将目标文本转化为韵律音素序列,包括:
获取所述目标文本的音节、韵律词、韵律短语、语调短语和句末信息;
将所述目标文本转化为音素序列;
基于所述音节、所述韵律词、所述韵律短语、所述语调短语和所述句末信息中的至少两种,生成所述多个韵律标识符;
基于所述多个韵律标识符标记所述音素序列,生成所述韵律音素序列。
根据本申请第二方面实施例的文本的切分装置,包括:
第一处理模块,用于将目标文本转化为韵律音素序列,所述韵律音素序列包括与所述目标文本对应的多个音素以及位于相邻所述音素之间的韵律标识符;
第二处理模块,用于基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置;
第三处理模块,用于基于所述第一切分位置对所述韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,所述第一子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之前的韵律音素序列,所述第二子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之后的韵律音素序列,且所述第一子韵律音素序列对应的语音合成时长在目标时长内。
根据本申请实施例的文本的切分装置,通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间;然后基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
根据本申请第三方面实施例的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述文本的切分方法。
根据本申请第四方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文本的切分方法。
根据本申请第五方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文本的切分方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间;然后基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
进一步的,通过将目标文本转化为音素序列,并基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种所对应的韵律标识符对音素序列进行标记以生成韵律音素序列,能够提供一种更加精细的韵律表征,从而有助于提高后续切分过程中的切分细腻度与准确性。
更进一步的,基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
更进一步的,通过优先合成第一子韵律音素序列对应的第一语音,在输出第一语音的同时对后续第二子韵律音素序列进行语音合成,可以加快系统在接收到网络语音合成服务请求后的反馈速度,缩短用户的等待时间。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文本的切分方法的流程示意图之一;
图2是本申请实施例提供的文本的切分方法的流程示意图之二;
图3是本申请实施例提供的文本的切分方法的流程示意图之三;
图4是本申请实施例提供的文本的切分装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例用于说明本申请,但不能用来限制本申请的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
下面结合图1-图3描述本申请实施例的文本的切分方法。
该文本的切分方法的执行主体可以为文本的切分方法装置,或者为服务器,或者还可以为用户的终端,包括但不限于手机、平板电脑、pc端、车载终端以及家用智能电器等。
如图1所示,该文本的切分方法包括:步骤110、步骤120和步骤130。
步骤110、将目标文本转化为韵律音素序列;
在该步骤中,目标文本为当前用于进行语音合成的文本。
韵律音素序列为用于表征目标文本的韵律特征和音素特征的序列。
韵律音素序列包括位于相邻音素之间的韵律标识符和与目标文本对应的多个音素。
其中,音素可以为一个或多个根据语音的自然属性划分出来的语音单位的组合,语音单位可以为一个汉字对应的拼音、声母或韵母或者一个英文单词、英文音标或英文字母。
韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符,韵律特征包括但不限于:音素对应的声调、音节、韵律词、韵律短语、语调短语、静音以及停顿等特征。
其中,用于表征停顿的韵律标识符的细粒度高于用于表征语调短语的韵律的标识符的细粒度,用于表征语调短语的细粒度高于用于表征韵律短语的细粒度,用于表征韵律短语的细粒度高于用于表征韵律词的细粒度,用于表征韵律词的细粒度高于用于表征音节的细粒度。
在实际执行过程中,可以用不同的符号表示不同细粒度等级的韵律特征。
例如,对于目标文本“上海市今天阴转多云东南风三到四级”,可以将其转化为韵律音素序列:sil shang4 #0 hai3 #0 shi4 #2 jin1 #0 tian1 #2 yin1 #0 zhuan3 #1duo1 #0 yun2 #3 dong1 #0 nan2 #0 feng1 #2 san1 #0 dao4 #1 si4 #0 ji2 #4 sil。
可以理解的是,对于该韵律音素序列,韵律标识符可以包括:各相邻的拼音之间的数字、符号以及英文音素;音素可以包括每一个汉字对应的拼音。
其中,韵律音素序列中的sil代表句首和句末的静音,#0代表着音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末,每个音素后面的数字代表该音素的声调,如shang4中的4代表拼音“shang”的声调为第四声。
在一些实施例中,该目标文本的大小超过目标阈值,对超过目标阈值的目标文本进行切分。可以理解,超过目标阈值的目标文本是语音合成时间超过预设范围的文本,故而可以通过对较长的文本进行切分,然后对切分后文本进行语音合成,可以提高语音合成的效率。
步骤120、基于多个韵律标识符在韵律音素序列中确定第一切分位置;
在该步骤中,第一切分位置为用于第一次切分的切分点的位置。基于第一切分位置,可以将该韵律音素序列切分为前后两个子序列,且将位于第一切分位置之前的子序列确定为第一子韵律音素序列。
需要说明的是,基于第一切分位置所生成的第一子韵律音素序列,其对应的语音合成时长在目标时长内。
语音合成时长与语音合成系统的算力相关。
其中,第一子韵律音素序列对应的语音合成时长为将第一子韵律音素序列合成为语音所耗费的时间。
目标时长为一个较短的时长,目标时长的数值可以基于用户自定义,或者也可以采用系统默认值,例如可以将目标时长设置为0.2s或0.3s等。
在一些实施例中,多个韵律标识符可以包括:用于表征音节、用于表征韵律词、用于表征韵律短语、用于表征语调短语和用于表征句末信息的标识符中的至少一种;其中,用于表征句末信息的标识符的细粒度大于用于语调短语的标识符的细粒度,用于表征语调短语的标识符的细粒度大于用于表征韵律短语的标识符的细粒度,用于表征韵律短语的标识符的细粒度大于用于表征韵律词的标识符的细粒度,用于表征韵律词的标识符的细粒度大于用于表征音节的标识符的细粒度。
在该实施例中,韵律标识符为用于表征句末信息、语调短语、韵律短语、韵律词和音节中的至少一种的符号。
在实际执行过程中,可以采用特殊符号与数字组合的形式或特定字母组合来表示韵律标识符,例如分别用“#0”、“#1”、“#2”、“#3”以及“#4”来表示韵律标识符,不同的组合表征不同的细粒度级别。
如:#0代表着音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末。
例如,对于目标文本“目前小甲可以控制热水器开关,调节温度,定时开关,详细内容麻烦在甲居app上搜寻下”,可以将其转化为韵律音素序列:sil mu4 #0 qian2 #1 xiao2#0 jia3 #3 ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0guan1 #3 tiao2 #0 jie2 #1 wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3xiang2 #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。
该韵律音素序列中包括#0、#1、#3以及#4等多个韵律标识符;其中,韵律标识符的细粒度由小到大依次为:#0<#1<#2<#3<#4。
获取每个韵律标识符在该韵律音素序列中的位置,根据韵律音素序列中在各位置之前的子韵律音素序列所对应的语音合成时长与目标时长之间的大小关系,从这多个位置中确定第一目标标识符所在的位置作为第一切分位置,从而确保基于该第一切分位置所生成的第一子韵律音素序列对应的语音合成时长在目标时长之内。
下面结合图2-图3,对该步骤的实现方式进行具体说明。
在一些实施例中,步骤120可以包括:
基于目标阈值范围,从多个韵律标识符中确定细粒度最大的韵律标识符;
将细粒度最大的韵律标识符在目标阈值范围内韵律音素序列中的位置确定为第一切分位置。
在该实施例中,目标阈值范围为元素发音长度的最大值和最小值。
其中,元素发音长度为韵律音素序列中在目标位置之前的全部音素的发音长度之和。
目标位置可以为韵律音素序列中的任一韵律标识符所在的位置。
目标阈值范围可以用(n,n+m)表示,其中,n和m的取值可以基于用户自定义或者基于算法确定;其中,n和m均为正整数,且n和m的和不超过韵律音素序列中全部音素的发音长度之和。
例如可以将n设置为5,将m设置为5,也即将目标阈值范围确定为5-10个单位发音长度
其中,一个汉字为一个单位发音长度,一个成词的英文单词是2个单位发音长度,一串不成词的英文音素是4个单位发音长度。
需要说明的是,在一些实施例中,如果有多个细粒度最大韵律标识符,则取位置号最小的那个,也就是取第一个所在韵律音素序列中的位置确定为第一切分位置。
继续以“目前小甲可以控制热水器开关,调节温度,定时开关,详细内容麻烦在甲居app上搜寻下”这一目标文本为例,进行说明。
在将该目标文本转化为韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3ke2 #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 #1nei4 #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”,将其确定为目标阈值范围内的待选韵律音素序列。
顺次比较该待选韵律音素序列“ke2 #0 yi3 #1 kong4 #0 zhi4 #1 re4 #0shui3 #0”中各个韵律标识符所对应的细粒度的大小,选择细粒度最大的韵律标识符所在的位置,确定为第一切分位置。对于上述待选韵律音素序列,#1为细粒度最大的韵律标识符,由于有多个#1,取第一个#1所在的位置确定为第一切分位置,也即,将音节“yi”之后的位置确定为第一切分位置,如下所示:
sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1| kong4 #0 zhi4 #1re4 #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 #1zai4 #1 jia3 #0 ju1 #1 AE1P #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil。
其中,“|”表征第一切分位置。
在一些实施例中,基于目标阈值范围,从多个韵律标识符中确定细粒度最大的韵律标识符,可以包括:
获取韵律音素序列中目标子韵律音素序列全部音素的第一发音长度;
在第一发音长度在目标阈值范围内的情况下,将第一发音长度对应的目标位置确定为候选切分点位置,生成多个候选切分点位置;
从多个候选切分点位置所对应的韵律标识符中确定细粒度最大的韵律标识符。
在该实施例中,目标子韵律音素序列目标子韵律音素序列为韵律音素序列中在目标位置之前的全部韵律音素序列,其中,目标位置为韵律音素序列中的任一韵律标识符所在的位置。
第一发音长度为该目标子韵律音素序列中各音素对应的发音长度之和。
如图3所示,在实际执行过程中,可以通过第一切分位置查找模块来获取第一发音长度。
例如,将韵律音素序列转换为带韵律的音素列表,并将该带韵律的音素列表输入至第一切分位置查找模块。
第一切分位置查找模块将当前发音长度的初始值和列表索引的初始值均设置为0,初始化空的韵律位置字典dict,并基于如下公式开始循环:
元素发音长度=get_voice_length(列表索引);
列表索引=列表索引+1;
第一发音长度=第一发音长度+元素发音长度;
其中,元素发音长度为当前目标位置处的音节所对应的发音长度,列表索引用于表征目标位置。
函数get_voice_length(列表索引)计算索引所指定的元素的发音长度,计算方法为:1个汉字为一个单位发音长度,1个成词的英文单词(在词典中的英文字符串)为2个单位发音长度,1个不成词(不在词典中)的英文字符串为4个单位发音长度。
通过以上方式,可以分别获取列表索引值在(1,N)范围内的N个第一发音长度,其中,N为列表中的音节的个数。
对于每一次生成的第一发音长度,均与目标阈值进行比较。
在第一发音长度大于目标阈值范围中的阈值下限且小于目标阈值范围中的阈值上限的情况下,将当前韵律标识符和位置索引记录至字典dict中。
在一些实施例中,在第一发音长度在目标阈值范围内的情况下,将第一发音长度对应的目标位置确定为候选切分点位置,包括:
在第一发音长度在目标阈值范围内的情况下,确定第一发音长度对应的目标位置处的韵律标识符为第一次出现,将第一发音长度对应的目标位置确定为候选切分点位置。
继续以上述例子进行说明,在第一发音长度大于目标阈值范围中的阈值下限且小于目标阈值范围中的阈值上限的情况下,判断当前列表索引处对应的韵律标识符是否为第一次出现的标识符,在确认当前列表索引处对应的韵律标识符为第一次出现的标识符的情况下,则将当前韵律和列表索引作为键值对,记录至字典dict中。
在另一些实施例中,在确认当前列表索引处对应的韵律标识符为之前已经出现过的标识符的情况下,则跳过当前列表索引,进入下一轮循环。
例如,对于韵律音素序列“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 #1wen1 #0 du4 #3 ding4 #0 shi2 #1 kai1 #0 guan1 #3 xiang2 #0 xi4 #1 nei4 #0rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 AE1P #0 shang4 #1 sou1 #0 xun2#0 xia4 #4 sil”,从列表索引数值为1起,依次计算每一个列表索引数值所对应的第一发音长度;
在计算到“ke2 #0”位置所对应的第一发音长度进入目标阈值范围后,记录该位置处的列表索引数值以及该位置处的韵律标识符“#0”;
然后将列表索引进行加一,计算“yi3 #1”位置所对应的第一发音长度,在确定“yi3 #1”位置所对应的第一发音长度在目标阈值范围内时,则记录该位置处的列表索引数值以及该位置处的韵律标识符“#1”;
然后将列表索引进行加一处理,计算“kong4 #0”位置所对应的第一发音长度,在确定“kong4 #0”位置所对应的第一发音长度在目标阈值范围内时,判断该位置处的韵律标识符“#1”并非为第一次出现,则跳过该列表索引,对列表索引进行加一处理,重复上述过程,直至当前列表索引所对应的第一发音长度超过目标阈值范围的阈值上限,则结束循环。
所记录的全部韵律标识符所对应的列表索引即可作为用于确定第一切分位置的候选切分点位置。
然后从记录的全部韵律标识符中筛选出细粒度最大的韵律标识符,如从以上所记录的“#0”和“#1”中确定细粒度最大的韵律标识符“#1”,并将该韵律标识符“#1”对应的目标位置(即位置索引)确定为第一切分位置。
在另一些实施例中,在第一发音长度小于目标阈值范围中的阈值下限的情况下,则对当前列表索引进行加一处理,进入下一个循环。
在又一些实施例中,在列表索引数值超过列表元素个数的情况下,则结束循环。
在确定第一切分位置后,从该第一切分位置处切分韵律音素序列,即可生成第一子韵律音素序列。
申请人在研发过程中发现,由于语音的时间特性,通常系统转化的时间和输入文本的长度成正比,越长的句子合成所需的时间就越长,尤其对于一些超长的文本输入,还可能会造成系统容量超出限制。为解决以上问题,一种简单直接的想法是利用计算机系统的能力并行合成,而在切分过程中所面临的第一个问题就是需要如何切分并行任务。相关技术中主要是基于标点符号来对文本进行切分,但该切分方法既无法解决无标点符号的文本的切分,也无法解决切分后两端不均衡的问题。
而在本申请中,通过将目标文本转化为韵律音素序列,并基于韵律音素序列中的韵律特性来确定第一切分位置,使得基于第一切分位置所得到的第一子韵律音素序列,其对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间,缩短延迟时间;除此之外,基于该方式所确定的第一切分位置为在停顿时长较长的位置,使得切分得到的第一子韵律音素序列的停顿和韵律更加自然,从而使得后续输出的基于第一子韵律音素序列合成的语音更加自然且流畅。
步骤130、基于第二切分位置和第一切分位置切分韵律音素序列,生成至少第二子韵律音素序列以及第一子韵律音素序列;其中,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列。
在该步骤中,第一子韵律音素序列为基于第一切分位置所切分生成的,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列;
第二子韵律音素序列为位于第一切分位置之后的韵律音素序列。
在一些实施例中,在步骤120之后,且在步骤130之前,该方法还可以包括:从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置;
步骤130可以包括:基于第一切分位置和第二切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和至少两个第二子韵律音素序列,至少两个第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,相邻的第二子韵律音素序列基于第二切分位置确定。
在该实施例中,第二切分位置为除第一次切分以外的其他所有次切分所对应的切分点的位置。
在确定第一切分位置后,从韵律音素序列中查找第一切分位置之后的至少部分韵律标识符作为用于确定第二切分位置的候选集,并将候选集中的韵律标识符的位置确定为第二切分位置。
如图2所示,在实际执行过程中,可以采用第二切分位置查找模块来查找第二切分位置。
例如,将第一切分位置和韵律音素序列输入至第二切分位置查找模块,获取由第二切分位置查找模块输出的切分点列表,该切分点列表中包括:第一切分位置和第二切分位置。
在一些实施例中,从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置可以包括:将韵律音素序列中位于第一切分位置之后的,用于表征语调短语的标识符所对应的位置确定为第二切分位置。
在该实施例中,继续以韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3ke2 #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 #1nei4 #0 rong2 #2 ma2 #0 fan5 #1 zai4 #1 jia3 #0 ju1 #1 AE1P #0 shang4 #1 sou1#0 xun2 #0 xia4 #4 sil”为例,进行说明。
在确定第一切分位置后,从第一切分位置所在的位置开始,也即从“yi3 #1”之后开始,依次查找后续位置处,韵律标识符为“#3”的韵律标识符所在的位置,并依次将这些位置确定为第二切分位置,从而得到如下切分序列:
sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1| kong4 #0 zhi4 #1re4 #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 #0fan5 #1 zai4 #1 jia3 #0 ju1 #1 AE1P #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil;
其中,第一个“|”为第一切分位置,后续“|”均为第二切分位置。
当然,在其他实施例中,还可以将其他细粒度等级的标识符所在的位置确定为第二切分位置,本申请不做限定。
第二子韵律音素序列为位于第一切分位置之后的整个韵律音素序列进行切分,所生成的韵律音素序列。
在第二切分位置为至少一个的情况下,第二子韵律音素序列为至少两个。
在该实施例中,基于第一切分位置以及韵律特征确定第二切分位置,以提高后续切分生成的第二子韵律音素序列的韵律自然的程度以及切分后两端的均衡性,避免在一个整词中间切断的情况,有助于提高后续语音合成的效率及质量。
当然,在一些实施例中,在没有第二切分位置的情况下,则第二子韵律音素序列即为韵律音素序列中位于第一切分位置之后的整个韵律音素序列。例如,当第二切分位置为#3对应的位置,但是在第二子韵律音素序列中查找不到#3时,此时可以理解为不存在第二切分位置。
例如,经步骤120确定的第一切分位置和第二切分位置如下:
sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1| kong4 #0 zhi4 #1re4 #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 #0fan5 #1 zai4 #1 jia3 #0 ju1 #1 AE1P #0 shang4 #1 sou1 #0 xun2 #0 xia4 #4 sil;
则在该步骤中,从第一个“|”所在的位置开始,依次对该韵律音素序列进行切分,从而生成第一子韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0 yi3 #1”,以及第二子韵律音素序列:“kong4 #0 zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0guan1 #3”、“tiao2 #0 jie2 #1 wen1 #0 du4 #3”以及“ding4 #0 shi2 #1 kai1 #0guan1 #3”等。
其中,该第一子韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3 ke2 #0yi3 #1”的语音合成时长在0.2s左右。
根据本申请实施例提供的文本的切分方法,通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间。
在一些实施例中,步骤110可以包括:
获取目标文本的句末信息、语调短语、韵律短语、韵律词和音节;
将目标文本转化为音素序列;
基于句末信息、语调短语、韵律短语、韵律词和音节的至少两种,生成多个韵律标识符;
基于多个韵律标识符对音素序列进行标记,生成韵律音素序列。
在该实施例中,音节是语流中的语音单位,也是人们听觉上最容易分辨出来的语音单位,例如,音节可以为目标文本中的每一个汉字。
韵律词是一组在实际语流中联系密切且联在一起发音的音节。
韵律短语是介于韵律词和语调短语之间的中等节奏组块,韵律短语中可以包括多个韵律词和语气词,且组成该韵律短语的多个韵律词听起来是共用一个节奏群。
语调短语为将多个韵律短语按照一定的句调模式连接起来所组成的句子,用于表征较大的停顿。
句末信息用于表征每一个长句的结束。
例如,对于目标文本“上海市今天阴转多云东南风三到四级”,其中如“上”、“海”以及“市”等每一个汉字均为该目标文本对应的音节;“上海市”、“今天”以及“阴转多云”等单词或由单词组成的短语即为该目标文本对应的韵律短语;而由韵律短语“上海市”、“今天”以及“阴转多云”所组成的句子“上海市今天阴转多云”,则为该目标文本对应的语调短语。
音素序列为由目标文本中的每个汉字或英文对应的发音标记,包括拼音、声调或英文注音所连接而成的序列。
例如,对于目标文本“上海市今天阴转多云东南风三到四级”,可以将其转化为音素序列:shang4 hai3 shi4 jin1 tian1 yin1 zhuan3 duo1 yun2 dong1 nan2 feng1san1 dao4 si4 ji2。
韵律标识符为用于表征目标文本中每一个音素所对应的韵律特征的标识符。
在一些实施例中,多个韵律标识符可以包括:用于表征音节、用于表征韵律词、用于表征韵律短语、用于表征语调短语和用于表征句末信息的标识符中的至少一种。
在该实施例中,韵律标识符为用于表征句末信息、语调短语、韵律短语、韵律词和音节中的至少一种的符号。
在实际执行过程中,可以采用特殊符号与数字组合的形式或特定字母组合来表示韵律标识符,例如分别用“#0”、“#1”、“#2”、“#3”以及“#4”来表示韵律标识符,不同的组合表征不同的细粒度级别。
如:#0代表着音节、#1代表韵律词、#2代表韵律短语、#3代表语调短语以及#4代表句末。
其中,用于表征句末信息的标识符的细粒度大于用于语调短语的标识符的细粒度,用于表征语调短语的标识符的细粒度大于用于表征韵律短语的标识符的细粒度,用于表征韵律短语的标识符的细粒度大于用于表征韵律词的标识符的细粒度,用于表征韵律词的标识符的细粒度大于用于表征音节的标识符的细粒度。
也即,上述韵律标识符的细粒度由小到大依次为:#0<#1<#2<#3<#4。
在得到目标文本对应的音素序列以及韵律标识符后,将韵律标识符插入音素序列中的相应位置,如将用于表征音节的韵律标识符#0插入至音素序列中每一个音节所对应的拼音之后,将用于表征韵律短语的韵律标识符#2插入至音素序列中每一句韵律短语之后,从而将音素序列转化为韵律音素序列。
例如,分别采用#0”、“#1”、“#2”、“#3”以及“#4”对音素序列“shang4 hai3 shi4jin1 tian1 yin1 zhuan3 duo1 yun2 dong1 nan2 feng1 san1 dao4 si4 ji2”进行标记,从而生成韵律音素序列:sil shang4 #0 hai3 #0 shi4 #2 jin1 #0 tian1 #2 yin1 #0zhuan3 #1 duo1 #0 yun2 #3 dong1 #0 nan2 #0 feng1 #2 san1 #0 dao4 #1 si4 #0ji2 #4 sil。
其中,sil表征句首和句末的静音。
申请人在研发过程中发现,相关技术中,往往是通过采用句子中的标点符号来表征句子的韵律,如在句子中的逗号或句号所在的位置处对句子进行切分,以得到多个分句。该方法一方面无法满足对无标点的文本的切分,另一方面还会导致切分后的两端不均衡,切分效果不佳。
而在本申请中,采用句末信息、语调短语、韵律短语、韵律词和音节至少两项来表征句子的韵律,并以此为基准对目标文本进行切分,不会出现在一次整词中间切断的情况,使得切分后得到的分句停顿和韵律均较为自然。
根据本申请实施例提供的文本的切分方法,通过将目标文本转化为音素序列,并基于句末信息、语调短语、韵律短语、韵律词和音节中的至少两种所对应的韵律标识符对音素序列进行标记以生成韵律音素序列,能够提供一种更加精细的韵律表征,从而有助于提高后续切分过程中的切分细腻度与准确性。
根据本申请的一些实施例,在步骤130之后,该方法还可以包括:
对第一子韵律音素序列进行语音合成,生成第一语音;
输出第一语音,并对第二子韵律音素序列进行语音合成,生成第二语音。
在该实施例中,第一子韵律音素序列为目标文本中的第一个切分点之前的序列,也即目标文本所合成的语音中的首句话所对应的序列。
在生成第一子韵律音素序列后,即可对第一子韵律音素序列进行语音合成,生成第一语音。
然后输出该第一语音以供客户端进行播放,在客户端播放该第一语音的同时,系统可以合成后续第二子韵律音素序列,以生成第二语音。
例如,在得到第一子韵律音素序列“sil mu4 #0 qian2 #1 xiao2 #0 jia3 #3ke2 #0 yi3 #1”后,即可基于该第一子韵律音素序列合成第一语音“目前小甲可以”,并输出该第一语音;在客户端播放该第一语音的同时,系统对第二子韵律音素序列:“kong4 #0zhi4 #1 re4 #0 shui3 #0 qi4 #1 kai1 #0 guan1 #3”进行合成。
根据本申请实施例提供的文本的切分方法,通过优先合成第一子韵律音素序列对应的第一语音,在输出第一语音的同时对后续第二子韵律音素序列进行语音合成,可以加快系统在接收到网络语音合成服务请求后的反馈速度,缩短用户的等待时间。
下面对本申请实施例提供的文本的切分装置进行描述,下文描述的文本的切分装置与上文描述的文本的切分方法可相互对应参照。
如图4所示,该文本的切分装置包括:第一处理模块410、第二处理模块420和第三处理模块430。
第一处理模块410,用于将目标文本转化为韵律音素序列,韵律音素序列包括位于相邻音素之间的韵律标识符以及与目标文本对应的多个音素;
第二处理模块420,用于基于多个韵律标识符在韵律音素序列中确定第一切分位置;
第三处理模块430,用于基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
根据本申请实施例提供的文本的切分装置,通过第一子韵律音素序列所对应的语音合成时长来确定用于切分得到第一子韵律音素序列的第一切分位置,以使第一子韵律音素序列对应的语音合成时长能够在合理的时长范围内,从而缩短合成系统的首句响应时间。
在一些实施例中,第二处理模块420,用于:
基于目标阈值范围,从多个韵律标识符中确定细粒度最大的韵律标识符;
将细粒度最大的韵律标识符在韵律音素序列中的位置确定为第一切分位置。
在一些实施例中,第二处理模块420,用于:
获取韵律音素序列中目标子韵律音素序列全部音素的第一发音长度,目标子韵律音素序列为韵律音素序列中在目标位置之前的全部韵律音素序列;
确定第一发音长度在目标阈值范围内,且确定第一发音长度对应的目标位置处的韵律标识符为第一次出现,将第一发音长度对应的目标位置确定为候选切分点位置,生成多个候选切分点位置;
从多个候选切分点位置所对应的韵律标识符中确定细粒度最大的韵律标识符。
在一些实施例中,第二处理模块420,用于:
确定第一发音长度在目标阈值范围内,且确定第一发音长度对应的目标位置处的韵律标识符为第一次出现,将第一发音长度对应的目标位置确定为候选切分点位置。
在一些实施例中,该装置还可以包括:
第五处理模块,用于在生成第一子韵律音素序列和第二子韵律音素序列之后,对第一子韵律音素序列进行语音合成,生成第一语音;
输出第一语音,并对第二子韵律音素序列进行语音合成,生成第二语音。
在一些实施例中,多个韵律标识符包括:用于表征韵律词、用于表征音节、用于表征韵律短语、用于表征句末信息和用于表征语调短语的标识符中的至少一种;
且用于表征句末信息的标识符的细粒度大于用于语调短语的标识符的细粒度,用于表征语调短语的标识符的细粒度大于用于表征韵律短语的标识符的细粒度,用于表征韵律短语的标识符的细粒度大于用于表征韵律词的标识符的细粒度,用于表征韵律词的标识符的细粒度大于用于表征音节的标识符的细粒度。
在一些实施例中,第一处理模块410,用于:
获取目标文本的韵律词、音节、韵律短语、句末信息和语调短语;
将目标文本转化为音素序列;
基于韵律词、音节、韵律短语、句末信息和语调短语中的至少两种,生成多个韵律标识符;
基于多个韵律标识符对音素序列进行标记,生成韵律音素序列。
在一些实施例中,该装置还可以包括:
第六处理模块,用于在基于多个韵律标识符在韵律音素序列中确定第一切分位置之后,且在基于第一切分位置对韵律音素序列进行切分之前,从韵律音素序列中位于第一切分位置之后的韵律标识符在韵律音素序列的位置中,确定第二切分位置;
第三处理模块430,还可以用于:基于第一切分位置和第二切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和至少两个第二子韵律音素序列,至少两个第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,相邻的第二子韵律音素序列基于第二切分位置确定。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行文本的切分方法,该方法包括:将目标文本转化为韵律音素序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符;基于多个韵律标识符在韵律音素序列中确定第一切分位置;基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法实施例所提供的文本的切分方法,该方法包括:将目标文本转化为韵律音素序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符;基于多个韵律标识符在韵律音素序列中确定第一切分位置;基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
另一方面,本申请实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的文本的切分方法,该方法包括:将目标文本转化为韵律音素序列,韵律音素序列包括与目标文本对应的多个音素以及位于相邻音素之间的韵律标识符;基于多个韵律标识符在韵律音素序列中确定第一切分位置;基于第一切分位置对韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,第一子韵律音素序列为韵律音素序列中位于第一切分位置之前的韵律音素序列,第二子韵律音素序列为韵律音素序列中位于第一切分位置之后的韵律音素序列,且第一子韵律音素序列对应的语音合成时长在目标时长内。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
以上实施方式仅用于说明本申请,而非对本申请的限制。尽管参照实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,对本申请的技术方案进行各种组合、修改或者等同替换,都不脱离本申请技术方案的精神和范围,均应涵盖在本申请的权利要求范围中。
Claims (10)
1.一种文本的切分方法,其特征在于,包括:
将目标文本转化为韵律音素序列,所述韵律音素序列包括与所述目标文本对应的多个音素以及位于相邻所述音素之间的韵律标识符;
基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置;
基于所述第一切分位置对所述韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,所述第一子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之前的韵律音素序列,所述第二子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之后的韵律音素序列,且所述第一子韵律音素序列对应的语音合成时长在目标时长内。
2.根据权利要求1所述的文本的切分方法,其特征在于,所述基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置,包括:
基于目标阈值范围,从所述多个韵律标识符中确定细粒度最大的所述韵律标识符;
将所述细粒度最大的所述韵律标识符在所述韵律音素序列中的位置确定为所述第一切分位置。
3.根据权利要求2所述的文本的切分方法,其特征在于,所述基于目标阈值范围,从所述多个韵律标识符中确定细粒度最大的所述韵律标识符,包括:
获取所述韵律音素序列中目标子韵律音素序列全部音素的第一发音长度,所述目标子韵律音素序列为所述韵律音素序列中在目标位置之前的全部韵律音素序列;
确定所述第一发音长度在所述目标阈值范围内,且确定所述第一发音长度对应的目标位置处的所述韵律标识符为第一次出现,将所述第一发音长度对应的目标位置确定为候选切分点位置,生成多个所述候选切分点位置;
从所述多个所述候选切分点位置所对应的韵律标识符中确定细粒度最大的韵律标识符。
4.根据权利要求1-3任一项所述的文本的切分方法,其特征在于,在所述生成第一子韵律音素序列和第二子韵律音素序列之后,所述方法还包括:
对所述第一子韵律音素序列进行语音合成,生成第一语音;
输出所述第一语音,并对所述第二子韵律音素序列进行语音合成,生成第二语音。
5.根据权利要求1-3任一项所述的文本的切分方法,其特征在于,所述多个韵律标识符包括:用于表征音节、用于表征韵律词、用于表征韵律短语、用于表征语调短语和用于表征句末信息的标识符中的至少一种;
且所述用于表征句末信息的标识符的细粒度大于所述用于所述语调短语的标识符的细粒度,所述用于表征语调短语的标识符的细粒度大于所述用于表征韵律短语的标识符的细粒度,所述用于表征韵律短语的标识符的细粒度大于所述用于表征韵律词的标识符的细粒度,所述用于表征韵律词的标识符的细粒度大于所述用于表征音节的标识符的细粒度。
6.根据权利要求1-3任一项所述的文本的切分方法,其特征在于,
在所述基于多个所述韵律标识符在所述韵律音素序列中确定第一切分位置之后,且在所述基于所述第一切分位置对所述韵律音素序列进行切分之前,所述方法包括:从所述韵律音素序列中位于所述第一切分位置之后的所述韵律标识符在所述韵律音素序列的位置中,确定第二切分位置;
所述基于所述第一切分位置对所述韵律音素序列进行切分,生成第一子韵律音素序列和第二子韵律音素序列,包括:基于所述第一切分位置和所述第二切分位置对所述韵律音素序列进行切分,生成所述第一子韵律音素序列和至少两个第二子韵律音素序列,所述至少两个第二子韵律音素序列为所述韵律音素序列中位于所述第一切分位置之后的韵律音素序列,相邻的所述第二子韵律音素序列基于所述第二切分位置确定。
7.根据权利要求1-3任一项所述的文本的切分方法,其特征在于,所述将目标文本转化为韵律音素序列,包括:
获取所述目标文本的音节、韵律词、韵律短语、语调短语和句末信息;
将所述目标文本转化为音素序列;
基于所述音节、所述韵律词、所述韵律短语、所述语调短语和所述句末信息中的至少两种,生成所述多个韵律标识符;
基于所述多个韵律标识符标记所述音素序列,生成所述韵律音素序列。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述文本的切分方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述文本的切分方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述文本的切分方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344456.4A CN114678002A (zh) | 2022-03-31 | 2022-03-31 | 文本的切分方法和文本的切分装置 |
PCT/CN2022/118072 WO2023184874A1 (zh) | 2022-03-31 | 2022-09-09 | 语音合成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344456.4A CN114678002A (zh) | 2022-03-31 | 2022-03-31 | 文本的切分方法和文本的切分装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114678002A true CN114678002A (zh) | 2022-06-28 |
Family
ID=82075997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210344456.4A Pending CN114678002A (zh) | 2022-03-31 | 2022-03-31 | 文本的切分方法和文本的切分装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114678002A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184874A1 (zh) * | 2022-03-31 | 2023-10-05 | 美的集团(上海)有限公司 | 语音合成方法和装置 |
-
2022
- 2022-03-31 CN CN202210344456.4A patent/CN114678002A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184874A1 (zh) * | 2022-03-31 | 2023-10-05 | 美的集团(上海)有限公司 | 语音合成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7464621B2 (ja) | 音声合成方法、デバイス、およびコンピュータ可読ストレージ媒体 | |
CN109036371B (zh) | 用于语音合成的音频数据生成方法及系统 | |
KR20220004737A (ko) | 다국어 음성 합성 및 언어간 음성 복제 | |
US8234118B2 (en) | Method and apparatus for generating dialog prosody structure, and speech synthesis method and system employing the same | |
EP2958105B1 (en) | Method and apparatus for speech synthesis based on large corpus | |
US20080126093A1 (en) | Method, Apparatus and Computer Program Product for Providing a Language Based Interactive Multimedia System | |
US20100268539A1 (en) | System and method for distributed text-to-speech synthesis and intelligibility | |
US20090254349A1 (en) | Speech synthesizer | |
KR100932538B1 (ko) | 음성 합성 방법 및 장치 | |
MXPA01006594A (es) | Metodo y sistema para la preseleccion de unidades adecuadas para habla por concatenacion. | |
JP2002530703A (ja) | 音声波形の連結を用いる音声合成 | |
JP5929909B2 (ja) | 韻律生成装置、音声合成装置、韻律生成方法および韻律生成プログラム | |
CN101131818A (zh) | 语音合成装置与方法 | |
CN111681635A (zh) | 基于小样本的语音实时克隆的方法、装置、设备和介质 | |
JP5320363B2 (ja) | 音声編集方法、装置及び音声合成方法 | |
CN114678001A (zh) | 语音合成方法和语音合成装置 | |
CN113808571B (zh) | 语音合成方法、装置、电子设备以及存储介质 | |
CN111508466A (zh) | 一种文本处理方法、装置、设备及计算机可读存储介质 | |
WO2014183411A1 (en) | Method, apparatus and speech synthesis system for classifying unvoiced and voiced sound | |
CN111339771A (zh) | 一种基于多任务多层级模型的文本韵律预测方法 | |
US7328157B1 (en) | Domain adaptation for TTS systems | |
CN114678002A (zh) | 文本的切分方法和文本的切分装置 | |
JP2014062970A (ja) | 音声合成方法、装置、及びプログラム | |
CN114822489A (zh) | 文本转写方法和文本转写装置 | |
CN114822490A (zh) | 语音拼接方法和语音拼接装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |