语音合成中预测基频帧的方法及***
技术领域
本发明涉及语音合成领域,特指一种语音合成中预测基频帧的方法及***。
背景技术
语音合成是指将输入的文本信息转化为声音的***,语音合成***分为两个模块,前端处理模块和后端模块。在前端中对文本进行分析,输出带有发音以及分词、词性等和韵律停顿相关的信息。后端模块利用前端模块的输出信息和原始语音提出的特征,分别训练倒谱模型,基频模型和时长模型。
为了描述方便,含有基频信息的语音特征帧称之为基频帧,不含基频信息的语音特征帧称之为非基频帧。在合成时,合成***的后端模块中需要对当前语音特征帧(帧长一般为5ms)是否是基频帧做出预测。基频帧其预测的数值接近于1,非基频帧其预测的数值接近于0。现有的做法是采取固定的阈值判断,典型的阈值为0.5,预测值高于阈值0.5,***判断为基频帧,预测值低于阈值0.5,***判断为非基频帧。
这种判断方式,在两个音素的边界点处的准确率较低,而将基频帧误判为非基频帧会导致相应的语音听起来不连续和沙哑,合成***语音的自然度较差,效果不佳。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种语音合成中预测基频帧的方法及***,解决现有技术中基频帧的判断准确率低,使得合成后的语音存在发音不连续、沙哑、和自然度较差的问题。
实现上述目的的技术方案是:
本发明一种语音合成中预测基频帧的方法,包括:
输入待合成语音的文本信息;
将所述文本信息转化为语音特征帧序列;
预测所述语音特征帧序列中的每一语音特征帧是否为基频帧,以形成基频预测结果;
将所述文本信息转化为音素信息序列;
判断所述音素信息序列中每一音素是否为含基频信息音素,以形成辅助信息,每一音素对应多个语音特征帧;以及
将所述音素信息序列与所述语音特征帧序列相对应,并根据所述辅助信息修正所述基频预测结果以形成语音特征帧是否含有基频信息的结果。
本发明从输入的文本信息中提取音素信息,利用音素信息是否带基频作为辅助信息,对基频预测结果进行修正,实现提高基频帧预测的准确率,进而提高合成后的语音的自然度,优化声音效果。
本发明语音合成中预测基频帧的方法的进一步改进在于,预测所述语音特征帧序列中的每一语音特征帧是否为基频帧,以形成基频预测结果,包括:
计算每一语音特征帧是否为基频帧的概率,形成对应所述语音特征帧序列的概率序列;
设定预测阈值,将所述概率序列中高于所述预测阈值的概率所对应的语音特征帧判断为基频帧,将所述概率序列中低于所述预测阈值的概率所对应的语音特征帧判断为非基频帧,从而形成了对应所述语音特征帧序列的所述基频预测结果。
本发明语音合成中预测基频帧的方法的进一步改进在于,判断所述音素信息序列中每一音素是否为含基频信息音素,以形成辅助信息,包括:
将语言中的所有音素以是否带基频进行分类,形成含基频信息音素集合和无基频信息音素集合;
将所述音素信息序列中的每一音素与所述含基频信息音素集合和无基频信息音素集合进行比对,以得出所述音素是否为含基频信息音素,进而形成对应所述音素信息序列的辅助信息。
本发明语音合成中预测基频帧的方法的进一步改进在于,根据所述辅助信息修正所述基频预测结果以形成基频识别结果,包括:
获取所述辅助信息中的所有含基频信息音素;
获取所有含基频信息音素所对应的语音特征帧,对所获取的语音特征帧中为非基频帧的语音特征帧进行修正。
本发明语音合成中预测基频帧的方法的进一步改进在于,获取所有含基频信息音素所对应的语音特征帧,对所获取的语音特征帧中为非基频帧的语音特征帧进行修正,包括:
对每一含基频信息音素对应的语音特征帧所形成的语音特征帧范围进行位置划分,划分为前部位置、中部位置、以及后部位置;
判断当前的语音特征帧在对应的语音特征帧范围内的位置,若当前的语音特征帧在所述中部位置,则对当前的语音特征帧的基频预测结果不进行修正;
若当前的语音特征帧在所述前部位置,且在音素信息序列中与当前的语音特征帧所在的音素相邻的前一音素为含基频信息音素,则将当前语音特征帧修正为基频帧;
若当前的语音特征帧在所述后部位置,且在音素信息序列中与当前的语音特征帧所在的音素相邻的后一音素为含基频信息音素,则将当前语音特征帧修正为基频帧。
本发明还提供了一种语音合成中预测基频帧的***,包括:
文本输入模块,用于输入待合成语音的文本信息;
预测判断模块,与所述文本输入模块连接,用于将所述文本信息转化为语音特征帧序列,并预测所述语音特征帧序列中的每一语音特征帧是否为基频帧,以形成基频预测结果;
音素判断模块,与所述文本输入模块连接,用于将所述文本信息转化为音素信息序列,并判断所述音素信息序列中每一音素是否为含基频信息音素,以形成辅助信息;以及
基频修正模块,与所述预测判断模块和所述音素判断模块连接,用于将所述音素信息序列中的音素和所述语音特征帧序列中的语音特征帧相对应,并根据所述辅助信息修正所述基频预测结果以形成语音特征帧是否含有基频信息的结果,每一音素对应多个语音特征帧。
本发明语音合成中预测基频帧的***的进一步改进在于,所述预测判断模块中包括有计算子模块、存储子模块、以及判断子模块;
所述计算子模块用于将所述文本信息转化为语音特征帧序列,并计算每一语音特征帧是否为基频帧的概率以形成概率序列;
所述存储子模块内存储有设定的预测阈值;
所述判断子模块与所述计算子模块和所述存储子模块连接,用于比较对应所述语音特征帧的所述概率与所述预测阈值的大小,当所述语音特征帧对应的所述概率大于所述预测阈值时,判断所述语音特征帧为基频帧,当所述语音特征帧对应的概率小于所述预测阈值时,判断所述语音特征帧为非基频帧,以形成所述基频预测结果。
本发明语音合成中预测基频帧的***的进一步改进在于,所述音素判断模块中包括有含基频信息音素集合表、无基频信息音素集合表、以及音素处理子模块;
所述含基频信息音素集合表中存储有语言中所有带基频的音素;
所述无基频信息音素集合表中存储有语言中所有不带基频的音素;
所述音素处理子模块与所述含基频信息音素集合表和所述无基频信息音素集合表连接,用于将所述文本信息转化为音素信息序列,并将所述音素信息序列中的每一音素与所述含基频信息音素集合表和所述无基频信息音素集合表进行比对,若所述音素信息序列中的音素在所述含基频信息音素集合表中,则判断为含基频信息音素,若所述音素信息序列中的音素在所述无基频信息音素集合表中,则判断为无基频信息音素,进而形成了对应所述音素信息序列的所述辅助信息。
本发明语音合成中预测基频帧的***的进一步改进在于,所述基频修正模块包括有查找子模块和与所述查找子模块连接的基频处理子模块;
所述查找子模块用于获取所述辅助信息中的所有含基频信息音素,还用于获取对应所有含基频信息音素的语音特征帧;
所述基频处理子模块用于对所述查找子模块获取的所有语音特征帧中的非基频帧依据所述辅助信息进行修正。
本发明语音合成中预测基频帧的***的进一步改进在于,所述基频修正模块还包括动态切分子模块,所述动态切分子模块与所述查找子模块和所述基频处理子模块连接;
所述动态切分子模块用于对每一含基频信息音素对应的语音特征帧所形成的语音特征帧范围进行位置划分,划分形成前部位置、中部位置、以及后部位置;
所述基频处理子模块判断当前的语音特征帧在对应的语音特征帧范围内的位置,若当前的语音特征帧在所述中部位置,则对当前的语音特征帧的基频预测结果不进行修正;
若当前的语音特征帧在所述前部位置,且在音素信息序列中与当前的语音特征帧所在的音素相邻的前一音素为含基频信息音素,则将当前语音特征帧修正为基频帧;
若当前的语音特征帧在所述后部位置,且在音素信息序列中与当前的语音特征帧所在的音素相邻的后一音素为含基频信息音素,则将当前语音特征帧修正为基频帧。
附图说明
图1为本发明语音合成中预测基频帧的***的***图。
图2为本发明语音合成中预测基频帧的方法的流程图。
图3为本发明语音合成中预测基频帧的方法中修正基频预测结果的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提供了一种语音合成中预测基频帧的***及方法,用于解决现有的合成***中在音素边界点处的准确率低,将带基频的基频帧误判为不带基频的非基频帧,进而导致了语音听起来不连续和沙哑现象,合成语音的自然度较差,效果不佳的问题。本发明的语音合成中预测基频帧的***及方法的目的是提高语音合成***中预测基频帧的准确率,进而提高合成后语音的自然度,优化声音效果。本发明通过提取文本中的音素信息序列,获得音素是否带基频,基于音素和语音特征帧的映射关系获得音素对应的语音特征帧边界点,基于边界点和音素是否带基频对语音特征帧序列的判断做出修正。下面结合附图对本发明语音合成中预测基频帧的***及方法进行说明。
参阅图1,显示了本发明语音合成中预测基频帧的***的***图。下面结合图1,对本发明语音合成中预测基频帧的***进行说明。
如图1所示,本发明语音合成中预测基频帧的***包括文本输入模块21、预测判断模块22、音素判断模块23、以及基频修正模块24,文本输入模块21用于输入待合成语音的文本信息,预测判断模块22与文本输入模块21连接,接收到文本输入模块21输入的文本信息,该预测判断模块22用于将文本信息转化为语音特征帧序列,并预测该语音特征帧序列中每一语音特征帧是否为基频帧,以形成基频预测结果,将含有基频信息的语音特征帧称为基频帧,将不含有基频信息的语音特征帧称为非基频帧。音素判断模块23与文本输入模块21连接,接收到文本输入模块21输入的文本信息,该音素判断模块23用于将文本信息转化为音素信息序列,并判断音素信息序列中每一音素是否为含基频信息音素,以形成辅助信息。基频修正模块24与预测判断模块22和音素判断模块23连接,用于将音素信息序列中的音素和语音特征帧序列中的语音特征帧相对应,并根据辅助信息修正基频预测结果以形成语音特征帧是否含有基频信息的结果,每一音素对应多个语音特征帧。
本发明采用语音合成中预测基频帧的***通过音素判断模块从输入的文本信息中提取音素信息,利用音素信息是否为含基频信息音素形成辅助信息,对基频预测结果进行修正,进而提高基频预测的准确率,提高合成后语音的自然度,从而优化声音效果。
预测判断模块22中包括有计算子模块、存储子模块、以及判断子模块,计算子模块用于将文本信息转化为语音特征帧序列,并计算每一语音特征帧是否为基频帧的概率以形成概率序列,在存储子模块内存在有设定的预测阈值,判断子模块与计算子模块和存储子模块连接,判断子模块用于比较对应语音特征帧的概率与预测阈值的大小,当语音特征帧对应的概率大于预测阈值时,判断语音特征帧为基频帧,当语音特征帧对应的概率小于预测阈值时,判断语音特征帧为非基频帧,以形成基频预测结果。预测判断模块22中的计算子模块将文本信息转为为以帧长为5ms为一帧的语音特征帧序列,计算每一语音特征帧是否为基频帧的概率时,含有基频信息的语音特征帧预测的概率值接近于1,不含有基频信息的语音特征帧预测的概率值接近于0,通过计算子模块得到由所有基频帧的概率值组成的概率序列,该概率序列为接近于1和接近于0的多个数值组成。在存储子模块内的预测阈值设定为0.5,判断子模块对概率序列中的每一概率值与0.5进行比较,概率值高于0.5的语音特征帧判断为基频帧,概率值低于0.5的帧判断为非基频帧,这样就形成了基频帧预测结果。
通过预测判断模块22计算的基频帧预测结果在对于两个音素的边界点处的准确率较低,在将基频帧判断为非基频帧时,就会使得合成的语音听起来有不连续和沙哑的感觉,为纠正基频帧预测结果中被误判的基频帧,本发明提出了采用音素判断模块23对文本输入模块21提取音素信息,利用音素信息对被误判的基频帧进行纠正。具体地,该音素判断模块23包括有含基频信息音素集合表、无基频信息音素集合表、以及音素处理子模块,其中含基频信息音素集合表中存储有语言中所有带基频的音素,无基频信息音素集合表中存储有语言中所有不带基频的音素,在含基频信息音素集合表中存储的音素包括:a、ai、an、ang、ao、e、ei、en、eng、er、i、ia、ian、iang、iao、ie、ii、iii、in、ing、io、iong、iou、l、m、n、o、ong、ou、r、u、ua、uai、uan、uang、uei、uen、ueng、uo、v、van、ve、vn。在无基频信息音素集合表中存储的音素包括:sil、sp、b、c、ch、d、f、g、h、j、k、p、q、s、sh、t、x、z、zh。音素处理子模块与含基频信息音素集合表和无基频信息音素集合表连接,音素处理子模块将文本信息转化为音素信息序列,并将音素信息序列中的每一音素与含基频信息音素集合表和无基频信息音素集合表进行比对,若音素信息序列中的音素在无基频信息音素集合表中,则判断该音素为无基频信息音素,若音素信息序列中的音素在含基频信息音素集合表中,则判断该音素为含基频信息音素,含基频信息音素为带有基频信息的音素,无基频信息音素为不带有基频信息的音素,这样音素处理子模块对音素信息序列中所有音素均进行比对后,就形成了对应音素信息序列的辅助信息。辅助信息中对是否带音频的判断,在音素边界点的准确率高,以辅助信息修正预测判断模块所形成的基频预测结果,可以很好的解决预测判断模块所形成的基频预测结果中存在的基频帧判断准确率低的问题。
基频修正模块24包括有查找子模块和与查找子模块连接的基频处理子模块,查找子模块接收到音频判断模块23形成的辅助信息,用于获取辅助信息中的所有含基频信息音素,该查找子模块还接收预测判断模块22形成的语音特征帧序列,用于获取该语音特征帧序列中与含基频信息音素对应的所有语音特征帧,在查找子模块中设有音素信息序列中每个音素和语音特征帧序列中每个语音特征帧的对应关系,每个音素对应的语音特征帧的起始和结束的时间点,一个音素对应着多个语音特征帧。基频处理子模块用于对查找子模块获取的所有语音特征帧中的非基频帧依据辅助信息进行修正。对于语音特征帧中的基频帧不做处理,可以有效提高***的预测效率,另外将非基频帧误判为基频帧,在合成语音后对自然度的影响较小,不会出现沙哑和不连续的现象。
基频修正模块还包括动态切分子模块,该动态切分子模块与查找子模块和基频处理子模块连接,动态切分子模块用于对每一含基频信息音素对应的语音特征帧所形成的语音特征帧范围进行位置划分,划分形成前部位置、中部位置、以及后部位置,该动态切分子模块基于动态切分算法,对与一个含基频信息音素对应的语音特征帧所形成的语音特征帧范围进行位置区域的划分。基频处理子模块基于该动态切分子模块所划分的位置对查找子模块所获取的语音特征帧中的非基频帧进行修正处理,先判断当前语音特征帧在对应的语音特征帧范围内的位置,若当前的语音特征帧在中部位置,则对当前的语音特征帧的基频帧预测结果不进行修正,也就是该当前的语音特征帧仍为非基频帧。若当前的语音特征帧在前部位置,基频处理子模块判断在音素信息序列中与当前的语音特征帧所在的音素相邻的前一音素是否为含基频信息音素,若前一音素是含基频信息音素,则将当前语音特征帧修正为基频帧,若前一音素不是含基频信息音素,则对语音特征帧的基频帧预测结果不做修正处理。若当前的语音特征帧在后部位置,基频处理子模块判断在音素信息序列中与当前的语音特征帧所在的音素相邻的后一音素是否为含基频信息音素,若后一音素是含基频信息音素,则将当前语音特征帧修正为基频帧,若后一音素不是含基频信息音素,则对语音特征帧的基频帧预测结果不做修正处理。
下面对本发明一种语音合成中预测基频帧的方法进行说明。
如图2所示,本发明语音合成中预测基频帧的方法,包括如下步骤:
执行步骤S11,输入待合成语音的文本信息,接着执行步骤S12。
执行步骤S12,将文本信息转化为语音特征帧序列,语音特征帧的帧长一般为5ms。接着执行步骤S13。
执行步骤S13,预测每一语音特征帧是否为基频帧形成基频预测结果,通过计算每一语音特征帧是否是基频帧的概率,再根据设定阈值对语音特征帧判断为基频帧或者非基频帧。具体地包括如下步骤:计算每一语音特征帧是否为基频帧的概率,形成对应所述语音特征帧序列的概率序列;设定预测阈值,将概率序列中高于预测阈值的概率所对应的语音特征帧判断为基频帧,将所述概率序列中低于所述预测阈值的概率所对应的语音特征帧判断为非基频帧,从而形成了对应语音特征帧序列的基频预测结果。接着执行步骤S14。
执行步骤S14,将文本信息转化为音素信息序列,接着执行步骤S15。
执行步骤S15,判断每一音素是否为含基频信息音素形成辅助信息,将语言中所有音素以是否带基频进行分类,形成含基频信息音素集合和无基频信息音素集合;含基频信息音素集合中的音素包括:a、ai、an、ang、ao、e、ei、en、eng、er、i、ia、ian、iang、iao、ie、ii、iii、in、ing、io、iong、iou、l、m、n、o、ong、ou、r、u、ua、uai、uan、uang、uei、uen、ueng、uo、v、van、ve、vn。在无基频信息音素集合中的音素包括:sil、sp、b、c、ch、d、f、g、h、j、k、p、q、s、sh、t、x、z、zh。将音素信息序列中的每一音素与含基频信息音素集合和无基频信息音素集合进行比对,以得出所述音素是否为含基频信息音素,进而形成对应音素信息序列的辅助信息。接着执行步骤S16。
执行步骤S16,将音素与语音特征帧相对应,将音素信息序列中的每一音素与语音特征帧序列中的语音特征帧相对应,并根据辅助信息修正基频预测结果以形成基频识别结果。获取辅助信息中的所有含基频信息音素;获取所有含基频信息音素所对应的语音特征帧,对所获取的语音特征帧中为非基频帧的语音特征帧进行修正。包括:对每一含基频信息音素对应的语音特征帧所形成的语音特征帧范围进行位置划分,划分为前部位置、中部位置、以及后部位置,根据切分动态算法进行语音特征帧范围的切分;判断当前的语音特征帧在对应的语音特征帧范围内的位置,若当前的语音特征帧在所述中部位置,则对当前的语音特征帧的基频预测结果不进行修正;若当前的语音特征帧在所述前部位置,且在音素信息序列中与当前的语音特征帧所在的音素相邻的前一音素为含基频信息音素,则将当前语音特征帧修正为基频帧;若当前的语音特征帧在所述后部位置,且在音素信息序列中与当前的语音特征帧所在的音素相邻的后一音素为含基频信息音素,则将当前语音特征帧修正为基频帧。
在以辅助信息修正基频预测结果中,还可以通过以下方法来实现:
如图3所示,执行步骤S31,判断当前帧所在音素对应的状态位置,根据经切分的语音特征帧范围得到当前语音特征帧所在的位置,若当前语音特征帧在中部位置,则接着执行步骤S32。若当前语音特征帧在前部位置,则接着执行步骤S33。若当前语音特征帧在后部位置,则接着执行步骤S36。
执行步骤S32,对当前帧的预测结果不做处理。
执行步骤S33,判断当前帧所在音素是否带基频,即判断该音素是否为含基频信息音素,通过辅助信息可以知晓当前音素是否为含基频信息音素,若当前音素是含基频信息音素则接着执行步骤S34,若当前音素是无基频信息音素则接着执行步骤S32。
执行步骤S34,判断当前帧所在音素的前一音素是否带基频,若前一音素是含基频信息音素,则接着执行步骤S35,若前一音素是无基频信息音素,则接着执行步骤S32。
执行步骤S35,将当前帧修正为基频帧。
执行步骤S36,判断当前帧所在音素是否带基频,若当前的音素是含基频信息音素,则执行步骤S37,若当前的音素是无基频信息音素,则执行步骤S32。
执行步骤S37,判断当前帧所在音素的后一音素是否带基频,若后一音素是含基频信息音素,则接着执行步骤S38,若后一音素是无基频信息音素,则接着执行步骤S32。
执行步骤S38,将当前帧修正为基频帧。
本发明语音合成中预测基频帧的***及方法的有益效果为:
采用提取文本信息中的音素信息序列,并获得音素信息序列中的音素是否带基频的信息,基于音素和语音特征帧的映射关系获得音素对应语音特征帧的边界点,基于音素是否带基频的信息(辅助信息)和边界点对基频预测结果做出修正,将基频预测结果中的被误判为非基频帧的基频帧修正,提高基频帧预测的准确率,进而提高合成后的语音的自然度,优化声音效果。
以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。