用于语音合成的多发音训练方法、语音合成方法与装置与流程

文档序号:17779464发布日期:2019-05-28 20:43阅读:268来源:国知局
用于语音合成的多发音训练方法、语音合成方法与装置与流程

本发明涉及语音技术领域,尤其涉及一种用于语音合成的多发音训练方法、语音合成方法与装置。



背景技术:

tts(text-to-speech)技术是语音合成技术的一种,是一种输入语言文字数据,将其转换为语音的技术。随着近年人工智能技术的发展,端到端的tts技术在深度学习的框架下发展趋向成熟,基于深度学习的端到端tts模型主要有以谷歌为代表的tacotron系列与以百度为代表的deepvoice系列。端到端模型的优点是可以直接从长语音中训练,不需要繁杂的人工修正工作,然而,这种模型仍需进行人工的文本标注工作获取正确的<文本,音频>对;同时在合成具有发音人单个发音特点的语音时需要发音人的音频数据通常达数小时或数十小时,这样,在构建多发音特点的语音合成时则需要大量的录制成本。



技术实现要素:

本发明的目的是提供一种用于语音合成的多发音训练方法、语音合成方法与装置,在进行语音训练时可以省去人工文本标注工作以及在合成多发音特点的语音时减少音频数据的录制成本。

本发明实施例提供了一种用于语音合成的多发音训练方法,包括:

对采集的初始音频数据进行重采样处理,获取重采样音频数据;

对所述重采样音频数据进行切割处理,获取若干种切割音频数据;

对每一种切割音频数据进行文本识别处理,获取每一种切割音频数据对应的若干个文本数据,得到若干对文本音频对;其中,所述文本数据包括中文文本数据和英文文本数据;

对所有文本音频对进行识别比较处理,获取正确的文本音频对;

对所述正确的文本音频对进行特征提取处理,获取训练语料参数;

通过预设的深度神经网络模型对所述训练语料参数进行训练,生成多维度的训练语料数据;其中,一个维度的训练语料数据对应发音人的一个发音特点信息。

优选地,所述对采集的初始音频数据进行重采样处理,获取重采样音频数据,具体包括:

对采样率高的初始音频数据进行下采样处理,获取第一采样音频数据;

对采样率低的初始音频数据进行上采样处理,获取第二采样音频数据;

其中,所述第一采样音频数据和所述第二采样音频数据的采样率一致。

优选地,所述对所述重采样音频数据进行切割处理,获取若干种切割音频数据,具体包括:

通过预设若干种参数的音频分割器,对所述重采样音频数据进行切割处理,获取相对应的若干种切割音频数据。

优选地,所述对每一种切割音频数据进行文本识别处理,获取每一种切割音频数据对应的若干个文本数据,得到若干对文本音频对;其中,所述文本数据包括中文文本数据和英文文本数据;具体包括:

通过预设若干种参数的语音识别器,对每一种切割音频数据进行文本识别处理,获取每一种切割音频数据对应的若干个文本数据。

优选地,所述对所有文本音频对进行识别比较处理,获取正确的文本音频对,具体包括:

通过pypinyin包将同一切割音频数据的所有中文文本数据转化为拼音文本数据,并判断所述拼音文本数据是否相同,若相同,则对应的切割音频数据的文本音频对识别准确;

通过英文单词音素表对同一切割音频数据的所有英文文本数据进行查询并判断所述英文文本数据的音素是否相同,若相同,则对应的切割音频数据的英文音频对识别准确。

本发明实施例还提供了一种用于语音合成的多发音训练装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的用于语音合成的多发音训练方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的用于语音合成的多发音训练方法。

本发明实施例还提供了一种使用了如上述的用于语音合成的多发音训练方法的语音合成方法,包括:

随机选取所述多维度的训练语料数据中若干个训练语料数据,并计算选取的若干个训练语料数据与所述多维度的训练语料数据的t-sne距离;

选取t-sne距离最小的训练语料数据作为语音合成的发音特点参数;

获取待合成文本数据,并将所述待合成文本数据和所述发音特点参数进行语音合成处理,得到待合成文本数据对应的语音合成结果。

本发明实施例还提供了一种使用了如上述的用于语音合成的多发音训练方法的语音合成装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的语音合成方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的语音合成方法。

相对于现有技术,本发明提供的一种用于语音合成的多发音训练方法、语音合成方法的有益效果在于:

本发明实施例提供的一种用于语音合成的多发音训练方法,通过对初始音频数据进行切割、文本识别和文本音频对识别比较处理,获取正确的文本音频对,能够省去人工文本标注工作,有效地提高工作效率和文本音频对的识别准确率。

本发明实施例提供的一种语音合成方法,通过在经过语音训练获取的多维度的训练语料数据中随机选取若干个训练语料数据,并通过计算选取的若干个训练语料数据与所述多维度的训练语料数据的t-sne距离确定语音合成的发音特点参数,从而根据待合成文本数据和发音特点参数进行语音合成处理,得到待合成文本数据对应的语音合成结果,有效地减少音频数据的录制成本以及额外训练成本。

附图说明

图1是本发明实施例提供的一种用于语音合成的多发音训练方法的流程示意图;

图2是本发明实施例提供的一种语音合成方法的流程示意图。

具体实施方式

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

请参见图1,其是本发明实施例提供的一种用于语音合成的多发音训练方法的流程示意图,包括:

s101:对采集的初始音频数据进行重采样处理,获取重采样音频数据;

s102:对所述重采样音频数据进行切割处理,获取若干种切割音频数据;

s103:对每一种切割音频数据进行文本识别处理,获取每一种切割音频数据对应的若干个文本数据,得到若干对文本音频对;其中,所述文本数据包括中文文本数据和英文文本数据;

s104:对所有文本音频对进行识别比较处理,获取正确的文本音频对;

s105:对所述正确的文本音频对进行特征提取处理,获取训练语料参数;

s106:通过预设的深度神经网络模型对所述训练语料参数进行训练,生成多维度的训练语料数据;其中,一个维度的训练语料数据对应发音人的一个发音特点信息。

在本实施例中,通过对初始音频数据进行切割、文本识别和文本音频对识别比较处理,获取正确的文本音频对,能够省去人工文本标注工作,有效地提高工作效率和文本音频对的识别准确率。

在一种可选的实施例中,s101:对采集的初始音频数据进行重采样处理,获取重采样音频数据,具体包括:

对采样率高的初始音频数据进行下采样处理,获取第一采样音频数据;

对采样率低的初始音频数据进行上采样处理,获取第二采样音频数据;

其中,所述第一采样音频数据和所述第二采样音频数据的采样率一致。

在本实施例中,主要是通过重采样器将不同采样率的初始音频数据重新采样为统一采样率的音频数据。

在一种可选的实施例中,s102:对所述重采样音频数据进行切割处理,获取若干种切割音频数据,具体包括:

通过预设若干种参数的音频分割器,对所述重采样音频数据进行切割处理,获取相对应的若干种切割音频数据。

在本实施例中,例如使用了m种预设参数的音频分割器对重采样音频数据进行切割处理,这样可得到不同切割参数的m种切割音频数据,其中由于音频分割器预设的参数不同,得到的切割音频数据的平均时长也会不一样,这样会扩增训练数据,降低训练成本。其中音频分割器预设参数有hop_length、win_length、threshold、min_duration等参数,通过预设这4个参数不同的值,得到的切割音频数据平均时长不同,如1秒、2秒...4秒等切割,首先对重采样音频数据进行stft(短时傅里叶变换)处理,stft(短时傅里叶变换)处理所需的参数为hop_length与win_length,这两个参数决定了stft(短时傅里叶变换)处理的精度,进行stft(短时傅里叶变换)之后,得到win_length长度的切割音频数据片段的stft系数,再计算每段win_length长度的stft系数的db值,设定threshold,若db值低于设定threshold,则认为该段切割音频数据是静默语音;按hop_length对win_length长度的切割音频数据片段进行推移并重复上述计算db值。min_duration是低于设定threshold的语音最少持续长度,如一段语音中有0.3秒db值低于设定threshold,而设定的min_duration为0.5秒,则不对其进行分割,反之,若设定的min_duration为0.2秒,则对其进行分割。显然,对于这四种参数的设定不同,分割器会进行不同的分割,导致平均时长不同。

同时,音频分割器在对重采样音频数据进行切割时,会记录每段切割音频数据对应的初始音频数据位置,在后续操作中如果需要使用初始音频数据作为训练数据时,方便调出来使用,同时为语音合成提供更好的训练数据,提高语音合成效果。

在一种可选的实施例中,s103:对每一种切割音频数据进行文本识别处理,获取每一种切割音频数据对应的若干个文本数据,得到若干对文本音频对;其中,所述文本数据包括中文文本数据和英文文本数据,具体包括:

通过预设若干种参数的语音识别器,对每一种切割音频数据进行文本识别处理,获取每一种切割音频数据对应的若干个文本数据。

在本实施例中,通过预设若干种参数的语音识别器对切割音频数据进行文本识别处理,主要是为了获取同一切割音频数据的若干个文本数据,得到若干对文本音频对,使用多个语音识别器有效地降低文本音频对的误判率,且不需要人工标注,降低数据获取成本。

在一种可选的实施例中,s104:对所有文本音频对进行识别比较处理,获取正确的文本音频对,具体包括:

通过pypinyin包将同一切割音频数据的所有中文文本数据转化为拼音文本数据,并判断所述拼音文本数据是否相同,若相同,则对应的切割音频数据的文本音频对识别准确;

通过英文单词音素表对同一切割音频数据的所有英文文本数据进行查询并判断所述英文文本数据的音素是否相同,若相同,则对应的切割音频数据的英文音频对识别准确。

在本实施例中,一般获取的初始音频数据可以为中文初始音频数据和英文初始音频数据,故在文本识别时,语音识别器输出的文本数据可能存在中文文本数据和英文文本数据,在文本音频对识别比较处理过程中,只有当同一切割音频数据对应的文本数据全部一致时,才可认为语音识别器输出的文本数据准确。

在一种可选的实施例中,s105:对所述正确的文本音频对进行特征提取处理,获取训练语料参数。

在本实施例中,所述训练语料参数包括发音人的音素、频谱、语速、发音人id等等,其中,音素主要是根据文本音频对中的文本数据进行特征提取,频谱主要是对文本音频对中的音频进行stft方法计算得出,所述频谱可以为梅尔频谱或线性频谱。

在一种可选的实施例中,s106:通过预设的深度神经网络模型对所述训练语料参数进行训练,生成多维度的训练语料数据;其中,一个维度的训练语料数据对应发音人的一个发音特点信息。

在本实施例中,所述预设的深度神经网络模型主要包括编码器模块,解码器模块和发音特点控制模块,组成的深度神经网络经过训练后,发音特点控制模块将会学习出多维度的训练语料数据。

本发明实施例还提供了一种用于语音合成的多发音训练装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的用于语音合成的多发音训练方法。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述用于语音合成的多发音训练装置中的执行过程。

所述用于语音合成的多发音训练装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述用于语音合成的多发音训练装置可包括,但不仅限于,处理器、存储器,还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述用于语音合成的多发音训练装置的控制中心,利用各种接口和线路连接整个用于语音合成的多发音训练装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述用于语音合成的多发音训练装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述用于语音合成的多发音训练装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的用于语音合成的多发音训练方法。

请参阅图2,其是本发明实施例提供的语音合成方法的流程示意图,所述语音合成方法使用了如上述的用于语音合成的多发音训练方法,包括:

s201:随机选取所述多维度的训练语料数据中若干个训练语料数据,并计算选取的若干个训练语料数据与所述多维度的训练语料数据的t-sne距离;

s202:选取t-sne距离最小的训练语料数据作为语音合成的发音特点参数;

s203:获取待合成文本数据,并将所述待合成文本数据和发音特点参数进行语音合成处理,得到待合成文本数据对应的语音合成结果。

在本实施例中,通过在经过语音训练获取的多维度的训练语料数据中随机选取若干个训练语料数据,并通过计算选取的若干个训练语料数据与所述多维度的训练语料数据的t-sne距离确定语音合成的发音特点参数,从而根据待合成文本数据和发音特点参数进行语音合成处理,得到待合成文本数据对应的语音合成结果,有效地减少音频数据的录制成本以及额外训练成本。其中t-sne是一种用于降维的机器学习算法;将所述待合成文本数据和发音特点参数进行语音合成处理,主要是通过语音合成器进行语音合成处理,可选griffin-lim合成器或waveglow合成器。

本发明实施例还提供了一种使用了如上述的用于语音合成的多发音训练方法的语音合成装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的语音合成方法。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述语音合成装置中的执行过程。

所述语音合成装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述语音合成装置可包括,但不仅限于,处理器、存储器,还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述语音合成装置的控制中心,利用各种接口和线路连接整个语音合成装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述语音合成装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述语音合成装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的语音合成方法。

相对于现有技术,本发明提供的一种用于语音合成的多发音训练方法、语音合成方法的有益效果在于:

本发明实施例提供的一种用于语音合成的多发音训练方法,通过对初始音频数据进行切割、文本识别和文本音频对识别比较处理,获取正确的文本音频对,能够省去人工文本标注工作,有效地提高工作效率和文本音频对的识别准确率。

本发明实施例提供的一种语音合成方法,通过在经过语音训练获取的多维度的训练语料数据中随机选取若干个训练语料数据,并通过计算选取的若干个训练语料数据与所述多维度的训练语料数据的t-sne距离确定语音合成的发音特点参数,从而根据待合成文本数据和发音特点参数进行语音合成处理,得到待合成文本数据对应的语音合成结果,有效地减少音频数据的录制成本以及额外训练成本。

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

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