CN112786000A - 语音合成方法、系统、设备及存储介质 - Google Patents
语音合成方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112786000A CN112786000A CN201911095971.8A CN201911095971A CN112786000A CN 112786000 A CN112786000 A CN 112786000A CN 201911095971 A CN201911095971 A CN 201911095971A CN 112786000 A CN112786000 A CN 112786000A
- Authority
- CN
- China
- Prior art keywords
- matrix
- text
- unit
- spectrum
- emotion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001308 synthesis method Methods 0.000 title claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 636
- 238000001228 spectrum Methods 0.000 claims abstract description 450
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 108
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000008451 emotion Effects 0.000 claims description 127
- 230000004927 fusion Effects 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 12
- 230000003595 spectral effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 12
- 230000033764 rhythmic process Effects 0.000 description 11
- 210000005069 ears Anatomy 0.000 description 9
- 238000010276 construction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000007812 deficiency Effects 0.000 description 4
- 238000004880 explosion Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010992 reflux Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008909 emotion recognition Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/63—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Psychiatry (AREA)
- Hospice & Palliative Care (AREA)
- General Health & Medical Sciences (AREA)
- Child & Adolescent Psychology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种语音合成方法、系统、设备及存储介质,方法包括:获取待语音合成的文本;根据所述文本获取各文本单元矩阵;根据预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,并获取各所述文本单元矩阵所对应的单元频谱帧数,其中,所述文本单元频谱序列存储有相互对应的所述文本单元矩阵和所述单元频谱矩阵;根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。本发明实施例所提供的语音合成方法、系统、设备及存储介质,可以在较短的语音合成的时间内得到准确的语音合成音频。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种语音合成方法、系统、设备及存储介质。
背景技术
语音合成(text to speech,TTS)技术,是一种将文本转化为音频的语音技术。
近年来,随着语音技术的发展,语音合成技术在很多领域都有广泛的应用,比如:有声阅读、智能音箱、同声传递等领域。
然而,现阶段的语音合成方法,或者音频生成所需要的时间较长,或者所得到的语音合成的音频的准确性较低,不能准确地反应文本的表达。
因此,如何在较短的语音合成的时间内得到准确的语音合成音频,成为亟需解决的技术问题。
发明内容
本发明实施例解决的技术问题是提供一种语音合成方法、系统、设备及存储介质,以在较短的语音合成的时间内得到准确的语音合成音频。
为解决上述问题,本发明实施例提供一种语音合成方法,包括:
获取待语音合成的文本;
根据所述文本获取各文本单元矩阵;
根据预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,并获取各所述文本单元矩阵所对应的单元频谱帧数,其中,所述文本单元频谱序列存储有相互对应的所述文本单元矩阵和所述单元频谱矩阵;
根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;
对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
为解决上述问题,本发明实施例还提供一种语音合成系统,包括:
文本获取装置,适于获取待语音合成的文本;
文本单元矩阵获取装置,适于根据所述文本获取文本单元矩阵;
单元频谱帧数及单元频谱矩阵获取装置,适于获取所述文本单元矩阵所对应的单元频谱帧数,并根据预存的文本单元频谱序列获取所述文本单元矩阵所对应的单元频谱矩阵;
文本频谱矩阵获取装置,适于根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;
音频获取装置,适于对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
为解决上述问题,本发明实施例还提供一种存储介质,所述存储介质存储有适于语音合成的程序,以实现如前述的语音合成方法。
为解决上述问题,本发明实施例还提供一种设备,包括至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述程序,以执行如前述的语音合成方法。
与现有技术相比,本发明的技术方案具有以下优点:
本发明实施例所提供的语音合成方法,首先获取待语音合成的文本,然后基于文本获取文本单元矩阵,进一步获取对应于文本单元矩阵的单元频谱帧数和单元频谱矩阵,并根据单元频谱矩阵和单元频谱帧数构建与文本对应的文本频谱矩阵,最后将文本频谱矩阵进行语音合成,得到音频。可以看出,本发明实施例所提供的语音合成方法,在进行语音合成时,基于文本的文本单元矩阵确定单元频谱矩阵和单元频谱帧数,进而得到文本频谱矩阵,不会由于文本前后的依赖关系使在后文本的语音合成依赖于在前文本的语音合成,从而可以降低音频对前后帧顺序的依赖性,提高语音合成的速度,保证语音合成的及时性;另一方面,由于单元频谱矩阵是基于文本单元矩阵得到,文本单元矩阵基于文本得到,从而可以降低单元频谱矩阵的遗漏风险,并降低由于单元频谱矩阵的缺失而造成的漏字概率,并且还进一步确定单元频谱矩阵的单元频谱帧数,进而保证对应的单元频谱矩阵在语音合成后的时长能够满足人耳对于声音的捕捉要求,避免由于单元频谱帧数过少而导致所合成的音频时长太短所引起的漏词风险,最终可以降低合成的音频中漏词的可能性,同时,根据单元频谱矩阵和单元频谱帧数构建文本频谱矩阵时,基于文本的信息进行构建,可以保证单元频谱矩阵位置的正确性,降低合成的音频中错词的可能性,从而可以保证所生成的音频的准确率;同时,确定单元频谱矩阵的单元频谱帧数还可以确定文本单元在音频中所占用的时长,使得到的音频具有更好的韵律,提高所得到的音频的真实性。
可选方案中,本发明实施例所提供的语音合成方法,还获取情感矩阵,并将情感矩阵与初始文本频谱矩阵融合得到文本频谱矩阵,再对包含情感信息的文本频谱矩阵进行语音合成,从而可以使合成后的音频具有丰富的情感,更准确地表达文本的信息。
附图说明
图1是本发明实施例所提供的语音合成方法的一流程示意图;
图2为本发明实施例所提供的语音合成方法的获取各单元频谱帧数步骤的流程示意图;
图3为本发明实施例所提供的语音合成方法的又一流程示意图;
图4为本发明实施例所提供的语音合成方法的另一流程示意图;
图5为本发明实施例所提供的情感矩阵提取模块的结构图;
图6是本发明实施例所提供的语音合成系统的一框图;
图7是本发明实施例提供的设备一种可选硬件设备架构。
具体实施方式
现有技术中,在进行语音合成时,所得到的语音合成的音频的准确性较差。
为了较短的语音合成的时间内得到准确的语音合成音频,本发明实施例提供了一种语音合成方法、系统、设备及存储介质,本发明实施例所提供的一种语音合成方法,包括:
获取待语音合成的文本;
根据所述文本获取文本单元矩阵;
获取所述文本单元矩阵所对应的单元频谱帧数,并根据预存的文本单元频谱序列获取所述文本单元矩阵所对应的单元频谱矩阵;
根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;
对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
这样,本发明实施例所提供的语音合成方法,在进行语音合成时,基于文本的文本单元矩阵确定单元频谱矩阵和单元频谱帧数,进而得到文本频谱矩阵,不会由于文本前后的依赖关系使在后文本的语音合成依赖于在前文本的语音合成,从而可以降低音频对前后帧顺序的依赖性,提高语音合成的速度,保证语音合成的及时性;另一方面,由于单元频谱矩阵是基于文本单元矩阵得到,文本单元矩阵基于文本得到,从而可以降低单元频谱矩阵的遗漏的风险,并降低由于单元频谱矩阵的缺失而造成的漏词的概率,并且还进一步确定单元频谱矩阵的单元频谱帧数,进而保证对应的单元频谱矩阵在语音合成后的时长能够满足人耳对于声音的捕捉要求,避免由于单元频谱帧数过少而导致所合成的音频时长太短所引起的漏词风险,最终可以降低合成的音频中漏词的可能性,同时,根据单元频谱矩阵和单元频谱帧数构建文本频谱矩阵时,基于文本的信息进行构建,可以保证单元频谱矩阵位置的正确性,降低合成的音频中错词的可能性,从而可以保证所生成的音频的准确率;同时,确定单元频谱矩阵的单元频谱帧数还可以确定文本单元在音频中所占用的时长,使得到的音频具有更好的韵律,提高所得到的音频的真实性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明实施例所提供的语音合成方法的流程示意图。
如图中所示,本发明实施例所提供的语音合成方法包括以下步骤:
步骤S10:获取待语音合成的文本。
为实现语音合成,首先需要获取待语音合成的文本,具体地,待语音合成的文本可以是各种语言,只要能够基于文本获取对应的文本单元矩阵,并且已经预存有与其对应的文本单元频谱序列即可。
需要说明的是,待语音合成的文本可以是句子、段落或者文章等不同的单位,在一种具体实施方式中,为了提高语音合成的准确性和语音合成的效率,可以将待语音合成的文本确定为以句子为单位;当然,在得到段落或文章,甚至以书为单位的文本时,可以在进行语音合成前,利用自然语言算法模型进行切分断句,得到以句子为单位的文本,而在得到合成音频后,再进行音频的拼接。拼接时根据标点符号类型,控制句与句之间、段与段之间的停顿时间,从而提升合成音频的韵律。
步骤S11:根据所述文本获取文本单元矩阵。
得到满足要求的文本后,进一步获取文本所对应的文本单元矩阵,利用提前训练好的模型,基于文本即可得到与其对应的文本单元矩阵。
在一种具体实施方式中,所述的文本单元矩阵可以为文本字符矩阵,即对应于字符的矩阵,比如对于英文单词“China”来说,其对应于字符即为C、h、i、n、a等,容易理解的是,在此情况下,文本单元频谱序列中所包括的即为文本字符矩阵、字符频谱矩阵以及二者之间的对应关系,基于文本得到的文本单元矩阵则为各个文本字符的矩阵。
在另一种具体实施方式中,所述文本单元矩阵可以为文本音素矩阵,即对应于音素的矩阵,音素即为根据语音的自然属性划分出来的最小语音单位,比如以英文单词“China”来举例,其可表示为由CH、AY1、N、AH0四个音素组成的音素序列。类似地,文本单元频谱序列中所包括的即为文本音素矩阵、音素频谱矩阵以及二者之间的对应关系,基于文本得到的文本单元矩阵即为各个文本音素的矩阵。
具体地,文本单元矩阵可以为one-hot矩阵,将每个文本的各个文本单元分别用一个与其对应的one-hot矩阵表示,one-hot矩阵的维数即为文本单元的数量,将文本单元进行顺序编号,与文本单元对应的文本单元矩阵,只有对应位置的数字为1,其他位置均为0,比如,文本单元编号为3的文本单元矩阵,即为第3位为1,其他位置均为0的矩阵。
步骤S12:根据预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,并获取各所述文本单元矩阵所对应的单元频谱帧数。
得到文本单元矩阵后,为了实现音频的合成,还需要获取各个文本单元矩阵所对应的单元频谱矩阵,在一种具体实施方式中,可以通过预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,所述文本单元频谱序列存储有相互对应的所述文本单元矩阵和所述单元频谱矩阵,基于文本单元矩阵,即可查到与其对应的单元频谱矩阵,因此,各个单元频谱矩阵的获取不需要依赖在先的文本单元矩阵,可以同时获取,具有较高的效率。
在一种具体实施方式中,为了提高所获取的文本单元频谱序列的准确性,可以通过以下方式获取文本单元频谱序列:
首先获取已有样本音频每帧对应的样本单元频谱矩阵和样本文本单元矩阵。
具体地,对已有的音频提取梅尔谱,进而得到音频每一帧对应的预估单元频谱矩阵,然后利用训练好的声学模型,获取音频每一帧所对应的文本单元矩阵,当然,音频同一帧所对应的预估单元频谱矩阵和文本单元矩阵之间具有对应关系。
对每个所述样本文本单元矩阵执行以下操作:
根据每个所述样本文本单元矩阵确定目标文本单元矩阵,获取与目标文本单元矩阵对应的多个样本单元频谱矩阵;计算对应于目标文本单元矩阵的多个样本预估单元频谱矩阵的平均值,得到与所述目标文本单元矩阵对应的目标单元频谱矩阵。
可以理解的是,基于已有样本音频所获取的相同的样本文本单元矩阵可能有多个,而与相同的样本文本单元矩阵对应的样本单元频谱矩阵可能不同,为了保证样本文本单元矩阵与样本单元频谱矩阵之间的一一对应关系,并保证文本单元频谱序列的准确性,可以选定一个样本文本单元矩阵为目标文本单元矩阵,而获取与此目标文本单元矩阵对应的样本单元频谱矩阵,可能会有多个,也就是同一个目标文本单元矩阵在音频中出现了多次,因此对应的样本单元频谱矩阵会有多个,各个样本单元频谱矩阵可能相同也可能稍有不同,为了保证与目标文本单元矩阵所对应的目标单元频谱矩阵的准确性,计算多个样本预估单元频谱矩阵的平均值,并将所述的多个样本预估单元频谱矩阵的平均值作为与目标文本单元矩阵对应的目标单元频谱矩阵;
最后,基于每个所述样本文本单元矩阵对应的目标单元频谱矩阵,得到预存的所述文本单元频谱序列。
具体地,获取各个样本单元频谱矩阵的平均值可以首先将对应于同一个目标文本单元矩阵的样本单元频谱矩阵进行叠加,然后再对叠加后的矩阵取平均值。
当然需要对基于音频得到的音频每一帧所对应的文本单元矩阵都要进行单元频谱矩阵的获取,直至得到全部的文本单元矩阵所对应的单元频谱矩阵。
除了需要获取单元频谱矩阵,还需要获取单元频谱矩阵的单元频谱帧数,为了保证最终合成的音频中包括文本单元矩阵所对应文本单元,并且能够被人耳所捕捉,满足人耳听力的自然属性的要求,并且使对应文本单元的持续时间与人说话的持续时间更为接近,保证所合成的音频的真实性,还需要获取各文本单元矩阵所对应的单元频谱帧数,即各个文本单元矩阵的单元频谱矩阵的数量。
为了获取文本单元矩阵的频谱帧数,在一种具体实施方式中,请参考图2,图2为本发明实施例所提供的语音合成方法的流程示意图。
如图中所示,在一种具体实施方式中,本发明实施例所提供的语音合成方法的获取各单元频谱帧数步骤可以包括:
步骤S121:获取所述文本单元矩阵的各个预估频谱帧数和与各所述预估频谱帧数对应的概率值。
具体地,可以利用训练好的文本频谱预测模块获取文本单元矩阵的各个预估频谱帧数,每个文本单元都会有N个帧数,并获取各个预估频谱帧数的概率值,即预估频谱帧数1到N中每个帧数的概率值。
在一种具体实施方式中,为了保证所获取的各个预估频谱帧数所对应的概率值的准确性,获取与各所述预估频谱帧数对应的概率值的步骤可以包括:
首先根据所述文本获取各所述文本单元矩阵的位置编码矩阵。
可以利用以下公式,获取位置编码矩阵:
PE(pos,2i)=sin(pos/100002i/d),PE(pos,2i+1)=cos(pos/100002i/d)
其中:
PE—位置编码矩阵,与文本单元矩阵的行数和列数均相同;
pos--当前字母/音素(即文本单元)在文本序列中的位置,对应到位置编码矩阵的行;
d--位置编码矩阵的列数,等于文本单元矩阵的列数;
i—位置编码矩阵的具体列,可选0,1,...,d;
PE(pos,2i)—位置编码矩阵的第pos行偶数列的数值;
PE(pos,2i+1)—位置编码矩阵的第pos行奇数列的数值。
因此,上述公式表示的含义即为:在每个文本单元的位置编码矩阵的偶数位置添加sin变量,奇数位置添加cos变量,以此来填满整个PE矩阵。
使用sin编码和cos编码的原因是可以得到词语之间的相对位置,因为如果X和(X+y)代表两个绝对位置,y代表二者相对位置,(X+y)的位置信息sin(X+y)可以通过X的位置信息sin(X)与相对位置信息sin(y)的线性组合得到,所以位置编码向量使用sin编码和cos编码来包含词语之间的相对位置信息,且接近于线性,由于文本信息也是接近于线性分布的,二者匹配度较高。奇偶位置分别采用sin和cos是由于一个周期内,二者有一半时间单调性相反,另一半时间正负不同,这样相邻位置的两个向量差异性明显,有利于相对位置的区分。
可见,所得到的位置编码矩阵,其中包含了各文本单元的相对位置信息,后续的卷积网络模型能够结合该信息进一步提高对各个文本单元对应预估频谱帧数概率值的准确程度。
得到位置编码矩阵后,根据所述位置编码矩阵和所述文本单元矩阵,获取与各所述预估频谱帧数对应的概率值。
具体地,为实现利用位置编码矩阵和文本单元矩阵获取与各预估频谱帧数对应的概率值,可以将位置编码矩阵和文本单元矩阵进行嵌入相加,即将位于矩阵中同一位置的数值相加,然后利用transformer模块、Affine layer(线性层)和softmax,获取与各预估频谱帧数对应的概率值。
在一具体实施例中,transformer模块可以包括四个部分,Multi-Head-Self-Attention(多头自注意力)、Add(残差连接)、Layer-Norm(层归一化)、Convld(一维卷积)。transformer模块堆叠M次后输出,然后进入Affine layer(线性层)和softmax。
这样,在获取单元频谱帧数的概率值时,还结合了位置编码矩阵,且位置编码矩阵中包含了各文本单元的相对位置信息,从而可以提高最终所获取的各个预估单元频谱帧数的概率值的准确性,进而提高所获取的单元频谱帧数的准确性。
步骤S122:将所述概率值中的最大概率值所对应的预估频谱帧数作为所述单元频谱帧数。
得到预估频谱帧数1到N各个的概率值,选择其中的最大的所对应的预估频谱帧数作为单元频谱帧数。
通过上述方法获取的单元频谱帧数,能够使合成的音频的韵律与真人的表达更为接近,提高得到的音频的准确性。
步骤S13:根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵。
得到单元频谱矩阵和与各个单元频谱矩阵对应的单元频谱帧数后,基于文本,将单元频谱矩阵按照文本的顺序进行排列,并且在排列过程中需要结合单元频谱帧数,得到文本频谱矩阵。
比如:文本单元的数量为q,得到的<文本单元矩阵,单元频谱帧数>序列为<idx_1,n1>,<idx_2,n2>,...,<idx_q,nq>,把idx_1对应文本单元矩阵的单元频谱矩阵重复n1帧,idx_2对应文本单元矩阵的单元频谱矩阵重复n2帧,以此类推,拼接所有帧得到文本频谱矩阵,总帧数为n=n1+n2+...+nq。
可以理解的是,本文所述的根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵是指,可以只根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵,当然在其他实施方式中,还可以根据再根据其他信息构建与所述文本对应的文本频谱矩阵。
步骤S14:对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
得到文本频谱矩阵后,进一步对文本频谱矩阵进行语音合成,得到音频文件。
具体地,可以利用基于神经网络的声码器进行语音合成,比如:Griffen&Lim、WaveNet、WaveGlow以及WaveRNN等。
可以看出,本发明实施例所提供的语音合成方法,在进行语音合成时,基于文本的文本单元矩阵确定单元频谱矩阵和单元频谱帧数,进而得到文本频谱矩阵,不会由于文本前后的依赖关系使在后文本的语音合成依赖于在前文本的语音合成,从而可以降低音频对前后帧顺序的依赖性,提高语音合成的速度,保证语音合成的及时性;另一方面,由于单元频谱矩阵是基于文本单元矩阵得到,文本单元矩阵基于文本得到,从而可以降低单元频谱矩阵的遗漏的风险,并降低由于单元频谱矩阵的缺失而造成的漏词的概率,并且还进一步确定单元频谱矩阵的单元频谱帧数,进而保证对应的单元频谱矩阵在语音合成后的时长能够满足人耳对于声音的捕捉要求,避免由于单元频谱帧数过少而导致所合成的音频时长太短所引起的漏词风险,最终可以降低合成的音频中漏词的可能性,同时,根据单元频谱矩阵和单元频谱帧数构建文本频谱矩阵时,基于文本的信息进行构建,可以保证单元频谱矩阵位置的正确性,降低合成的音频中错词的可能性,从而可以保证所生成的音频的准确率;同时,确定单元频谱矩阵的单元频谱帧数还可以确定文本单元在音频中所占用的时长,使得到的音频具有更好的韵律,提高所得到的音频的真实性。
为了进一步提高所合成音频的准确性,在一种具体实施方式中,本发明还提供一种语音合成方法,请参考图3,图3为本发明实施例所提供的语音合成方法的又一流程示意图。
如图中所示,本发明实施例所提供的语音合成方法包括:
步骤S20:获取待语音合成的文本。
步骤S21:根据所述文本获取文本单元矩阵。
步骤S22:根据预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,并获取各所述文本单元矩阵所对应的单元频谱帧数。
步骤S20-步骤S22的具体内容请参考图1所示的步骤S10-步骤S12的内容,在此不再赘述。
步骤S23:根据所述文本获取文本特征矩阵。
基于文本,获取文本特征矩阵,具体地,可以利用神经网络构成的文本编码器获取文本特征矩阵,文本特征矩阵可以为one-hot矩阵,将每个字符分别用与其对应的one-hot矩阵表示。
然而,由于one-hot矩阵所表示的各个字符之间相对孤立,难以找到不同字符之间的关系,并且,one-hot矩阵的维数也受到字符数量的影响,随着字符数量的增多,one-hot矩阵的维数也越多,产生维度爆炸问题,为此,本发明实施例所提供的文本编码器可以包括词嵌入层,以解决维度爆炸的问题和各个字符之间相互孤立的问题,进一步地,还可以包括残差卷积层,使得到的文本特征矩阵更能准确地表达文本;并且,还可以包括双向GRU模型,以提取和关联上下文信息,提高文本编码信息鲁棒性。
步骤S24:根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵,具体包括:
步骤S241:根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的初级文本频谱矩阵。
步骤S241的具体内容请参考图1所示的步骤S13。
步骤S242:将所述文本特征矩阵和所述初始文本频谱矩阵进行矩阵融合,得到所述文本频谱矩阵。
得到初始文本频谱矩阵后,将文本特征矩阵与其融合,得到文本频谱矩阵。
具体地,在一种具体实施方式中,将文本特征矩阵和初始文本频谱矩阵的矩阵融合可以通过加权累加的方式获取:
Y=α·XTextEncoderVector+β·XMelSpectrum
其中,α—文本特征矩阵的加权系数;
XTextEncoderVector--文本特征矩阵;
β—初始文本频谱矩阵的加权系数;
XMelSpectrum--初始文本频谱矩阵
α+β=1
当然,在其他实施方式中,还可以通过其他方式实现矩阵融合。
上述矩阵融合可以利用包括基于深度残差和高速卷积的神经网络模型获取,高速卷积可以增强模型的梯度回流能力,提高矩阵融合后的文本频谱矩阵与文本的准确性。
步骤S25:对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
步骤S25的具体内容请参考图1所示的步骤S14的内容,在此不再赘述。
这样,由于文本特征矩阵中包含了文本的信息,将文本特征矩阵与初始文本频谱矩阵进行矩阵融合,可以进一步增加文本的相关信息,提高所得到的文本频谱矩阵的准确性,从而可以提高所得到的音频的准确性。
然而,经上述方法所得到的音频能正确模拟说话人的音色和韵律,具有较高的真实性和准确性,合成效率也较高,但是缺少对说话人情感的关注,人在不同的情感状态下应有不同的说话风格,因此,说话语句的情感和语调也至关重要。
为此,本发明实施例还提供一种语音合成方法,请参考图4,图4为本发明实施例所提供的语音合成方法的另一流程示意图。
如图中所示,本发明实施例所提供的语音合成方法,包括以下步骤:
步骤S30:获取待语音合成的文本。
步骤S31:根据所述文本获取文本单元矩阵。
步骤S32:根据预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,并获取各所述文本单元矩阵所对应的单元频谱帧数。
步骤S30-步骤S32的具体内容请参考图1所示的步骤S10-步骤S12的内容,在此不再赘述。
步骤S33:获取情感矩阵。
为了使所合成的音频具有情感,首先需要获取情感矩阵。
具体地,在一种具体实施方式中,情感矩阵可以通过以下方式获取:
首先,获取情感类型标签;情感类型标签可以通过输入的方式,使处理器能够得到情感类型标签。
然后,根据所述情感类型标签从预存的情感矩阵库中获取所述情感矩阵。
可以理解的是,情感类型标签与情感矩阵的对应关系是提前确定好的,基于情感类型标签,处理器可以从预存的情感矩阵库中检索得到相应的情感矩阵。
这样可以简单的得到情感矩阵,缩短语音合成的时间,降低语音合成的复杂度。
在另一种具体实施方式中,还可以通过以下步骤获取情感矩阵:
首先,获取情感类型音频。
比如:可以从音频库中选取目标情感类型的音频,输入处理器,处理器即可获取到情感类型音频。
然后,提取所述情感类型音频的情感矩阵。
具体地,可以利用情感矩阵提取模块提取所述情感类型音频的情感矩阵,在一种具体实施方式中,情感矩阵提取模块可以为VGG-16神经网络,在另一种具体实施方式中,情感矩阵提取模块可以包括VGG-16神经网络的卷积组和Inception卷积结构,即将VGG-16与Inception卷积结构进行结合的模块,请参考图5,图5为本发明实施例所提供的情感矩阵提取模块的结构图,如图中所示,情感矩阵提取模块可以包括VGG-16神经网络的3个卷积组和2个Inception卷积结构保留了VGG-16神经网络的前三组卷积组,将其中的第四卷积组和第五卷积组均替换为Inception卷积结构,从而可以提高在深度和广度两个方面对频谱特征的捕捉能力,保证所获取的情感矩阵的准确性。
步骤S34:根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵,具体包括:
步骤S341:根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的初始文本频谱矩阵。
步骤S341的具体内容请参考图1所示的步骤S13在此不再赘述。
步骤S342:将所述情感矩阵和所述初始文本频谱矩阵进行矩阵融合,得到所述文本频谱矩阵。
得到初始文本频谱矩阵后,将情感矩阵与其融合,得到文本频谱矩阵。
具体地,可以通过将初始文本频谱矩阵与情感矩阵上下拼接的方式实现二者的融合。
当然,融合过程,不仅仅包含初始文本频谱矩阵与情感矩阵的拼接过程,具体可以为:
首先,使情感矩阵进行1层线性层转换,得到一个1*c的二维矩阵W1,初始文本频谱矩阵经过1层卷积层得到dim*c的二维矩阵W2,其中c代表时间轴方向维度;然后W1、W2在c维度上堆叠,得到(dim+1)*c的二维矩阵W,进入M个Gated-tanh卷积模块运算。
Gated-tanh卷积模块运算首先进行一维卷积,然后将经过卷积运算的输出矩阵进行平均切分,得到两个子矩阵,分别进行tanh和sigmoid计算,二者的结果进行点乘运算。
经过M个Gated-tanh卷积模块后得到具有情感的文本频谱矩阵。
步骤S35:对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
在一实施例中,步骤S35的具体内容可以参考图1所示的步骤S14的内容,在此不再赘述。
在另一实施例中,为了进一步增强所得到的音频中的情感信息,还可以对所述文本频谱矩阵和所述情感矩阵进行语音合成,得到与所述文本对应的音频。即,将所述文本频谱矩阵和所述情感矩阵均作为输入,利用基于神经网络的声码器进行语音合成,得到最终的音频文件。
这样,由于情感矩阵中包含了情感信息,将情感矩阵与初始频谱特征矩阵进行融合,可以进一步增加情感信息,使得所得到的文本频谱矩阵包含人的情感,从而可以使合成后的音频具有丰富的情感,提高所得到的音频的准确性。
当然,在另一种具体实施方式中,还可以不仅获取文本特征矩阵,而且获取情感矩阵,并在文本频谱矩阵中包含文本特征矩阵与初始文本频谱矩阵的融合,以及情感矩阵与初始文本频谱矩阵的融合,从而在得到的文本频谱矩阵中不仅包含文本信息也包含情感信息,使得最终语音合成的音频具有情感,并且具有较高的准确性。
可以理解的是,可以先将文本特征矩阵与初始文本频谱矩阵融合,然后将文本特征矩阵与初始文本频谱矩阵融合后的矩阵再与情感矩阵融合;也可以先将情感矩阵与初始文本频谱矩阵融合,然后将情感矩阵与初始文本频谱矩阵融合后的矩阵再与文本特征矩阵融合;还可以将三者一起进行融合。
下面对本发明实施例提供的语音合成系统进行介绍,下文描述的语音合成系统可以认为是,电子设备(如:PC)为分别实现本发明实施例提供的语音合成方法所需设置的功能模块架构。下文描述的语音合成系统的内容,可分别与上文描述的语音合成方法的内容相互对应参照。
图6是本发明实施例所提供的语音合成系统的一框图,该语音合成系统即可应用于客户端,也可应用于服务器端,参考图6,该语音合成系统可以包括:
文本获取装置100,适于获取待语音合成的文本;
文本单元矩阵获取装置110,适于根据所述文本获取文本单元矩阵;
单元频谱帧数及单元频谱矩阵获取装置120,适于获取所述文本单元矩阵所对应的单元频谱帧数,并根据预存的文本单元频谱序列获取所述文本单元矩阵所对应的单元频谱矩阵;
文本频谱矩阵获取装置130,适于根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;
音频获取装置140,适于对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
为实现语音合成,首先需要文本获取装置100获取待语音合成的文本,具体地,待语音合成的文本可以是各种语言,只要能够基于文本获取对应的文本单元矩阵,并且已经预存有与其对应的文本单元频谱序列即可。
需要说明的是,待语音合成的文本可以是句子、段落或者文章等不同的单位,在一种具体实施方式中,为了提高语音合成的准确性和语音合成的效率,可以将待语音合成的文本确定为以句子为单位;当然,在得到段落或文章,甚至以书为单位的文本时,可以在进行语音合成前,利用自然语言算法模型进行切分断句,得到以句子为单位的文本,而在得到合成音频后,再进行音频的拼接。拼接时根据标点符号类型,控制句与句之间、段与段之间的停顿时间,从而提升合成音频的韵律。
得到满足要求的文本后,文本单元矩阵获取装置110进一步获取文本所对应的文本单元矩阵,利用提前训练好的模型,基于文本即可得到与其对应的文本单元矩阵。
在一种具体实施方式中,所述的文本单元矩阵可以为文本字符矩阵,即对应于字符的矩阵,容易理解的是,在此情况下,文本单元频谱序列中所包括的即为文本字符矩阵、字符频谱矩阵以及二者之间的对应关系,基于文本得到的文本单元矩阵则为各个文本字符的矩阵。
在另一种具体实施方式中,所述文本单元矩阵可以为文本音素矩阵,即对应于音素的矩阵,音素即为根据语音的自然属性划分出来的最小语音单位。类似地,文本单元频谱序列中所包括的即为文本音素矩阵、音素频谱矩阵以及二者之间的对应关系,基于文本得到的文本单元矩阵即为各个文本音素的矩阵。
具体地,文本单元矩阵可以为one-hot矩阵,将每个文本的各个文本单元分别用一个与其对应的one-hot矩阵表示,one-hot矩阵的维数即为文本单元的数量,将文本单元进行顺序编号,与文本单元对应的文本单元矩阵,只有对应位置的数字为1,其他位置均为0。
得到文本单元矩阵后,为了实现音频的合成,还需要单元频谱帧数及单元频谱矩阵获取装置120获取各个文本单元矩阵所对应的单元频谱矩阵,在一种具体实施方式中,可以通过预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,所述文本单元频谱序列存储有相互对应的所述文本单元矩阵和所述单元频谱矩阵,基于文本单元矩阵,即可查到与其对应的单元频谱矩阵,因此,各个单元频谱矩阵的获取不需要依赖在先的文本单元矩阵,可以同时获取,具有较高的效率。
在一种具体实施方式中,为了提高所获取的文本单元频谱序列的准确性,可以通过以下方式获取文本单元频谱序列:
首先获取已有样本音频每帧对应的样本单元频谱矩阵和样本文本单元矩阵。
具体地,对已有的音频提取梅尔谱,进而得到音频每一帧对应的预估单元频谱矩阵,然后利用训练好的声学模型,获取音频每一帧所对应的文本单元矩阵,当然,音频同一帧所对应的预估单元频谱矩阵和文本单元矩阵之间具有对应关系。
对每个所述样本文本单元矩阵执行以下操作:
根据每个所述样本文本单元矩阵确定目标文本单元矩阵,获取与目标文本单元矩阵对应的多个样本单元频谱矩阵;计算对应于目标文本单元矩阵的多个样本预估单元频谱矩阵的平均值,得到与所述目标文本单元矩阵对应的目标单元频谱矩阵。
可以理解的是,基于已有样本音频所获取的相同的样本文本单元矩阵可能有多个,而与相同的样本文本单元矩阵对应的样本单元频谱矩阵可能不同,为了保证样本文本单元矩阵与样本单元频谱矩阵之间的一一对应关系,并保证文本单元频谱序列的准确性,可以选定一个样本文本单元矩阵为目标文本单元矩阵,而获取与此目标文本单元矩阵对应的样本单元频谱矩阵,可能会有多个,也就是同一个目标文本单元矩阵在音频中出现了多次,因此对应的样本单元频谱矩阵会有多个,各个样本单元频谱矩阵可能相同也可能稍有不同,为了保证与目标文本单元矩阵所对应的目标单元频谱矩阵的准确性,计算多个样本预估单元频谱矩阵的平均值,并将所述的多个样本预估单元频谱矩阵的平均值作为与目标文本单元矩阵对应的目标单元频谱矩阵;
最后,基于每个所述样本文本单元矩阵对应的目标单元频谱矩阵,得到预存的所述文本单元频谱序列。
具体地,获取各个预估单元频谱矩阵的平均值可以首先将对应于同一个目标文本单元矩阵的预估单元频谱矩阵进行叠加,然后再对叠加后的矩阵取平均值。
当然需要对基于音频得到的音频每一帧所对应的文本单元矩阵都要进行单元频谱矩阵的获取,直至得到全部的文本单元矩阵所对应的单元频谱矩阵。
除了需要获取单元频谱矩阵,还需要获取单元频谱矩阵的单元频谱帧数,为了保证最终合成的音频中包括文本单元矩阵所对应文本单元,并且能够被人耳所捕捉,满足人耳听力的自然属性的要求,并且使对应文本单元的持续时间与人说话的持续时间更为接近,保证所合成的音频的真实性,还需要获取各文本单元矩阵所对应的单元频谱帧数,即各个文本单元矩阵的单元频谱矩阵的数量。
为了获取文本单元矩阵的频谱帧数,首先获取所述文本单元矩阵的各个预估频谱帧数和与各所述预估频谱帧数对应的概率值。
具体地,可以利用训练好的文本频谱预测模块获取文本单元矩阵的各个预估频谱帧数,每个文本单元都会有N个帧数,并获取各个预估频谱帧数的概率值,即预估频谱帧数1到N中每个帧数的概率值。
然后,将所述概率值中的最大概率值所对应的预估频谱帧数作为所述单元频谱帧数。
得到预估频谱帧数1到N各个的概率值,选择其中的最大的所对应的预估频谱帧数作为单元频谱帧数。
通过上述方法获取的单元频谱帧数,能够使合成的音频的韵律与真人的表达更为接近,提高得到的音频的准确性。
在一种具体实施方式中,为了保证所获取的各个预估频谱帧数所对应的概率值的准确性,获取与各所述预估频谱帧数对应的概率值的步骤可以包括:
首先根据所述文本获取各所述文本单元矩阵的位置编码矩阵。
可以利用以下公式,获取位置编码矩阵:
PE(pos,2i)=sin(pos/100002i/d),PE(pos,2i+1)=cos(pos/100002i/d)
其中:
PE—位置编码矩阵,与文本单元矩阵的行数和列数均相同;
pos--当前字母/音素(即文本单元)在文本序列中的位置,对应到位置编码矩阵的行;
d--位置编码矩阵的列数,等于文本单元矩阵的列数;
i—位置编码矩阵的具体列,可选0,1,...,d;
PE(pos,2i)—位置编码矩阵的第pos行偶数列的数值;
PE(pos,2i+1)—位置编码矩阵的第pos行奇数列的数值。
因此,上述公式表示的含义即为:在每个文本单元的位置编码矩阵的偶数位置添加sin变量,奇数位置添加cos变量,以此来填满整个PE矩阵。
可见,所得到的位置编码矩阵,其中包含了各文本单元的相对位置信息,后续的卷积网络模型能够结合该信息进一步提高对各个文本单元对应预估频谱帧数概率值的准确程度。
得到位置编码矩阵后,根据所述位置编码矩阵和所述文本单元矩阵,获取与各所述预估频谱帧数对应的概率值。
具体地,为实现利用位置编码矩阵和文本单元矩阵获取与各预估频谱帧数对应的概率值,可以将位置编码矩阵和文本单元矩阵进行嵌入相加,即将位于矩阵中同一位置的数值相加,然后利用transformer模块、Affine layer(线性层)和softmax,获取与各预估频谱帧数对应的概率值。
这样,在获取单元频谱帧数的概率值时,还结合了位置编码矩阵,且位置编码矩阵中包含了各文本单元的相对位置信息,从而可以提高最终所获取的各个预估单元频谱帧数的概率值的准确性,进而提高所获取的单元频谱帧数的准确性。得到单元频谱矩阵和与各个单元频谱矩阵对应的单元频谱帧数后,文本频谱矩阵获取装置130基于文本,将单元频谱矩阵按照文本的顺序进行排列,并且在排列过程中需要结合单元频谱帧数,得到文本频谱矩阵。
可以理解的是,本文所述的根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵是指,可以只根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵,当然在其他实施方式中,还可以根据再根据其他信息构建与所述文本对应的文本频谱矩阵。
得到文本频谱矩阵后,音频获取装置140进一步对文本频谱矩阵进行语音合成,得到音频文件。
具体地,可以利用基于神经网络的声码器进行语音合成。
可以看出,本发明实施例所提供的语音合成系统,在进行语音合成时,基于文本的文本单元矩阵确定单元频谱矩阵和单元频谱帧数,进而得到文本频谱矩阵,不会由于文本前后的依赖关系使在后文本的语音合成依赖于在前文本的语音合成,从而可以降低文本之间的顺序上的依赖性,提高语音合成的速度,保证语音合成的及时性;另一方面,由于单元频谱矩阵是基于文本单元矩阵得到,文本单元矩阵基于文本得到,从而可以降低单元频谱矩阵的遗漏的风险,并降低由于单元频谱矩阵的缺失而造成的漏词的概率,并且还进一步确定单元频谱矩阵的单元频谱帧数,进而保证对应的单元频谱矩阵在语音合成后的时长能够满足人耳对于声音的捕捉要求,避免由于单元频谱帧数过少而导致所合成的音频时长太短所引起的漏词风险,最终可以降低合成的音频中漏词的可能性,同时,根据单元频谱矩阵和单元频谱帧数构建文本频谱矩阵时,基于文本的信息进行构建,可以保证单元频谱矩阵位置的正确性,降低合成的音频中错词的可能性,从而可以保证所生成的音频的准确率;同时,确定单元频谱矩阵的单元频谱帧数还可以确定文本单元在音频中所占用的时长,使得到的音频具有更好的韵律,提高所得到的音频的真实性。
本发明实施例所提供的语音合成系统,利用文本获取文本单元矩阵的位置编码矩阵,并将位置编码矩阵用于确定文本单元矩阵在文本中的位置,进一步降低了文本编码矩阵位置错误的概率,提高了所合成的音频的准确性。
为了进一步提高所合成音频的准确性,在一种具体实施方式中,本发明所提供一种语音合成系统还包括:
文本特征矩阵获取装置150,适于根据所述文本获取文本特征矩阵。
文本特征矩阵获取装置150基于文本,获取文本特征矩阵,具体地,可以利用申请网络构成的文本编码器获取文本特征矩阵,文本特征矩阵可以为one-hot矩阵,将每个字符分别用与其对应的one-hot矩阵表示。
然而,由于one-hot矩阵所表示的各个字符之间相对孤立,难以找到不同字符之间的关系,并且,one-hot矩阵的维数也受到字符数量的影响,随着字符数量的增多,one-hot矩阵的维数也越多,产生维度爆炸问题,为此,本发明实施例所提供的文本编码器可以包括词嵌入层,以解决维度爆炸的问题和各个字符之间相互孤立的问题,进一步地,还可以包括残差卷积层,使得到的文本特征矩阵更能准确地表达文本;并且,还可以包括双向GRU模型,以提取和关联上下文信息,提高文本编码信息鲁棒性。
文本频谱矩阵获取装置130,适于根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵,具体包括:
至少根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的初级文本频谱矩阵。
将所述文本特征矩阵和所述初始文本频谱矩阵进行矩阵融合,得到所述文本频谱矩阵。
得到初始文本频谱矩阵后,将文本特征矩阵与其融合,得到文本频谱矩阵。
具体地,在一种具体实施方式中,将文本特征矩阵和初始文本频谱矩阵的矩阵融合可以通过加权累加的方式获取:
Y=α·XTextEncoderVector+β·XMelSpectrum
其中,α—文本特征矩阵的加权系数;
XTextEncoderVector--文本特征矩阵;
β—初始文本频谱矩阵的加权系数;
XMelSpectrum--初始文本频谱矩阵
α+β=1
当然,在其他实施方式中,还可以通过其他方式实现矩阵融合。
上述矩阵融合可以利用包括基于深度残差和高速卷积的神经网络模型获取,高速卷积可以增强模型的梯度回流能力,提高矩阵融合后的文本频谱矩阵与文本的准确性。
这样,由于文本特征矩阵中包含了文本的信息,将文本特征矩阵与初始文本特征矩阵进行矩阵融合,可以进一步增加文本的相关信息,提高所得到的文本频谱矩阵的准确性,从而可以提高所得到的音频的准确性。
然而,利用前述语音合成系统所得到的音频能正确模拟说话人的音色和韵律,具有较高的真实性和准确性,合成效率也较高,但是缺少对说话人情感的关注,人在不同的情感状态下应有不同的说话风格,因此,说话语句的情感和语调也至关重要。
为此,本发明实施例还提供一种语音合成系统,还包括情感矩阵获取装置160,适于获取情感矩阵。
为了使所合成的音频具有情感,首先需要获取情感矩阵。
具体地,在一种具体实施方式中,情感矩阵可以通过以下方式获取:
首先,获取情感类型标签;情感类型标签可以通过输入的方式,使处理器能够得到情感类型标签。
然后,根据所述情感类型标签从预存的情感矩阵库中获取所述情感矩阵。
可以理解的是,情感类型标签与情感矩阵的对应关系是提前确定好的,基于情感类型标签,处理器可以从预存的情感矩阵库中检索得到相应的情感矩阵。
这样可以简单的得到情感矩阵,缩短语音合成的时间,降低语音合成的复杂度。
在另一种具体实施方式中,还可以通过以下步骤获取情感矩阵:
首先,获取情感类型音频。
比如:可以从音频库中选取目标情感类型的音频,输入处理器,处理器即可获取到情感类型音频。
然后,提取所述情感类型音频的情感矩阵。
具体地,利用情感矩阵提取模块提取所述情感类型音频的情感矩阵,在一种具体实施方式中,情感矩阵提取模块可以为VGG-16神经网络,在另一种具体实施方式中,情感矩阵提取模块可以包括VGG-16神经网络的卷积组和Inception卷积结构,即将VGG-16与Inception卷积结构进行结合的模块,情感矩阵提取模块可以包括VGG-16神经网络的3个卷积组和2个Inception卷积结构保留了VGG-16神经网络的前三组卷积组,将其中的第四卷积组和第五卷积组均替换为Inception卷积结构,从而可以提高在深度和广度两个方面对频谱特征的捕捉能力,保证所获取的情感矩阵的准确性。
文本频谱矩阵获取装置130,根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵,具体包括:
根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的初始文本频谱矩阵。
将所述情感矩阵和所述初始文本频谱矩阵进行矩阵融合,得到所述文本频谱矩阵。
得到初始文本频谱矩阵后,将情感矩阵与其融合,得到文本频谱矩阵。
具体地,可以通过将初始文本频谱矩阵与情感矩阵上下拼接的方式实现二者的融合。
这样,由于情感矩阵中包含了情感信息,将情感矩阵与初始频谱特征矩阵进行融合,可以进一步增加情感信息,使得所得到的文本频谱矩阵包含人的情感,从而可以提高所得到的音频的准确性。
当然,在另一种具体实施方式中,还可以不仅获取文本特征矩阵,而且获取情感矩阵,并在文本频谱矩阵中包含文本特征矩阵与初始文本频谱矩阵的融合,以及情感矩阵与初始文本频谱矩阵的融合,从而在得到的文本频谱矩阵中不仅包含文本信息也包含情感信息,使得最终语音合成的音频具有情感,并且具有较高的准确性。
可以理解的是,可以先将文本特征矩阵与初始文本频谱矩阵融合,然后将文本特征矩阵与初始文本频谱矩阵融合后的矩阵再与情感矩阵融合;也可以先将情感矩阵与初始文本频谱矩阵融合,然后将情感矩阵与初始文本频谱矩阵融合后的矩阵再与文本特征矩阵融合;还可以将三者一起进行融合。
在另一实施例中,为了进一步增强所得到的音频中的情感信息,音频获取装置140,还可以对所述文本频谱矩阵和所述情感矩阵进行语音合成,得到与所述文本对应的音频。
即,将所述文本频谱矩阵和所述情感矩阵均作为输入,利用基于神经网络的声码器进行语音合成,得到最终的音频文件。
当然,本发明实施例还提供一种装备,本发明实施例提供的设备可以通过程序形式装载上述所述的程序模块架构,以实现本发明实施例提供的语音合成方法;该硬件设备可以应用于具体数据处理能力的电子设备,该电子设备可以为:例如终端设备或者服务器设备。
可选的,图7示出了本发明实施例提供的设备一种可选硬件设备架构,可以包括:至少一个存储器3和至少一个处理器1;所述存储器存储有程序,所述处理器调用所述程序,以执行前述的语音合成方法,另外,至少一个通信接口2和至少一个通信总线4;处理器1和存储器3可以位于同一电子设备,例如处理器1和存储器3可以位于服务器设备或者终端设备;处理器1和存储器3也可以位于不同的电子设备。
作为本发明实施例公开内容的一种可选实现,存储器3可以存储程序,处理器1可调用所述程序,以执行本发明上述实施例提供的语音合成方法。
本发明实施例中,电子设备可以是能够进行情感识别的平板电脑、笔记本电脑等设备。
在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;显然,图7所示的处理器1、通信接口2、存储器3和通信总线4的通信连接示意仅是可选的一种方式;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
需要说明的是,上述的实现终端设备还可以包括与本发明实施例公开内容可能并不是必需的其他器件(未示出);鉴于这些其他器件对于理解本发明实施例公开内容可能并不是必需,本发明实施例对此不进行逐一介绍。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,当该指令被处理器执行时可以实现如上所述语音合成方法。
本发明实施例所提供的存储介质所存储的计算机可执行指令,在进行语音合成时,基于文本的文本单元矩阵确定单元频谱矩阵和单元频谱帧数,进而得到文本频谱矩阵,不会由于文本前后的依赖关系使在后文本的语音合成依赖于在前文本的语音合成,从而可以降低音频对前后帧顺序的依赖性,提高语音合成的速度,保证语音合成的及时性;另一方面,由于单元频谱矩阵是基于文本单元矩阵得到,文本单元矩阵基于文本得到,从而可以降低单元频谱矩阵的遗漏的风险,并降低由于单元频谱矩阵的缺失而造成的漏词的概率,并且还进一步确定单元频谱矩阵的单元频谱帧数,进而保证对应的单元频谱矩阵在语音合成后的时长能够满足人耳对于声音的捕捉要求,避免由于单元频谱帧数过少而导致所合成的音频时长太短所引起的漏词风险,最终可以降低合成的音频中漏词的可能性,同时,根据单元频谱矩阵和单元频谱帧数构建文本频谱矩阵时,基于文本的信息进行构建,可以保证单元频谱矩阵位置的正确性,降低合成的音频中错词的可能性,从而可以保证所生成的音频的准确率;同时,确定单元频谱矩阵的单元频谱帧数还可以确定文本单元在音频中所占用的时长,使得到的音频具有更好的韵律,提高所得到的音频的真实性。
上述本发明的实施方式是本发明的元件和特征的组合。除非另外提及,否则所述元件或特征可被视为选择性的。各个元件或特征可在不与其它元件或特征组合的情况下实践。另外,本发明的实施方式可通过组合部分元件和/或特征来构造。本发明的实施方式中所描述的操作顺序可重新排列。任一实施方式的一些构造可被包括在另一实施方式中,并且可用另一实施方式的对应构造代替。对于本领域技术人员而言明显的是,所附权利要求中彼此没有明确引用关系的权利要求可组合成本发明的实施方式,或者可在提交本申请之后的修改中作为新的权利要求包括。
本发明的实施方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在硬件配置方式中,根据本发明示例性实施方式的方法可通过一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。
在固件或软件配置方式中,本发明的实施方式可以模块、过程、功能等形式实现。软件代码可存储在存储器单元中并由处理器执行。存储器单元位于处理器的内部或外部,并可经由各种己知手段向处理器发送数据以及从处理器接收数据。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种变动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种语音合成方法,其特征在于,包括:
获取待语音合成的文本;
根据所述文本获取各文本单元矩阵;
根据预存的文本单元频谱序列获取各所述文本单元矩阵所对应的单元频谱矩阵,并获取各所述文本单元矩阵所对应的单元频谱帧数,其中,所述文本单元频谱序列存储有相互对应的所述文本单元矩阵和所述单元频谱矩阵;
根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;
对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
2.如权利要求1所述的语音合成方法,其特征在于,所述获取各所述文本单元矩阵所对应的单元频谱帧数的步骤包括:
获取所述文本单元矩阵的各个预估频谱帧数和与各所述预估频谱帧数对应的概率值;
将所述概率值中的最大概率值所对应的预估频谱帧数作为所述单元频谱帧数。
3.如权利要求2所述的语音合成方法,其特征在于,所述获取与各所述预估频谱帧数对应的概率值的步骤包括:
根据所述文本获取各所述文本单元矩阵的位置编码矩阵;
根据所述位置编码矩阵和所述文本单元矩阵,获取与各所述预估频谱帧数对应的概率值。
4.如权利要求1所述的语音合成方法,其特征在于,所述预存的文本单元频谱序列通过以下步骤获取:
获取已有样本音频每帧对应的样本单元频谱矩阵和样本文本单元矩阵;
对每个所述样本文本单元矩阵执行以下操作:
根据每个所述样本文本单元矩阵确定目标文本单元矩阵,获取与目标文本单元矩阵对应的多个样本单元频谱矩阵;计算对应于目标文本单元矩阵的多个样本预估单元频谱矩阵的平均值,得到与所述目标文本单元矩阵对应的目标单元频谱矩阵;
基于每个所述样本文本单元矩阵对应的目标单元频谱矩阵,得到预存的所述文本单元频谱序列。
5.如权利要求1所述的语音合成方法,其特征在于,还包括:
根据所述文本获取文本特征矩阵;
所述根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵的步骤包括:
根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的初始文本频谱矩阵;
将所述文本特征矩阵和所述初始文本频谱矩阵进行矩阵融合,得到所述文本频谱矩阵。
6.如权利要求1-5任一项所述的语音合成方法,其特征在于,还包括:
获取情感矩阵;
所述根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵的步骤包括:
根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的初始文本频谱矩阵;
将所述情感矩阵和所述初始文本频谱矩阵进行矩阵融合,得到所述文本频谱矩阵。
7.如权利要求6所述的语音合成方法,其特征在于,所述对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频的步骤包括:
对所述文本频谱矩阵和所述情感矩阵进行语音合成,得到与所述文本对应的音频。
8.如权利要求6所述的语音合成方法,其特征在于,所述获取情感矩阵的步骤包括:
获取情感类型标签;
根据所述情感类型标签从预存的情感矩阵库中获取所述情感矩阵。
9.如权利要求6所述的语音合成方法,其特征在于,所述获取情感矩阵的步骤包括:
获取情感类型音频;
提取所述情感类型音频的情感矩阵。
10.如权利要求9所述的语音合成方法,其特征在于,所述提取所述情感类型音频的情感矩阵的步骤包括:
利用情感矩阵提取模块提取所述情感类型音频的情感矩阵,所述情感矩阵提取模块的结构包括VGG-16神经网络的卷积结构和Inception卷积结构。
11.如权利要求1-5任一项所述的语音合成方法,其特征在于,所述文本单元矩阵包括文本字符矩阵或文本音素矩阵。
12.一种语音合成系统,其特征在于,包括:
文本获取装置,适于获取待语音合成的文本;
文本单元矩阵获取装置,适于根据所述文本获取文本单元矩阵;
单元频谱帧数及单元频谱矩阵获取装置,适于获取所述文本单元矩阵所对应的单元频谱帧数,并根据预存的文本单元频谱序列获取所述文本单元矩阵所对应的单元频谱矩阵;
文本频谱矩阵获取装置,适于根据所述单元频谱帧数和所述单元频谱矩阵构建与所述文本对应的文本频谱矩阵;
音频获取装置,适于对所述文本频谱矩阵进行语音合成,得到与所述文本对应的音频。
13.一种存储介质,其特征在于,所述存储介质存储有适于语音合成的程序,以实现如权利要求1-11任一项所述的语音合成方法。
14.一种设备,其特征在于,包括至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述程序,以执行如权利要求1-11任一项所述的语音合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911095971.8A CN112786000B (zh) | 2019-11-11 | 2019-11-11 | 语音合成方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911095971.8A CN112786000B (zh) | 2019-11-11 | 2019-11-11 | 语音合成方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112786000A true CN112786000A (zh) | 2021-05-11 |
CN112786000B CN112786000B (zh) | 2022-06-03 |
Family
ID=75749803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911095971.8A Active CN112786000B (zh) | 2019-11-11 | 2019-11-11 | 语音合成方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112786000B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765926A (zh) * | 2024-02-19 | 2024-03-26 | 上海蜜度科技股份有限公司 | 语音合成方法、系统、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065619A (zh) * | 2012-12-26 | 2013-04-24 | 安徽科大讯飞信息科技股份有限公司 | 一种语音合成方法和语音合成系统 |
CN109036371A (zh) * | 2018-07-19 | 2018-12-18 | 北京光年无限科技有限公司 | 用于语音合成的音频数据生成方法及系统 |
US10186252B1 (en) * | 2015-08-13 | 2019-01-22 | Oben, Inc. | Text to speech synthesis using deep neural network with constant unit length spectrogram |
CN109754778A (zh) * | 2019-01-17 | 2019-05-14 | 平安科技(深圳)有限公司 | 文本的语音合成方法、装置和计算机设备 |
CN109767755A (zh) * | 2019-03-01 | 2019-05-17 | 广州多益网络股份有限公司 | 一种语音合成方法和系统 |
CN110070852A (zh) * | 2019-04-26 | 2019-07-30 | 平安科技(深圳)有限公司 | 合成中文语音的方法、装置、设备及存储介质 |
-
2019
- 2019-11-11 CN CN201911095971.8A patent/CN112786000B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065619A (zh) * | 2012-12-26 | 2013-04-24 | 安徽科大讯飞信息科技股份有限公司 | 一种语音合成方法和语音合成系统 |
US10186252B1 (en) * | 2015-08-13 | 2019-01-22 | Oben, Inc. | Text to speech synthesis using deep neural network with constant unit length spectrogram |
CN109036371A (zh) * | 2018-07-19 | 2018-12-18 | 北京光年无限科技有限公司 | 用于语音合成的音频数据生成方法及系统 |
CN109754778A (zh) * | 2019-01-17 | 2019-05-14 | 平安科技(深圳)有限公司 | 文本的语音合成方法、装置和计算机设备 |
CN109767755A (zh) * | 2019-03-01 | 2019-05-17 | 广州多益网络股份有限公司 | 一种语音合成方法和系统 |
CN110070852A (zh) * | 2019-04-26 | 2019-07-30 | 平安科技(深圳)有限公司 | 合成中文语音的方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈宙斯,胡文心: "简化LSTM的语音合成", 《计算机工程与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765926A (zh) * | 2024-02-19 | 2024-03-26 | 上海蜜度科技股份有限公司 | 语音合成方法、系统、电子设备及介质 |
CN117765926B (zh) * | 2024-02-19 | 2024-05-14 | 上海蜜度科技股份有限公司 | 语音合成方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112786000B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111292720B (zh) | 语音合成方法、装置、计算机可读介质及电子设备 | |
CN111199727B (zh) | 语音识别模型训练方法、系统、移动终端及存储介质 | |
CN110288972B (zh) | 语音合成模型训练方法、语音合成方法及装置 | |
CN108305612A (zh) | 文本处理、模型训练方法、装置、存储介质和计算机设备 | |
US20210097974A1 (en) | Training method and apparatus for a speech synthesis model, and storage medium | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
US20220277728A1 (en) | Paragraph synthesis with cross utterance features for neural TTS | |
CN112365878B (zh) | 语音合成方法、装置、设备及计算机可读存储介质 | |
CN111930900B (zh) | 标准发音生成方法及相关装置 | |
CN108417222B (zh) | 加权有限状态变换器解码系统以及语音识别系统 | |
CN111223476B (zh) | 语音特征向量的提取方法、装置、计算机设备和存储介质 | |
CN112463942A (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
CN113450765A (zh) | 语音合成方法、装置、设备及存储介质 | |
CN114822519A (zh) | 中文语音识别纠错方法、装置及电子设备 | |
KR102167157B1 (ko) | 발음 변이를 적용시킨 음성 인식 방법 | |
CN115762489A (zh) | 语音识别模型的数据处理系统及方法、语音识别方法 | |
CN113450758B (zh) | 语音合成方法、装置、设备及介质 | |
CN112786000B (zh) | 语音合成方法、系统、设备及存储介质 | |
CN112735377B (zh) | 语音合成方法、装置、终端设备及存储介质 | |
CN111475635B (zh) | 语义补全方法、装置和电子设备 | |
CN116469374A (zh) | 基于情感空间的语音合成方法、装置、设备及存储介质 | |
CN110516125A (zh) | 识别异常字符串的方法、装置、设备及可读存储介质 | |
CN114783405B (zh) | 一种语音合成方法、装置、电子设备及存储介质 | |
JP2021503104A (ja) | 自動音声認識装置及び方法 | |
CN112818688B (zh) | 文本处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |