1.本技术涉及自然语言处理技术领域,尤其涉及一种韵律标注方法、装置及应用。
背景技术:2.在语音合成技术中,韵律表示为合成语音的停顿。为了让智能语音交互更加人性化,目前的文本到语音(text to speech,tts)神经网络模型,通常需要学习音频的韵律的特征,使得合成的语音更加自然流畅。按照停顿的长短和位置,用韵律标签#1、#2、#3和#4表示不同的停顿,其中,#1为韵律词的边界,表示短暂停顿;#2为韵律短语的边界,表示拉长音或者短暂停顿;#3表示语义完整的较明显停顿和语调下降;#4表示句末,是每个编号对应的句子结尾的标注。
3.目前主流韵律标注方案为通过语义进行韵律标注,以标贝数据集(一种公开数据集)的第71句为例,“二敬家住北五环外,上班要去亚运村华堂商场。”按照语义划分,标注的文本为“二敬家#2住#1北五#1环外#3,上班#2要去#1亚运村#2华堂#1商场#4。”但是,在说话人根据标注的文本进行录制的时候,往往存在两个问题:1、很难完全按照根据语义划分好的韵律标注进行朗读;2、在进行韵律朗读的时候,把握不好各个韵律停顿的时长,例如#1和#2的短停顿。因此,造成了录制的语音音频的韵律和标注文本的韵律不匹配的问题,使用这种韵律不匹配的语音音频和标注文本对语音合成模型进行训练,使得该模型无法学习到韵律的特征,从而造成合成的语音不能明显的体现出上述各个韵律标签表示的停顿。
4.因此,如何获取和录制语音音频的韵律匹配的韵律标注的文本成为亟待解决的问题。
技术实现要素:5.本技术提供了一种韵律标注方法、装置及应用,能够使得录制的语音音频的韵律和标注文本的韵律精确匹配。
6.第一方面,本技术提供了一种韵律标注方法,包括:
7.获取特定说话人根据第一文本录制的第一语音数据,第一文本为经过韵律标注的文本,第一文本包括多个韵律标签,多个韵律标签中不同的韵律标签表示的停顿的持续时长不同;
8.根据第一语音数据和第一文本,统计多个韵律标签中每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据;
9.根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围;
10.获取特定说话人根据第二文本录制的第二语音数据,第二文本为未经过韵律标注的文本;
11.根据第二语音数据获取第二语音数据中各个停顿的持续时长,且根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,对第二文本进行韵律标注。
12.在一个示例中,方法还包括:若第一文本中的韵律标签和第一语音数据中的停顿
不匹配,根据第一语音数据中的停顿重新确定第一文本中的韵律标签。
13.在一个示例中,根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围,包括:
14.根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的均值和标准差;
15.基于正态分布分析方法,根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的取值范围。
16.在一个示例中,根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的取值范围,包括:
17.根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的均值与标准差的差值,以及每一韵律标签的持续时长的均值与标准差的和值;
18.根据每一韵律标签对应的差值和和值,确定每一韵律标签的持续时长的取值范围。
19.在一个示例中,根据第二语音数据获取第二语音数据中各个停顿的持续时长,且根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,对第二文本进行韵律标注,包括:
20.对第二文本进行拼音化处理,以获取拼音文本;
21.基于蒙特利尔强制对准器mfa算法,根据第二语音数据和拼音文本,获取各个停顿对应的开始时刻和结束时刻,每一停顿表示其前一音素的结束时刻和后一音素的开始时刻之间具有间隔;
22.根据每一停顿的开始时刻和结束时刻确定每一停顿的持续时长;
23.根据每一停顿的持续时长和每一韵律标签的持续时长的取值范围,确定每一停顿对应的韵律标签;
24.根据每一停顿对应的韵律标签对第二文本进行韵律标注。
25.在一个示例中,根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围,包括:
26.根据每一韵律标签对应的统计数据,确定每一韵律标签对应的统计数据的最大的值和最小的值;
27.根据每一韵律标签对应的最大的值和最小的值,确定每一韵律标签的持续时长的取值范围。
28.第二方面,本技术提供了一种韵律标注装置,包括:
29.语音数据获取模块,用于获取特定说话人根据第一文本录制的第一语音数据,第一文本为经过韵律标注的文本,第一文本包括多个韵律标签,多个韵律标签中不同的韵律标签表示的停顿的持续时长不同;
30.韵律标签时长确定模块,用于根据第一语音数据和第一文本,统计多个韵律标签中每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据;
31.韵律标签时长确定模块还用于根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围;
32.语音数据获取模块还用于获取特定说话人根据第二文本录制的第二语音数据,第
二文本为未经过韵律标注的文本;
33.韵律标注模块,用于根据第二语音数据获取第二语音数据中各个停顿的持续时长,且根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,对第二文本进行韵律标注。
34.在一个示例中,装置还包括:
35.韵律标签精调模块,用于若第一文本中的韵律标签和第一语音数据中的停顿不匹配,根据第一语音数据中的停顿重新确定第一文本中的韵律标签。
36.在一个示例中,根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围,包括:
37.根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的均值和标准差;
38.基于正态分布分析方法,根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的取值范围。
39.在一个示例中,根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的取值范围,包括:
40.根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的均值与标准差的差值,以及每一韵律标签的持续时长的均值与标准差的和值;
41.根据每一韵律标签对应的差值和和值,确定每一韵律标签的持续时长的取值范围。
42.在一个示例中,根据第二语音数据获取第二语音数据中各个停顿的持续时长,且根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,对第二文本进行韵律标注,包括:
43.对第二文本进行拼音化处理,以获取拼音文本;
44.基于蒙特利尔强制对准器mfa算法,根据第二语音数据和拼音文本,获取各个停顿对应的开始时刻和结束时刻,每一停顿表示其前一音素的结束时刻和后一音素的开始时刻之间具有间隔;
45.根据每一停顿的开始时刻和结束时刻确定每一停顿的持续时长;
46.根据每一停顿的持续时长和每一韵律标签的持续时长的取值范围,确定每一停顿对应的韵律标签;
47.根据每一停顿对应的韵律标签对第二文本进行韵律标注。
48.在一个示例中,根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围,包括:
49.根据每一韵律标签对应的统计数据,确定每一韵律标签对应的统计数据的最大的值和最小的值;
50.根据每一韵律标签对应的最大的值和最小的值,确定每一韵律标签的持续时长的取值范围。
51.第三方面,本技术提供了一种韵律标注获得文本的应用,基于上述实施例的方法获得的经过韵律标注的第二文本,方法包括:
52.根据第二本文中的每一文本和第一关联关系,确定每一文本对应的序号,第一关
联关系用于关联文本和序号;
53.获取第二语音数据的梅尔频率倒谱系数特征;
54.根据经过韵律标注的第二文本的每一韵律标签的持续时长、每一文本对应的序号和第二语音数据的梅尔频率倒谱系数特征,确定训练数据集;
55.基于训练数据集训练语音合成模型,获取训练好的语音合成模型。
56.本技术上述实施例中,由于第一文本为经过韵律标注的文本,第一文本包括多个韵律标签,因此特定说话人根据第一文本的韵律标签录制的第一语音数据中,各个韵律标签的停顿时长取决于特定说话人的说话习惯。接着统计每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据,由于每一韵律标签的持续时长的统计数据与该特定说话人的说话习惯相关,因此根据该统计数据确定的每一韵律标签的持续时长的取值范围也与该特定说话人的说话习惯相匹配。然后让特定说话人根据没有经过韵律标注的第二文本,录制第二语音数据,该第二语音数据的各个停顿的持续时长与特定说话人的说话习惯相匹配。又由于每一韵律标签的持续时长的取值范围与该特定说话人的说话习惯相匹配,因此,根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,进行韵律标注后的第二文本中的韵律能够精确地匹配第二语音数据的韵律。使用这种韵律相匹配的语音数据和标注后的第二文本对语音合成模型进行训练,使得该模型能够准确地学习到韵律的特征,从而使得合成的语音能够明显的体现出各个韵律标签表示的停顿。
附图说明
57.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本技术实施例提供的一例韵律标注方法示意性流程图;
59.图2是本技术实施例提供的一例音节序列文本示意图;
60.图3是本技术实施例提供的一例音素序列文本示意图;
61.图4是本技术实施例提供的一例语音音频文件和标注文本结构示意图;
62.图5是本技术实施例提供的一例韵律标注装置示意图。
具体实施方式
63.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
64.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措
辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
65.目前,韵律标注方案主要是通过语义进行韵律标注。然而,说话人根据进行了韵律标注后的文本进行录制语音音频时,通常不能完全按照根据语义划分好的韵律标注进行朗读,会不自觉地按照自己的朗读习惯进行朗读,而且说话人也不可能把握好每个韵律标签的停顿时长。因此,造成了录制的语音音频的韵律和标注文本的韵律不匹配的问题。使用这种韵律不匹配的语音音频和标注文本对语音合成模型进行训练,会使得该模型无法学习到韵律的特征,从而造成合成的语音不能明显的体现出各个韵律标签表示的停顿。
66.为了便于理解本技术中的方案,以下对一些技术概念进行简单介绍:
67.音素:音素是根据语音的自然属性划分出来的最小语音单位。在汉语里,通常一个汉字的字音就是一个音节,普通话的基本音节是由一个到四个音素按一定结合规律构成。例如,“你”(n
ǐ
)可以划分出“n”和“i”两个不同的音素;“好”(h
ǎ
o)可以划分出“h、α、o”三个音素。
68.正态分布(normal distribution):也称“常态分布”,又名高斯分布(gaussian distribution),最早由a.棣莫弗在求二项分布的渐近公式中得到。c.f.高斯在研究测量误差时从另一个角度导出了它。p.s.拉普拉斯和高斯研究了它的性质。是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。正态分布曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。若随机变量x服从一个数学期望为μ、方差为σ^2的正态分布,记为n(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ=0,σ=1时的正态分布是标准正态分布。
69.图1是本技术实施例提供的一例韵律标注方法示意性流程图,为了解决上述问题,本技术实施例提供了一种韵律标注方法,下面结合图1对该方法进行说明。
70.s110,获取特定说话人根据第一文本录制的第一语音数据。
71.其中,第一文本为按照语义经过韵律标注的文本,第一文本包括多个韵律标签,每一韵律标签表示两个分词之间的停顿,多个韵律标签中不同的韵律标签表示的停顿的持续时长不同。
72.例如,用韵律标签#1、#2、#3和#4表示不同的停顿,其中,#1为韵律词的边界,表示短暂停顿;#2为韵律短语的边界,表示拉长音或者短暂停顿;#3表示语义完整的较明显停顿和语调下降;#4表示句末,是每个编号对应的句子结尾的标注。经过韵律标注的第一文本为“二敬家#2住#1北五#1环外#3,上班#2要去#1亚运村#2华堂#1商场#4。”可以看出,分词“二敬家”和“住”之间有韵律标签,表示在朗读完第一个分词的时候应该停顿#2的时长后再朗读第二个分词。
73.在一个示例中,该方法还包括:若第一文本中的韵律标签和第一语音数据中的停顿不匹配,根据第一语音数据中的停顿重新确定第一文本中的韵律标签。
74.示例性地,第一文本中的韵律标签和第一语音数据中的停顿不匹配的情况包括以下几种:
75.(1)第一文本的某一位置标注了韵律标签,而第一语音数据在该位置没有停顿;
76.(2)第一文本的某一位置没有标注韵律标签,而第一语音数据在该位置有停顿;
77.(3)第一文本的某一位置标注的韵律标签的规定时长,与第一语音数据在该位置
的停顿的时长的绝对差值超过第一阈值,第一阈值根据实际需要设置即可。
78.根据以上几种情况重新确定韵律标签的方法包括:
79.若第一文本的某一位置标注了韵律标签,而第一语音数据在该位置没有停顿,重新确定第一文本中的韵律标签,包括:删除第一文本的该位置的韵律标签。
80.若第一文本的某一位置没有标注韵律标签,而第一语音数据在该位置有停顿,重新确定第一文本中的韵律标签,包括:在第一文本的该位置添加与该停顿相对应的韵律标签。
81.若第一文本的某一位置标注的韵律标签的规定时长,与第一语音数据在该位置的停顿的时长的绝对差值超过第一阈值,重新确定第一文本中的韵律标签,包括:将第一文本的该位置的韵律标签修改为正确的韵律标签,该正确的韵律标签与第一语音数据在该位置的停顿的时长的绝对差值不超过第一阈值。
82.上述方式中,本技术将与第一语音数据中的停顿不匹配的第一文本中的韵律标签进行修改,能够获取更符合特定说话人的说话习惯的第一文本,以便于后续能够获取每一韵律标签的持续时长准确的统计数据。
83.s120,根据第一语音数据和第一文本,统计每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据。
84.以上述第一文本“二敬家#2住#1北五#1环外#3,上班#2要去#1亚运村#2华堂#1商场#4。”为例,其中,韵律标签#1的持续时长的统计数据包括:0.1s,0.09s,0.12s;韵律标签#2的持续时长的统计数据包括:0.5s,0.48s,0.57s;韵律标签#3的持续时长的统计数据包括:0.8s;韵律标签#4的持续时长的统计数据包括:1s。
85.在一个示例中,对第一文本进行拼音化处理,得到带韵律标签的拼音文本。使用蒙特利尔强制对准器(montreal forced aligner,mfa)算法对第一文本的拼音文本和第一语音数据进行分析,会得到音节序列文本和音素序列文本。其中,如图2所示,音节序列文本记录了每一音节的开始时刻(xmin)、结束时刻(xmax)和音节的内容(word或者text),以及各个韵律标签的开始时刻(xmin)、结束时刻(xmax)和韵律标签的内容(word或者text)。如图3所示,音素序列文本记录了每一音素的开始时刻(xmin)、结束时刻(xmax)和音素的内容(word或者text),以及各个韵律标签的开始时刻(xmin)、结束时刻(xmax)和韵律标签的内容(word或者text)。从音素序列文本中或音节序列文本中获得各个韵律标签的持续时长(结束时刻与开始时刻的差值)。然后统计每种韵律标签的持续时长,以获取每种韵律标签的持续时长的统计数据。
86.s130,根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围。
87.在一个示例中,首先根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的均值和标准差,然后基于正态分布分析方法,根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的取值范围。
88.进一步地,基于正态分布分析方法,确定每一韵律标签的持续时长的取值范围的方法包括:首先根据每一韵律标签的持续时长的均值和标准差,确定每一韵律标签的持续时长的均值与标准差的差值,以及每一韵律标签的持续时长的均值与标准差的和值;然后根据每一韵律标签对应的差值和和值,确定每一韵律标签的持续时长的取值范围。该取值
范围的最小值为每一韵律标签对应的差值,该取值范围的最大值为每一韵律标签对应的和值。
89.例如,韵律标签#1的持续时长的均值为70ms,标准差为40,均值与标准差的差值为30ms,均值与标准差的和值110ms,那么该韵律标签的持续时长的取值范围为30ms~110ms。
90.上述方式中,由于每一韵律标签对应的统计数据符合正态分布,因此能够根据正态分布曲线的特点,利用每一韵律标签的持续时长的均值和标准差,快速准确地估算出每一韵律标签的持续时长的取值范围。
91.在一个示例中,确定每一韵律标签的持续时长的取值范围的方法还包括:根据每一韵律标签对应的统计数据,确定每一韵律标签对应的统计数据的最大的值和最小的值;根据每一韵律标签对应的最大的值和最小的值,确定每一韵律标签的持续时长的取值范围。该取值范围的最小值为每一韵律标签对应的统计数据的最小的值,该取值范围的最大值为每一韵律标签对应的统计数据的最大的值。
92.上述方式中,根据每一韵律标签对应的统计数据的最大的值和最小的值,直接确定该韵律标签的持续时长的取值范围,计算方法简单快速,但是其精确度不如上述基于正态分布确定的取值范围。
93.s140,获取特定说话人根据第二文本录制的第二语音数据,第二文本为未经过韵律标注的文本。
94.其中,第二文本的规模远大于第一文本的规模。录制第二语音数据的特定说话人与录制第一语音数据的为同一人。
95.s150,根据每一韵律标签的持续时长的取值范围和第二语音数据,对第二文本进行韵律标注。
96.具体地,根据第二语音数据获取第二语音数据中各个停顿的持续时长,且根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,对第二文本进行韵律标注。
97.在一个示例中,首先对第二文本进行拼音化处理,以获取拼音文本。然后基于mfa算法,根据第二语音数据和拼音文本,获取各个停顿对应的开始时刻和结束时刻,每一停顿表示其前一音素的结束时刻和后一音素的开始时刻之间具有间隔。接着根据每一停顿的开始时刻和结束时刻确定每一停顿的持续时长,并根据每一停顿的持续时长和每一韵律标签的持续时长的取值范围,确定每一停顿对应的韵律标签。最后根据每一停顿对应的韵律标签对第二文本进行韵律标注。
98.上述方式中,由于mfa能够将语音音频和拼音文本进行分析切割,从而进行语音音频和拼音文本的对齐工作。而在mfa生成音素序列文本或者音节序列文本的过程中,由于该拼音文本中没有表示停顿的韵律标签,因此如果遇到音素有间隔(即两个音素之间有停顿),则会表示为“xmin=
…
,xmax=
…
,word=
‘’”
,可通过识别关键字“word=
‘’”
,来确定该停顿的开始时刻xmin,和结束时刻xmax。每一停顿的持续时长为xmax-xmin,然后根据每一停顿的持续时长和每一韵律标签的持续时长的取值范围,确定每一停顿对应的韵律标签,最后根据每一停顿对应的韵律标签重新确定关键字“word=
‘
韵律标签
’”
,并将该新的关键字替换掉对应位置的原关键字,生成新的mfa音素序列文本“xmin=
…
,xmax=
…
,word=
‘
韵律标签
’”
。最后根据该新的mfa音素序列文本中的韵律标签的位置和内容,对第二文本进行韵律标注。应理解,上述方案不仅限于基于mfa算法获取的停顿的持续时长,也可以
是其他可达到相同效果的算法。
99.该方案通过识别mfa的生成文本中停顿的开始时刻和结束时刻,从而获取各个停顿的持续时长,然后结合各个停顿的持续时长和各个韵律标签的持续时长的取值范围,精确快速地确定各个停顿对应的韵律标签,最终能够根据精确的韵律标签对第二文本进行韵律标注。
100.由上述实施例可知,由于第一文本为经过韵律标注的文本,第一文本包括多个韵律标签,因此特定说话人根据第一文本的韵律标签录制的第一语音数据中,各个韵律标签的停顿时长取决于特定说话人的说话习惯。接着统计每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据,由于每一韵律标签的持续时长的统计数据与该特定说话人的说话习惯相关,因此根据该统计数据确定的每一韵律标签的持续时长的取值范围也与该特定说话人的说话习惯相匹配。然后让该特定说话人根据没有经过韵律标注的第二文本,录制第二语音数据,该第二语音数据的各个停顿的持续时长与特定说话人的说话习惯相匹配。又由于每一韵律标签的持续时长的取值范围与该特定说话人的说话习惯相匹配,因此,根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,进行韵律标注后的第二文本中的韵律能够精确地匹配第二语音数据的韵律。使用这种韵律相匹配的语音数据和标注后的第二文本对语音合成模型进行训练,使得该模型能够准确地学习到韵律的特征,从而使得合成的语音能够明显的体现出各个韵律标签表示的停顿。
101.基于上述韵律标注方法获得的经过韵律标注的第二文本,本技术还提供了一种韵律标注获得文本的应用,方法包括:
102.首先根据第二本文中的每一文本和第一关联关系,确定每一文本对应的序号,第一关联关系用于关联文本和序号。接着获取第二语音数据的梅尔频率倒谱系数(mel-frequency cepstral coefficients,mfcc)特征。然后根据经过韵律标注的第二文本的每一韵律标签的持续时长、每一文本对应的序号和第二语音数据的梅尔频率倒谱系数特征,确定训练数据集。最后基于训练数据集训练语音合成模型,获取训练好的语音合成模型。训练好的语音合成模型用于语音合成。
103.由于经过韵律标注的第二文本中各个韵律标签的持续时长,能够精确地与特定说话人的停顿时长相匹配。因此,根据经过韵律标注的第二文本的每一韵律标签的持续时长、文本对应的序号和第二语音数据的梅尔频率倒谱系数特征,确定训练数据集,基于该训练数据集训练的语音合成模型,能够准确地学习到该特定说话人的韵律的特征,从而使得合成的语音能够明显的体现出各个韵律标签表示的停顿,该各个韵律标签表示的停顿与该特定说话人的说话习惯相吻合。
104.下面结合具体实施例对上述方法进行说明。如方法200包括:
105.s210,获取特定说话人根据第一文本录制的第一语音数据。
106.具体地,指定特定说话人a,让其根据已经被韵律标注过的公开数据集(第一文本)录制500~1000条语音(第一语音数据)。
107.s220,对第一文本的韵律标签进行精调,获取与第一语音数据相匹配的韵律标注文本。
108.具体地,确定第一文本中的韵律标签和第一语音数据中的停顿是否匹配,若不匹配,根据第一语音数据中的停顿重新确定第一文本中的韵律标签。
109.例如,第一文本包括“张三#2你好#4,在吗#4”,而对应该文本的语音在“张三”和“你好”之间没有停顿,则修改该文本为“张三你好#4,在吗#4”。
110.最后生成的文件包括格式为“.wav”的用于存储第一语音数据的音频文件,和经过精调韵律标签后的格式为“.txt”的第一文本。文件结构如图4所示。
111.s230,基于mfa算法,根据第一语音数据和第一文本,统计每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据。
112.具体地,首先将第一文本进行拼音化处理,获取拼音文本。mfa将第一语音数据和第一文本对应的拼音文本进行分析切割,从而进行第一语音数据和拼音文本的对齐工作,得到音素序列文本,从音素序列文本中获取每个韵律标签的持续时长。
113.例如根据音素序列文本的记载,
‘
xmin=2.08,xmax=2.18,word=#1’则表示#1的停顿从2.08秒持续到了2.18秒,总共约0.1秒,通过mfa的分析结果,我们可以得到#1,#2,#3和#4的持续时长的统计数据。
114.s240,确定每一韵律标签的持续时长的取值范围。
115.具体地,根据#1的持续时长的统计数据计算其均值和标准差,根据#2的持续时长的统计数据计算其均值和标准差,根据#3的持续时长的统计数据计算其均值和标准差,根据#4的持续时长的统计数据计算其均值和标准差。然后基于每一韵律标签的持续时长的统计数据符合正态分布的特点,得到#1、#2、#3和#4的持续时长的取值范围均是(均值-标准差)~(均值+标准差),该各个韵律标签的取值范围与特定说话人的说话习惯相符。
116.s250,让特定说话人a根据未经过韵律标注的第二文本录制第二语音数据。
117.具体地,第二文本为大规模数据。
118.s260,基于mfa算法根据大规模的第二文本和第二语音数据,获取音素序列文本,并确定该音素序列文本中的各个停顿的持续时长。
119.具体地,在mfa对齐过程中,例如图3,如果遇到音素有间隔,则会表示为“xmin=
…
,xmax=
…
,word=
‘’”
。通过识别关键字“word=
‘’”
,来确定该停顿的开始时刻xmin,和结束时刻xmax,从而进一步确定该停顿的持续时长为(xmax-xmin)。如此来确定该音素序列文本中的所有停顿的持续时长。
120.s270,对第二文本进行韵律标注。
121.具体地,根据每一停顿的持续时长确定其所属于的韵律标签的取值范围,进而确定每一停顿对应的韵律标签。然后根据每一停顿对应的韵律标签重新确定关键字“word=
‘
#1(或#2或#3或#4)
’”
,并将该新的关键字替换掉对应位置的原关键字,生成新的音素序列文本“xmin=
…
,xmax=
…
,word=
‘
#1(或#2或#3或#4)
’”
。最后根据新的音素序列文本中#1或#2或#3或#4的韵律标签的位置和内容,在第二文本的相应位置上标注上相应的韵律标签内容,从而完成对第二文本的韵律标注工作。
122.在一个示例中,方法200还包括:
123.s280,根据第二本文中的文本和第一关联关系,确定该文本中每一对应的序号;
124.s290,获取第二语音数据的mfcc特征;
125.s2100,根据经过韵律标注的第二文本的每一韵律标签的持续时长、每一文本对应的序号和第二语音数据的梅尔频率倒谱系数特征,确定训练数据集;
126.s2110,基于训练数据集训练语音合成模型,获取训练好的语音合成模型。
127.上述实施例中,首先使特定说话人根据已经被韵律标注过的第一文本录制第一语音数据,由于特定说话人无法完全按照标注好的韵律标签进行停顿,更多的是按照自己的说话习惯来进行录制的,因此第一语音数据中的停顿时长取决于特定说话人的说话习惯(即特定说话人的韵律特征)。那么根据第一语音数据统计的各个韵律标签的持续时长而确定的取值范围,能够精确地与特定说话人的停顿时长相匹配。其中,基于各个韵律标签的持续时长的统计数据符合正态分布的特点,根据各个韵律标签的持续时长的均值和标准差能够快速准确地确定取值范围。接着使同一特定说话人根据未被韵律标注的第二文本录制第二语音数据,利用mfa算法快速分析出第二语音数据中的停顿的持续时长,并根据各个韵律标签的持续时长的取值范围,来确定各个停顿时长对应的韵律标签,使用该韵律标签进行韵律标注后的第二文本的韵律,能够精确地匹配第二语音数据的韵律。由于经过韵律标注的第二文本中各个韵律标签的持续时长,能够精确地与特定说话人的停顿时长相匹配。因此,根据经过韵律标注的第二文本的每一韵律标签的持续时长、文本对应的序号和第二语音数据的梅尔频率倒谱系数特征,确定训练数据集。基于该训练数据集训练的语音合成模型,能够准确地学习到该特定说话人的韵律的特征,从而使得合成的语音能够明显的体现出各个韵律标签表示的停顿,该各个韵律标签表示的停顿与该特定说话人的说话习惯相吻合。
128.基于上述韵律标注方法,本技术还提供了一种韵律标注装置,如图5所示,该装置包括:
129.语音数据获取模块310,用于获取特定说话人根据第一文本录制的第一语音数据,第一文本为经过韵律标注的文本,第一文本包括多个韵律标签,多个韵律标签中不同的韵律标签表示的停顿的持续时长不同;
130.韵律标签时长确定模块320,用于根据第一语音数据和第一文本,统计多个韵律标签中每一韵律标签的持续时长,以获取每一韵律标签的持续时长的统计数据;
131.韵律标签时长确定模块320还用于根据每一韵律标签对应的统计数据,确定每一韵律标签的持续时长的取值范围;
132.语音数据获取模块320还用于获取特定说话人根据第二文本录制的第二语音数据,第二文本为未经过韵律标注的文本;
133.韵律标注模块330,用于根据第二语音数据获取第二语音数据中各个停顿的持续时长,且根据每一韵律标签的持续时长的取值范围和各个停顿的持续时长,对第二文本进行韵律标注。
134.在一个示例中,装置还包括:
135.韵律标签精调模块340,用于若第一文本中的韵律标签和第一语音数据中的停顿不匹配,根据第一语音数据中的停顿重新确定第一文本中的韵律标签。
136.该装置的其他实现方式和效果参见方法100和方法200,在此不再赘述。
137.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
138.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是
这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
139.本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
140.还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
141.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
142.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本技术的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。