一种大语料音库裁剪方法与流程

文档序号:13238594阅读:437来源:国知局

本发明涉及语音信号处理技术领域,特别涉及一种大语料音库裁剪方法。



背景技术:

语音语料库是指为言语技术的研究与开发而建立的语音数据及其标注的集合。大语料音库的拼接系统由于很好的做到了合成后的声音清晰、可懂、自然、具有表现力而被广泛应用。但是,大语料音库占用空间过大,其应用领域受到了很大限制,如嵌入式产品领域。虽然通过聚类、编码和压缩等技术手段处理后,占用空间可以降低,但音质受到损伤,且灵活度下降。因此,近几年出现了越来越多的大语料音库裁剪方法,试图通过裁剪音库中的语音单元来降低音库的占用空间。现有的音库裁剪方法首先采集大量所有领域的文本,然后利用大语料音库训练决策树模型;接着利用所述决策树模型来合成采集文本,对大语料音库中的语音单元进行预选;最后根据预选过程中语音单元使用的频率,对预选使用的语音单元进行裁剪,裁剪掉使用频率较低的语音单元。现有方法仅根据语音单元在预选过程中使用频率对预选语音单元进行裁剪,由于合成文本的多变性,使用频率较低的语音单元有可能在使用其它文本进行语音单元预选时使用频率较高,并且有些使用频率较低的语音单元具有一些特性,是大语料音库所必须的语音单元。因此,直接将使用频率较低的语音单元裁剪掉显然不合理,同时也容易降低大语料音库的语音单元覆盖度。



技术实现要素:

本发明提供一种大语料音库裁剪方法,解决大语料音库占用空间大,覆盖度低的问题。

本发明采用如下技术方案:

一种大语料音库裁剪方法,包括如下步骤:

采集所有领域的文本数据,作为辅助裁剪文本;

利用所述辅助裁剪文本对大语料音库中的语音单元进行预选,得到预选的语音单元及该语音单元在预选过程中的使用频率;

根据语音单元预选结果,计算语音单元的裁剪得分;

根据每个语单元的裁剪得分,对大语料音库中预选语音单元进行裁剪,得到裁剪后的大语料音库。

作为上述方案的改进,所述利用所述辅助裁剪文本对大语料音库中的语音单元进行预选的步骤包括:

利用所述大语料音库中所有语音单元训练决策树模型;

利用所述决策树模型,对辅助裁剪文本进行语音合成,记录合成过程中使用语音单元的编号及使用频率;

根据所述单元的使用频率及预先设定的语音单元预选阈值,对大语料库中语音单元进行预选;裁剪掉使用频率低于预选阈值的语音单元。

作为上述方案的改进,所述利用所述辅助裁剪文本对大语料音库中的语音单元进行预选的步骤包括:

在预选的领域内采集大量文本,作为第二辅助裁剪文本;

利用所述第二辅助裁剪文本对预选的大语料音库中的语音单元进行预选,得到预选的语音单元;

利用预选得到的所述语音单元训练决策树模型,对第二辅助裁剪文本进行语音合成,记录合成过程中使用语音单元的编号及使用频率;

根据预选领域内语音单元预选阈值,对预选语音单元再次裁剪。

作为上述方案的改进,所述根据语音单元预选结果,计算语音单元的裁剪得分的步骤包括:

计算所述大语料音库对应的决策树模型中每个叶子节点中包含的语音单元之间的相似度;

根据所述语音单元之间的相似度,计算当前语音单元的裁剪得分。

有益效果

本发明采集所有领域的文本数据,作为辅助裁剪文本;接着利用辅助裁剪文本对大语料音库中的语音单元进行预选,得到预选的语音单元及该语音单元在预选过程中的使用频率;然后根据语音单元预选结果,计算语音单元的裁剪得分;最后根据每个语单元的裁剪得分,对大语料音库中预选语音单元进行裁剪,具体裁剪时,以预选过程中构建的决策树模型叶子节点为单位。本案所述方法根据语音单元在预选过程中的使用频率,及决策树模型叶子节点中语音单元之间的相似度来计算语音单元的裁剪得分,所述裁剪得分考虑了语音单元之间的相似度,根据裁剪得分对大语料音库进行裁剪,裁剪掉相似度较高的语音单元,即去除大语料音库中的冗余单元,从而可以在降低音库占用空间的同时,保证大语料音库语音单元的覆盖度。

附图说明

图1是本发明提供的的一个实施例的大语料音库裁剪方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的一个实施例的大语料音库裁剪方法具体流程。该方法包括如下步骤:

s1:采集所有领域的文本数据,作为辅助裁剪文本。

本步骤中所述文本尽可能多的包含各领域常用词汇。

s2:利用所述辅助裁剪文本对大语料音库中的语音单元进行预选,得到预选的语音单元及该语音单元在预选过程中的使用频率。

s3:根据语音单元预选结果,计算语音单元的裁剪得分。

s4:根据每个语单元的裁剪得分,对大语料音库中预选语音单元进行裁剪,得到裁剪后的大语料音库。

具体裁剪时,根据预先设定的裁剪得分阈值,对大语料音库预选语音单元进行裁剪,如式(1)所示:

其中,i(xi)表示当前叶子节点中第i个语音单元的裁剪结果,i(xi)=1表示裁剪第i个语音单元,i(xi)=0表示不裁剪第i个语音单元。

或者,对裁剪得分进行排序,裁剪掉裁剪得分较大的语音单元,具体裁剪语音单元的数量可以预先设定,如裁剪掉叶子节点中8%的语音单元,如当前叶子节点中有100个语音单元,裁剪掉叶子节点中8%的语音单元后,剩余20个语音单元。

进一步地,为了实际应用的需求,剪裁更多的语音单元,如为了减少内存的开销,需要裁剪掉大语料音库中更多的语音单元,可以在计算语音单元裁剪得分之前,根据叶子节点合并准则,合并预选过程中得到的决策树模型部分叶子节点,然后根据合并后叶子节点含有的语音单元进行裁剪得分的计算。

具体地,所述步骤s2,利用所述辅助裁剪文本对大语料音库中的语音单元进行预选的步骤,具体实现流程步骤如下:

s201:利用所述大语料音库中所有语音单元训练决策树模型。

所述决策树模型一般根据大语料音库中语音单元的上下文相关信息,通过预选设计的上下文相关问题集构建得到,具体训练方法与现有技术相同,此处不再详述。

s202:利用所述决策树模型,对辅助裁剪文本进行语音合成,记录合成过程中使用语音单元的编号及使用频率。

本步骤中,根据决策树模型对辅助裁剪文本进行模型预测后,挑选合成辅助裁剪文本所需要的语音单元,进行拼接后得到合成语音,记录使用的大语料音库中语音单元的编号及使用频率,具体方法与现有技术相同,此处不再详述。

s203:根据所述单元的使用频率及预先设定的语音单元预选阈值,对大语料库中语音单元进行预选;裁剪掉使用频率低于预选阈值的语音单元。

进一步地,如果针对具体领域对大语料音库进行裁剪,在此基础上,还可以在预选的领域内采集大量文本,作为第二辅助裁剪文本;利用所述第二辅助裁剪文本对预选的大语料音库中的语音单元进行预选,得到预选的语音单元;利用预选得到的所述语音单元训练决策树模型,对第二辅助裁剪文本进行语音合成,记录合成过程中使用语音单元的编号及使用频率;根据预选领域内语音单元预选阈值,对预选语音单元再次裁剪。

具体地,所述步骤s3,根据语音单元预选结果,计算语音单元的裁剪得分步骤,以预选过程中构建的决策树模型中的叶子节点为单位,计算每个叶子节点中包含的语音单元之间声学特征的相似度,所述声学特征如基频、频谱、时长中的一个或多个,根据所述相似度及各语音单元在叶子节点中出现的频率计算语音单元的裁剪得分,具体实现方法步骤如下:

s301:计算所述大语料音库对应的决策树模型中每个叶子节点中包含的语音单元之间的相似度。

具体的计算方法如式(2)所示:

其中,sij表示当前叶子节点中第i个语音单元与第j个语音单元的相似度,xik和xjk分别表示第i个语音单元特征和第j个语音单元特征的第k维参数,vk2表示第k维特征的全局方差,m表示语音单元当前特征的维数,如频谱特征为39维,则m=39。

s302:根据所述语音单元之间的相似度,计算当前语音单元的裁剪得分。

所述语音单元的裁剪得分用于描述当前语音单元应该被裁剪的可能性,得分越大,当前单元越可能被裁剪,得分越小,越不可能被裁剪,具体计算方法如式(3)所示:

其中,cscore(xi)表示第i个语音单元的裁剪得分,fi表示第i个语音单元在当前叶子节点中出现的频率,fj表示第j个语音单元在当前叶子节点中出现的频率,n表示当前叶子节点中除第i个语音单元外,其它语音单元的数量。由式(3)可以看出,当前语音单元与其它语音单元的相似度越高时,裁剪得分越小,越容易被裁剪掉。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1