语料库优化方法及装置转让专利

申请号 : CN201811269819.2

文献号 : CN109389969B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 祝晓林盖于涛周志平

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本发明实施例提供一种语料库优化方法及装置,对于第一音频中的瑕疵音,从语料库中确定出该瑕疵音对应的第一声音片段,然后将语料库中的第一声音片段标记为非法声音片段,后续合成音频的过程中,仅从语料库中合法声音片段中选择候选声音片段,进而从候选声音片段中选择出最优声音片段,对最优声音片段进行波形拼接得到合成音频。该过程中,通过对语料库中的声音片段进行标记实现对语料库的优化,无需修改代码,优化过程简单且成本低。

权利要求 :

1.一种语料库优化方法,其特征在于,包括:

从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,所述第一音频是对第一文本进行波形拼接得到的;

将所述第一声音片段标记为非法声音片段,所述非法声音片段为语音合成过程中不会命中的声音片段;

所述从语料库中确定出第一音频中的瑕疵音对应的第一声音片段之前,还包括:根据第一文本片段,从所述语料库中确定出所述第一声音片段,所述第一文本片段包含在所述第一文本中;

确定所述第一声音片段在所述语料库中的位置,得到位置信息;

对所述第一声音片段进行波形拼接,得到所述第一音频。

2.根据权利要求1所述的方法,其特征在于,所述从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,包括:根据所述瑕疵音对应的第一声音片段的所述位置信息,从所述语料库中确定出所述第一声音片段。

3.根据权利要求1所述的方法,其特征在于,所述根据第一文本片段,从所述语料库中确定出所述第一声音片段,包括:根据所述第一文本片段,从所述语料库中确定出N个候选声音片段,N≥1,且为整数;

从所述N个候选声音片段中确定出所述第一声音片段。

4.根据权利要求3所述的方法,其特征在于,所述将所述第一声音片段标记为非法声音片段之后,还包括:从所述N个候选声音片段中选择出第二声音片段,所述第一声音片段和所述第二声音片段是所述N个候选声音片段中不同的声音片段;

对所述第二声音片段进行波形拼接,得到第二音频。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述位置信息包括下述信息中的至少一个:所述第一声音片段的文本编号、所述第一声音片段的音节编号、所述第一声音片段的音素编号、所述第一声音片段的音频偏移。

6.根据权利要求1或2所述的方法,其特征在于,所述将所述第一声音片段标记为非法声音片段之后,还包括:根据所述第一文本,从所述语料库包含的合法声音片段中确定第三声音片段;

对所述第三声音片段进行波形拼接,得到第三合成音频。

7.一种语料库优化装置,其特征在于,包括:

处理模块,用于从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,所述第一音频是对第一文本进行波形拼接得到的;

标记模块,用于将所述第一声音片段标记为非法声音片段,所述非法声音片段为语音合成过程中不会命中的声音片段;

所述装置还包括:

拼接模块,用于在所述处理模块从语料库中确定出第一音频中的瑕疵音对应的第一声音片段之前,根据第一文本片段,从所述语料库中确定出所述第一声音片段,所述第一文本片段包含在所述第一文本中;确定所述第一声音片段在所述语料库中的位置,得到位置信息;对所述第一声音片段进行波形拼接,得到所述第一音频。

8.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述权利要求1-6任一项所述的方法。

9.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-6任一项所述的方法。

说明书 :

语料库优化方法及装置

技术领域

[0001] 本发明实施例涉及智能信息处理技术领域,尤其涉及一种语料库优化方法及装置。

背景技术

[0002] 语音合成,也称之为文语转换(text to speech)技术,是用于将文字信息转换为可听的声音信息的技术。基于波形拼接的语音合成方法是目前主流的语音合成方法。
[0003] 基于波形拼接的语音合成方法中,根据语言学特征和声学参数,针对待合成文本的每个文本片段,利用合成算法从预先录制好并标注好的语料库中选择候选声音片段,然后根据合成算法计算候选声音片段的目标代价和链接代价从而选择出最优声音片段,然后对最优声音片段的音量或语速等进行调整,最终将调整后的最优声音片段拼接起来,得到合成音频。其中,语言学特征是对前端文本分析得到的,声学参数是通过声学模型预测并输出的,语料库中存储大量以音素或字为单位的声音片段,以及每个声音片段对应的文本信息和标注信息等,该些大量的声音片段是根据某个发音人的录音得到的,不同的发音人对应不同的语料库。由于合成音频是由语料库中的声音片段拼接得到的,因此通过该方法得到的合成音频的音质较高。然而,该基于波形拼接的语音合成过程中,语料库中预先存储的声音片段中可能包含发音不准或发音错误的声音片段,语音合成过程中选择声音片段时,若命中的声音片段的发音有问题,则会导致合成包含瑕疵音的合成音频。为避免出现瑕疵音,通过改进合成算法对语料库进行优化。合成算法主要包括预选算法和动态规划算法。针对某个文本片段,对预选算法进行改进,使得得分较低的声音片段在选择候选声音片段阶段被提前删除;对动态规划算法进行改进,从而对候选声音片段之间的目标代价以及连接代价权重进行微调以命中不同的声音片段。
[0004] 上述语料库优化过程中,需要是对合成算法进行改进,过程复杂、且成本高。

发明内容

[0005] 本发明提供一种语料库优化方法及装置,出现瑕疵音时,根据位置信息,确定出瑕疵音对应的声音片段,将该声音片段标记为非法声音片段,避免后续合语音合成时使用瑕疵音对应的声音片段进行语音合成,降低优化语料库的复杂度和成本,同时实现提高语音合成准确性的目的。
[0006] 第一方面,本发明实施例提供一种语料库优化方法,该方法包括:
[0007] 从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,所述第一音频是对第一文本进行波形拼接得到的;
[0008] 将所述第一声音片段标记为非法声音片段,所述非法声音片段为语音合成过程中不会命中的声音片段。
[0009] 一种可行的设计中,所述从语料库中确定出第一音频中的瑕疵音对应的第一声音片段之前,还包括:
[0010] 根据第一文本片段,从所述语料库中确定出所述第一声音片段,所述第一文本片段包含在所述第一文本中;
[0011] 确定所述第一声音片段在所述语料库中的位置,得到位置信息;
[0012] 对所述第一声音片段进行波形拼接,得到所述第一音频。
[0013] 一种可行的设计中,所述从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,包括:
[0014] 根据所述瑕疵音对应的第一声音片段的所述位置信息,从所述语料库中确定出所述第一声音片段。
[0015] 一种可行的设计中,所述根据第一文本片段,从所述语料库中确定出所述第一声音片段,包括:
[0016] 根据所述第一文本片段,从所述语料库中确定出N个候选声音片段,N≥1,且为整数;
[0017] 从所述N个候选声音片段中确定出所述第一声音片段。
[0018] 一种可行的设计中,所述将所述第一声音片段标记为非法声音片段之后,还包括:
[0019] 从所述N个候选声音片段中选择出第二声音片段,所述第一声音片段和所述第二声音片段是所述N个候选声音片段中不同的声音片段;
[0020] 对所述第二声音片段进行波形拼接,得到第二音频。
[0021] 一种可行的设计中,所述位置信息包括下述信息中的至少一个:所述第一声音片段的文本编号、所述第一声音片段的音节编号、所述第一声音片段的音素编号、所述第一声音片段的音频偏移。
[0022] 一种可行的设计中,所述将所述第一声音片段标记为非法声音片段之后,还包括:
[0023] 根据所述第一文本,从所述语料库包含的合法声音片段中确定第三声音片段;
[0024] 对所述第三声音片段进行波形拼接,得到第三合成音频。
[0025] 一种可行的设计中,所述将所述第一声音片段标记为非法声音片段之后,还包括:
[0026] 从所述语料库中删除所述非法声音片段。
[0027] 第二方面,本发明实施例提供一种语料库优化装置,包括:
[0028] 处理模块,用于从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,所述第一音频是对第一文本进行波形拼接得到的;
[0029] 标记模块,用于将所述第一声音片段标记为非法声音片段,所述非法声音片段为语音合成过程中不会命中的声音片段。
[0030] 一种可行的设计中,上述的装置还包括:
[0031] 拼接模块,用于在所述处理模块从语料库中确定出第一音频中的瑕疵音对应的第一声音片段之前,根据第一文本片段,从所述语料库中确定出所述第一声音片段,所述第一文本片段包含在所述第一文本中;确定所述第一声音片段在所述语料库中的位置,得到位置信息;对所述第一声音片段进行波形拼接,得到所述第一音频。
[0032] 一种可行的设计中,所述处理模块,具体用于根据所述瑕疵音对应的第一声音片段的所述位置信息,从所述语料库中确定出所述第一声音片段。
[0033] 一种可行的设计中,所述处理模块,具体用于根据所述第一文本片段,从所述语料库中确定出N个候选声音片段;从所述N个候选声音片段中确定出所述第一声音片段,N≥1,且为整数。
[0034] 一种可行的设计中,所述拼接模块,在所述标记模块将所述第一声音片段标记为非法声音片段之后,还用于从所述N个候选声音片段中选择出第二声音片段,所述第一声音片段和所述第二声音片段是所述N个候选声音片段中不同的声音片段;对所述第二声音片段进行波形拼接,得到第二音频。
[0035] 一种可行的设计中,所述位置信息包括下述信息中的至少一个:所述第一声音片段的文本编号、所述第一声音片段的音节编号、所述第一声音片段的音素编号、所述第一声音片段的音频偏移。
[0036] 一种可行的设计中,所述拼接模块,在所述标记模块将所述第一声音片段标记为非法声音片段之后,还用于根据所述第一文本,从所述语料库包含的合法声音片段中确定第三声音片段;对所述第三声音片段进行波形拼接,得到第三合成音频。
[0037] 一种可行的设计中,所述处理模块,在所述标记模块将所述第一声音片段标记为非法声音片段之后,还用于从所述语料库中删除所述非法声音片段。
[0038] 第三方面,本发明实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上第一方面或第一方面的各种可行的实现方式所述的方法。
[0039] 第四方面,本发明实施例提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上第一方面或第一方面的各种可行的实现方式所述的方法。
[0040] 第五方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如上第一方面或第一方面的各种可行的实现方式所述的方法。
[0041] 本发明实施例提供的语料库优化方法及装置,对于第一音频中的瑕疵音,从语料库中确定出该瑕疵音对应的第一声音片段,然后将语料库中的第一声音片段标记为非法声音片段,后续合成音频的过程中,仅从语料库中合法声音片段中选择候选声音片段,进而从候选声音片段中选择出最优声音片段,对最优声音片段进行波形拼接得到合成音频。该过程中,通过对语料库中的声音片段进行标记实现对语料库的优化,无需修改代码,优化过程简单且成本低。另外,基于优化的语料库合成语音时,选择候选声音片段时,仅从标记为正向tag的声音片段中选择候选声音片段。由于正向tag的声音片段具有发音质量高、声音饱满或发音准确等特征,因此,根据正向tag的声音片段合成音频时可以避免瑕疵音。

附图说明

[0042] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043] 图1为本发明实施例提供的一种语料库优化方法的流程图;
[0044] 图2是本发明实施例提供的一种语料库优化方法中记录位置信息的过程示意图;
[0045] 图3是本发明实施例提供的一种语料库优化方法中记录位置信息的流程图;
[0046] 图4是本发明实施例提供的一种语料库优化方法的过程示意图;
[0047] 图5是本发明实施例提供的一种语料库优化方法中标记声音片段的流程图;
[0048] 图6是本发明实施例提供的另一种语料库优化方法的过程示意图;
[0049] 图7是本发明实施例提供的一种语料库优化方法中删除使用频次较少的声音片段的流程图;
[0050] 图8是本发明实施例提供的一种语料库优化方法的过程示意图;
[0051] 图9是本发明实施例提供的一种语料库优化方法中标记声音片段的流程图;
[0052] 图10为本发明实施例提供的一种语料库优化装置的结构示意图;
[0053] 图11为本发明实施例提供的另一种语料库优化装置的结构示意图;
[0054] 图12为本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0055] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 目前,基于波形拼接的语音合成方法中,预先建立语料库。语音合成过程中,对待合成文本进行分析,得到韵律信息等,解析韵律信息,从语料库中选择候选声音片段,对候选声音片段进行迭代运算以从候选声音片段中选择出最优声音片段,然后将最优声音片段拼接在一起,得到最终的合成音频。以待合成文本中包含一句“我是超人”为例,则语音合成过程中,将“我是超人”分解出“我”、“是”、“超人”,针对“我”、“是”、“超人”分别选择最优声音片段,最终将“我”、“是”、“超人”的最优声音片段拼接起来,得到最终的合成音频。其中,“我”、“是”、“超人”可以称之为待合成文本的文本片段。
[0057] 上述语音合成过程中,针对每个文本片段,从语料库中选择出多个候选声音片段,然后从候选声音片段中,选择出最优声音片段,最后将多个文本片段各自对应的声音片段拼接起来,即可得到合成音频。当某个文本片段的对应的最优声音片段有发音问题时,合成音频中出现瑕疵音。为了避免合成音频中出现瑕疵音,需要对语料库进行优化。目前有两种方式优化语料库:方式一、在训练建库环节优化语料库,方式二、在选择候选声音片段阶段优化语料库。方式一中,增加训练语料,即增加发音相同的声音片段的候选单元的基数。例如,原始语料库是根据发音人对1万个样本文本的录音的得到的,语料库优化过程中,可以再增加2000个样本文本,使得同一个文本片段对应的候选声音片段增多。再如,针对某个发音错误,删除同类的大批建库语料,从而减少命中该声音片段的概率。方式二中,基于波形拼接的语音合成过程中,合成算法主要包括预选算法和动态规划算法。针对某个文本片段,对预选算法进行改进,使得得分较低的声音片段在选择候选声音片段阶段被提前删除;对动态规划算法进行改进,从而对候选声音片段之间的目标代价以及连接代价权重进行微调以命中不同的声音片段。
[0058] 上述方式一中,通过叠加训练语料对语料库进行修改,或者,通过删除训练语料的方式对语料库进行优化。该种方式周期较长,且删除语料的过程中容易发生删除较优语料保留较差语料的现象,即容易发生删除较优的声音片段、保留较差的声音片段的现象。另外,方式一中,训练出的新的语料库并不能保证100%避免瑕疵音。同时,随着语料库的数据量的增大,无效声音片段增多,语料库冗余,影响命中高频声音片段的概率。
[0059] 上述方式二中,由于是对合成算法进行改进,过程复杂、且成本高。而且,针对某个文本片段调整算法后,对其他文本片段选择最优声音片段时,可能会导致选择出的声音片段不是最优声音片段的现象。
[0060] 有鉴于此,本发明实施例提供一种语料库优化方法及装置,出现瑕疵音时,根据位置信息,确定出瑕疵音对应的声音片段,将该声音片段标记为非法声音片段,避免后续合语音合成时使用瑕疵音对应的声音片段进行语音合成,实现提高语音合成准确性的目的。下面,对本发明实施例所述的语料库优化方法进行详细说明。示例性的,可参见图1。
[0061] 图1为本发明实施例提供的一种语料库优化方法的流程图。本实施例的执行主体是电子设备,电子设备上设置有语料库优化装置,该装置可以通过软件、硬件或者软硬件结合的方式实现,该装置可以是电子设备的部分或者全部。如图1所示,本实施例包括:
[0062] 101、从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,所述第一音频是对第一文本进行波形拼接得到的。
[0063] 本发明实施例中,瑕疵音是发音不准的声音。例如,发音人口齿不清的发音或音调不准的发音。第一音频是电子设备对第一文本采用基于波形拼接的方法进行语音合成得到。第一文本包含多个文本片段,语音合成过程中,电子设备从语料库中为每个文本片段选择最优声音片段,然后将各个最优声音片段拼接起来,得到第一音频。
[0064] 本步骤中,针对出现瑕疵音的第一音频,从语料库中确定出该瑕疵音对应的第一声音片段。例如,第一文本包含一句“我是超人”为例,则语音合成过程中,将“我是超人”分解出“我”、“是”、“超人”,针对“我”、“是”、“超人”分别选择最优声音片段,然后将“我”、“是”、“超人”的最优声音片段拼接起来,得到最终的第一音频。假设第一音频中出现瑕疵音,如“四”,实际发音应该是“是”,则电子设备从语料库中确定出“四”对应的第一声音片段,该第一声音片段即为确定最优声音片段过程中,针对“是”确定出的声音片段。
[0065] 102、将所述第一声音片段标记为非法声音片段,所述非法声音片段为语音合成过程中不会命中的声音片段。
[0066] 在确定出第一声音片段后,将该第一声音片段标记为非法声音片段。例如,将该第一声音片段标记为负向标签(tag),由于被标记了负向tag的声音片段是瑕疵音对应的声音片段,因此,该些被标记负向tag的声音片段具有发音质量差、声音不饱满、发音不准等特征。同时,将合成第一音频的过程中用到的其他最优声音片段标记为正向tag,相较于标记为负向tag的声音片段,该些被标记正向tag的声音片段具有发音质量高、声音饱满或发音准确等特征。
[0067] 本发明实施例中,通过多次标记,从而对语料库中所有的声音片段都打上标签。如此一来,语料库中存在至少两种声音片段,一种是标记为正向tag的声音片段,另一种是标记为负向tag的声音片段。另外,语料库中还存在未标记的声音片段等。后续利用该语料库进行语音合成的过程中,选择候选声音片段时,优选从标记为正向tag的声音片段中选择候选声音片段。由于正向tag的声音片段具有发音质量高、声音饱满或发音准确等特征,因此,根据正向tag的声音片段合成音频时可以避免瑕疵音。
[0068] 本发明实施例提供的语料库优化方法,对于第一音频中的瑕疵音,从语料库中确定出该瑕疵音对应的第一声音片段,然后将语料库中的第一声音片段标记为非法声音片段,后续合成音频的过程中,仅从语料库中合法声音片段中选择候选声音片段,进而从候选声音片段中选择出最优声音片段,对最优声音片段进行波形拼接得到合成音频。该过程中,通过对语料库中的声音片段进行标记实现对语料库的优化,无需修改代码,优化过程简单且成本低。另外,基于优化的语料库合成语音时,选择候选声音片段时,仅从标记为正向tag的声音片段中选择候选声音片段。由于正向tag的声音片段具有发音质量高、声音饱满或发音准确等特征,因此,根据正向tag的声音片段合成音频时可以避免瑕疵音。
[0069] 下面,对上述实施例中,如何合成第一音频进行详细说明。
[0070] 一种可行的实现方式中,从语料库中确定出第一音频中的瑕疵音对应的第一声音片段之前,还包括:根据第一文本片段,从所述语料库中确定出所述第一声音片段,所述第一文本片段包含在所述第一文本中;确定所述第一声音片段在所述语料库中的位置,得到位置信息;对所述第一声音片段进行波形拼接,得到所述第一音频。
[0071] 示例性的,第一文本包含多个文本片段,合成第一音频的过程中,对于多个文本片段中的每一个文本片段,从语料库中选择最优音频片段。以多个文本片段中的第一文本片段为例,针对该第一文本片段,从语料库中确定出多个候选声音片段,然后根据合成算法从多个候选声音片段中确定出第一声音片段,该第一声音片段即为多个候选声音片段中的最优声音片段。最后,将第一声音片段与其他文本片段对应的最优声音片段进行波形拼接,得到第一音频。合成过程中,确定第一声音片段在语料库中的位置,得到位置信息,将该位置信息记录在日志中。
[0072] 本实施例中,实现根据第一文本合成第一音频的同时,记录第一声音片段的位置的目的。
[0073] 下面,对上述实施例中的位置信息进行详细说明。
[0074] 一种可行的实现方式中,所述位置信息包括下述信息中的至少一个:所述第一声音片段的文本编号、所述第一声音片段的音节编号、所述第一声音片段的音素编号、所述第一声音片段的音频偏移。
[0075] 示例性的,对于一个第一声音片段,上述的位置信息可以是该第一声音片段对应的第一文本片段在语料库中的文本编号、音节编号,或者,该第一声音片段在训练语料文本对应音节中的因素编号以及在语料库中的音频偏移等。通过将上述的位置信息记录在日志中,使得日志中保存第一声音片段的所有信息。当出现瑕疵音时,根据位置信息在语料库中追踪第一声音片段。
[0076] 本实施例中,通过在日志中记录第一声音片段的位置信息,使得出现瑕疵音时,根据位置信息对声音片段进行追踪,进而将声音片段标记为负向tag。该过程中,实现记录第一声音片段的位置并根据位置信息追踪第一声音片段的目的。
[0077] 上述实施例中,第一声音片段是多个候选声音片段中的最优声音片段,位置信息是第一声音片段的位置信息。然而,本发明实施例并不限制,在其他可行的实现方式中,也可以记录多个候选声音片段的位置信息。
[0078] 下面,对如何从语料库中确定出第一声音片段进行详细说明。
[0079] 一种可行的实现方式中,所述根据第一文本片段,从所述语料库中确定出所述第一声音片段,包括:根据所述第一文本片段,从所述语料库中确定出N个候选声音片段,从所述N个候选声音片段中确定出所述第一声音片段。
[0080] 示例性的,合成第一音频的过程中,针对第一文本片段,利用合成算法从语料库中选择出N个候选声音片段,其中,N≥1且为整数。然后,对该N个候选声音片段进行最优路径规划,从中选择出最优声音片段,该最优声音片段即为上述的第一声音片段。
[0081] 本实施例中,实现从语料库中选择出第一声音片段的目的。
[0082] 下面,以对第一文本进行语音合成为例,对上述实施例中,对语料库进行优化后,如何利用优化后的语料库合成语音进行详细说明。
[0083] 一种可行的实现方式中,所述将所述第一声音片段标记为非法声音片段之后,还包括:从所述N个候选声音片段中选择出第二声音片段,所述第一声音片段和所述第二声音片段是所述N个候选声音片段中不同的声音片段;对所述第二声音片段进行波形拼接,得到第二音频。
[0084] 示例性的,当第一次合成过程中,即合成第一音频的过程中,记录了N个候选声音片段的位置信息时,对第一文本再次进行语音合成时,根据N-1个位置信息,确定出N-1个候选声音片段,从N-1个候选声音片段中选择一个最优的声音片段,该最优的声音片段即为第二声音片段。然后,将第二声音片段与其他文本片段对应的最优声音片段进行波形拼接,得到第二音频。其中,相较于上述的N个候选声音片段,该N-1个候选声音片段不包含第一声音片段。本实施例中,通过从N-1个候选声音片段中选择第二声音片段,选择范围较小,因此耗费的时间较少。
[0085] 另一种可行的实现方式中,所述将所述第一声音片段标记为非法声音片段之后,还包括:从所述语料库包含的合法声音片段中选择出第二声音片段;对所述第二声音片段进行波形拼接,得到第二音频。
[0086] 示例性的,当第一次合成过程中,即合成第一音频的过程中,仅记录第一声音片段的位置信息时,对第一文本再次进行语音合成时,针对第一文本片段,从语料库包含的合法声音片段中选择出多个候选声音片段,从多个候选声音片段中选择一个最优的声音片段,该最优的声音片段即为第二声音片段。然后,将第二声音片段与其他文本片段对应的最优声音片段进行波形拼接,得到第二音频。相较于上述的从N-1个候选声音片段中选择第二声音片段而言,本实施例中是从语料库中包含的合法声音片段中选择第二声音片段,选择范围较大,准确性高。
[0087] 下面,用一个具体的例子,对上述的语料库优化方法进行详细说明。示例性的,上述的语料库优化方法包括三个阶段:位置信息记录阶段、语料库优化阶段和基于优化后的语料库合成音频的阶段。
[0088] 第一阶段、位置信息记录阶段。
[0089] 示例性的,可参见图2和图3,图2是本发明实施例提供的一种语料库优化方法中记录位置信息的过程示意图,图3是本发明实施例提供的一种语料库优化方法中记录位置信息的流程图。图3包括如下步骤:
[0090] 201、准备训练数据。
[0091] 本发明实施例中,训练数据包括两部分:声学数据和标注数据,声学数据是从语料库中提取出的,包括谱和基频等;标注数据包括声音片段的切分信息以及文本的韵律信息等,是通过人工标注的。
[0092] 202、对训练数据进行训练,训练出隐马尔科夫模型。
[0093] 本步骤中,对准备好的训练数据进行训练,迭代出隐马尔可夫(Hidden Markov Model,HMM)模型,获得包括基频和频谱等信息的模型集以及各个模型的决策树。训练过程中,需要加入上下文属性和问题集。
[0094] 203、对待合成文本进行分析,根据分析结果进行HMM预测,生成声学参数。
[0095] 本步骤也可以理解为语音生成预测阶段。本步骤中,对待合成文本进行分析,得到包含韵律信息等的分析结果。然后,根据分析结果进行HMM预测,生成声学参数,声学参数包括谱和基频等。
[0096] 204、预选候选声音片段,并基于声学参数针对候选声音片段计算目标代价和链接代价。
[0097] 本步骤中,选择出候选声音片段后,以预测得到的声学参数为指导,计算该些候选声音片段的目标代价和链接代价。
[0098] 205、根据动态规划算法完成最优声音片段的选择。
[0099] 本步骤中,根据候选声音片段的目标代价和链接代价,利用动态规划算法从候选声音片段中选择出最优声音片段。
[0100] 206、记录最优声音片段的位置信息。
[0101] 本步骤中,将最优声音片段的位置信息记录在日志中。位置信息包括最优声音片段的文本编号、音节编号、音素编号或音频偏移等。本步骤中,可以记录一个最优声音片段的位置信息,也可以记录多个候选声音片段中,排名靠前的N个候选声音片段的位置信息。
[0102] 207、对最优声音片段进行调整,对调整后的声音片段进行波形拼接,得到合成音频。
[0103] 本步骤中,调整最优声音片段的音量、语速等。然后,对调整后的声音片段进行波形拼接,得到合成音频。
[0104] 第二阶段:语料库优化阶段。
[0105] 示例性的,可参见图4和图5,图4是本发明实施例提供的一种语料库优化方法的过程示意图,图5是本发明实施例提供的一种语料库优化方法中标记声音片段的流程图。图5包括如下步骤:
[0106] 301、接收优化请求。
[0107] 请参照图4,语料库优化过程中,语音合成装置接收优化请求,输出第一音频。
[0108] 302、检测该第一音频中是否存在瑕疵音,若第一音频中存在瑕疵音,则执行303;若第一音频中不存在瑕疵音,则返回步骤302,继续检测第一音频或语音合成装置后续输出的音频中是否存在瑕疵音。
[0109] 本步骤,可以预先训练瑕疵音检测模型,通过瑕疵音检测模型检测第一音频中是否存在瑕疵音,也可以通过人工方式检测第一音频中是否存在瑕疵音。
[0110] 303、确定瑕疵音对应的第一声音片段。
[0111] 本步骤中,根据日志记录的位置信息,从语料库中确定出瑕疵音对应的第一声音片段,判断该第一声音片段是否为发音有问题的声音片段,若是,则将该第一声音片段标记为负向tag;若该第一声音片段不是发音有问题的声音片段,则不对该第一声音片段进行标记。同时,将合成第一音频的过程中用到的其他最优声音片段标记为正向tag。对声音片段进行标记后,将标记结果记录在日志中。
[0112] 304、输出日志,并基于日志重新建立语料库。
[0113] 本步骤中,根据日志重新建立语料库,建立过程中,删除标记为负向tag的声音片段,保留标记为正向tag的声音片段。后续利用该语料库进行语音合成的过程中,选择候选声音片段时,优选从标记为正向tag的声音片段中选择候选声音片段。由于正向tag的声音片段具有发音质量高、声音饱满或发音准确等特征,因此,根据正向tag的声音片段合成音频时可以避免瑕疵音。
[0114] 本发明实施例中,除了可以通过从语料库中删除标记为负向tag的声音片段以重建语料库外,还可以根据日志,从语料库确定出适用频次较低的声音片段,将该些声音片段从语料库中删除,从而重建语料库。示例性的,可参见图6和图7,图6是本发明实施例提供的另一种语料库优化方法的过程示意图,图7是本发明实施例提供的一种语料库优化方法中删除使用频次较少的声音片段的流程图。图7包括如下步骤:
[0115] 401、接收优化请求。
[0116] 请参照图4,语料库优化过程中,语音合成装置接收优化请求,输出日志,该日志中记录了位置信息、标记为正向tag的声音片段的身份标识、标记为负向tag的声音片段的身份标识、声音片段的使用频次等。
[0117] 402、根据日志,统计声音片段的使用频次。
[0118] 403、判断是否存在使用频次低于阈值的声音片段,若存在,则执行404,若不存在,则返回402,继续判断下一个声音片段的使用频次是否低于阈值。
[0119] 404、从语料库中删除使用频次低于阈值的声音片段。
[0120] 本实施例中,根据大量的日志进行统计分析,将语料库中极少使用到的声音片段删除,降低语音合成装置运行时占用的内存,同时,减少了语料库中声音片段的数量,缩短语音合成时间,且可以避免不必要的声音片段对语音合成的影响。
[0121] 第三阶段:语料库优化阶段和基于优化后的语料库合成音频的阶段。
[0122] 示例性的,可参见图8和图9,图8是本发明实施例提供的一种语料库优化方法的过程示意图,图9是本发明实施例提供的一种语料库优化方法中标记声音片段的流程图。图9包括如下步骤:
[0123] 501、接收合成请求。
[0124] 502、从语料库中标记为正向tag的声音片段中选择候选声音片段。
[0125] 503、从候选声音片段中选择出最优声音片段。
[0126] 504、对最优声音片段进行波形拼接得到合成音频。
[0127] 下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0128] 图10为本发明实施例提供的一种语料库优化装置的结构示意图,该语料库优化装置可以通过软件和/或硬件的方式实现。如图10所示,语料库优化装置100包括:
[0129] 处理模块11,用于从语料库中确定出第一音频中的瑕疵音对应的第一声音片段,所述第一音频是对第一文本进行波形拼接得到的;
[0130] 标记模块12,用于将所述第一声音片段标记为非法声音片段,所述非法声音片段为语音合成过程中不会命中的声音片段。
[0131] 图11为本发明实施例提供的另一种语料库优化装置的结构示意图,本实施例提供的语料库优化装置在上述图10的基础上,进一步的,还包括:
[0132] 拼接模块14,用于在所述处理模块11从语料库中确定出第一音频中的瑕疵音对应的第一声音片段之前,根据第一文本片段,从所述语料库中确定出所述第一声音片段,所述第一文本片段包含在所述第一文本中;确定所述第一声音片段在所述语料库中的位置,得到位置信息;对所述第一声音片段进行波形拼接,得到所述第一音频。
[0133] 一种可行的实现方式中,所述处理模块11,具体用于根据所述瑕疵音对应的第一声音片段的所述位置信息,从所述语料库中确定出所述第一声音片段。
[0134] 一种可行的实现方式中,所述处理模块11,具体用于根据所述第一文本片段,从所述语料库中确定出N个候选声音片段,N≥1,且为整数;从所述N个候选声音片段中确定出所述第一声音片段。
[0135] 一种可行的实现方式中,所述拼接模块14,在所述标记模块12将所述第一声音片段标记为非法声音片段之后,还用于从所述N个候选声音片段中选择出第二声音片段,所述第一声音片段和所述第二声音片段是所述N个候选声音片段中不同的声音片段;对所述第二声音片段进行波形拼接,得到第二音频。
[0136] 一种可行的实现方式中,所述位置信息包括下述信息中的至少一个:所述第一声音片段的文本编号、所述第一声音片段的音节编号、所述第一声音片段的音素编号、所述第一声音片段的音频偏移。
[0137] 一种可行的实现方式中,所述拼接模块14,在所述标记模块12将所述第一声音片段标记为非法声音片段之后,还用于根据所述第一文本,从所述语料库包含的合法声音片段中确定第三声音片段;对所述第三声音片段进行波形拼接,得到第三合成音频。
[0138] 一种可行的实现方式中,所述处理模块11,在所述标记模块12将所述第一声音片段标记为非法声音片段之后,还用于从所述语料库中删除所述非法声音片段。
[0139] 本发明实施例提供的语料库优化装置,其实现原理和技术可参见上述方法实施例,在此不再赘述。
[0140] 图12为本发明实施例提供的电子设备的结构示意图。如图12所示,该电子设备200包括:
[0141] 至少一个处理器21和存储器22;
[0142] 所述存储器22存储计算机执行指令;
[0143] 所述至少一个处理器21执行所述存储器22存储的计算机执行指令,使得所述至少一个处理器21执行如上所述的语料库优化方法。
[0144] 处理器21的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0145] 可选地,该电子设备200还包括通信部件23。其中,处理器21、存储器22以及通信部件23可以通过总线24连接。
[0146] 本发明实施例还提供一种存储介质,所述存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的语料库优化方法。
[0147] 本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述语料库优化方法。
[0148] 在上述的实施例中,应该理解到,所描述的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0149] 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0150] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0151] 上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。
[0152] 应理解,上述处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0153] 存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
[0154] 总线可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extended Industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
[0155] 上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0156] 一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于终端或服务器中。
[0157] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0158] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。