CN112735377B - 语音合成方法、装置、终端设备及存储介质 - Google Patents
语音合成方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN112735377B CN112735377B CN202011582978.5A CN202011582978A CN112735377B CN 112735377 B CN112735377 B CN 112735377B CN 202011582978 A CN202011582978 A CN 202011582978A CN 112735377 B CN112735377 B CN 112735377B
- Authority
- CN
- China
- Prior art keywords
- sequence
- preset
- time step
- synthesized
- character embedding
- 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.)
- Active
Links
- 238000001308 synthesis method Methods 0.000 title abstract description 32
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 72
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000001228 spectrum Methods 0.000 claims abstract description 15
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 13
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 16
- 239000002131 composite material Substances 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000004913 activation Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- 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/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
- G10L2013/083—Special characters, e.g. punctuation marks
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本申请适用于人工智能技术领域,提供了一种语音合成方法、装置、终端设备及存储介质,方法包括:通过预设编码器将待合成文本生成为字符嵌入序列;基于注意力机制,确定在每个时间步上的字符嵌入序列对应的注意力权重序列;通过预设解码器利用每个时间步上的字符嵌入序列与注意力权重序列,输出每个时间步对应的目标序列;对于每个时间步,通过预设的停止预测网络利用目标序列和字符嵌入序列确定合成停止标签,合成停止标签用于表征待合成文本的合成状态;若合成停止标签为预设值,则根据预设解码器输出的所有目标序列合成待合成文本对应的线性谱。本方法提高了语音合成效率的可控性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种语音合成方法、装置、终端设备及计算机可读存储介质。
背景技术
语音合成技术可以基于文本合成高质量音频,能够在诸多人机交互场景提升用户体验。目前,语音合成技术主要包括基于参数式的语音合成方法和基于深度学习的语音合成方法。其中基于参数式的语音合成方法所合成的音频质量较低,很容易与人类真实音频区别开来。而基于深度学习的语音合成方法可以合成非常高质量的音频,但是由于待合成语音的长度不一定,通常不能很好地预测待合成语音的停止时间。例如在合成较长语音片段时,在合成过程应该停止的时候,却可能出现发出随机的声音,或者是产生一长段静音片段的情况。可见,当前的语音合成方法存在合成效果不可控的问题。
发明内容
有鉴于此,本申请实施例提供了一种语音合成方法、装置、终端设备及计算机可读存储介质,以解决现有技术中语音合成方法存在合成效果不可控的问题。
本申请实施例的第一方面提供了一种语音合成方法,包括:
通过预设编码器将待合成文本生成为字符嵌入序列;
基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列;
通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列;
对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,所述合成停止标签用于表征所述待合成文本的合成状态;
若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱。
本申请实施例的第二方面提供了一种语音合成装置,包括:
生成模块,用于通过预设编码器将待合成文本生成为字符嵌入序列;
第一确定模块,用于基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列;
第一输出模块,用于通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列;
第二确定模块,用于对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,所述合成停止标签用于表征所述待合成文本的合成状态;
第二输出模块,用于若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱。
本申请实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在终端设备上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方案提供的语音合成方法的各步骤。
本申请实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方案提供的语音合成方法的各步骤。
实施本申请实施例提供的一种语音合成方法、语音合成装置、终端设备及计算机可读存储介质具有以下有益效果:
本申请实施例提供的一种语音合成方法,基于机器学习合成与人类高度相似的语音,提高语音合成质量。具体地,通过预设编码器将待合成文本生成为字符嵌入序列,并基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列,再通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列,从而获得seq2seq中decoder的信息以及前面时刻注意力所集中到的位置信息;然后对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,停止预测网络利用了seq2seq中decoder的信息以及前面时刻注意力所集中到的位置信息,可以有效地判断seq2seq模型应该在何时停止输出,从而不会存在模型不能正常停止的情况;最后若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱。与现有的端到端的语音合成方法相比,能够更加准确的确定语音合成的停止时间,从而使语音合成效果更加可控。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种语音合成方法的实现流程图;
图2是本申请另一实施例提供的一种语音合成方法的实现流程图;
图3是本申请实施例提供的一种语音合成装置的结构框图;
图4是本申请实施例提供的一种终端设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在相关技术中,语音合成技术主要包括基于参数式的语音合成方法和基于深度学习的语音合成方法。其中基于参数式的语音合成方法所合成的音频质量较低,很容易与人类真实音频区别开来。而基于深度学习的语音合成方法可以合成非常高质量的音频,但是由于待合成语音的长度不一定,通常不能很好地预测待合成语音的停止时间。例如在合成较长语音片段时,在合成过程应该停止的时候,却可能出现发出随机的声音,或者是产生一长段静音片段的情况。可见,当前的语音合成方法存在合成效果不可控的问题。
有鉴于此,本申请实施例提供一种语言合成方法,基于机器学习合成与人类高度相似的语音,提高语音合成质量。具体地,通过预设编码器将待合成文本生成为字符嵌入序列,并基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列,再通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列,从而获得seq2seq中decoder的信息以及前面时刻注意力所集中到的位置信息;然后对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,停止预测网络利用了seq2seq中decoder的信息以及前面时刻注意力所集中到的位置信息,可以有效地判断seq2seq模型应该在何时停止输出,从而不会存在模型不能正常停止的情况;最后若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱。与现有的端到端的语音合成方法相比,能够更加准确的确定语音合成的停止时间,从而使语音合成效果更加可控。
请参阅图1,图1示出了本申请实施例提供的一种语音合成方法的实现流程图。本实施提供的语音合成方法的执行主体为终端设备,该终端设备可以是包括但不限于智能手机、平板电脑、桌上型计算机、超级计算机、个人数字助理等终端。如图1所示的语音合成方法的包括步骤S101至S105,详述如下。
S101,通过预设编码器将待合成文本生成为字符嵌入序列;
在本实施例中,待合成文本为准备合成为语音的文本,文本是指书面语言的表现形式,通常是具有完整、系统含义的一个句子或多个句子的组合。字符嵌入序列为基于待合成文本的拼音和标点符号生成的特征序列。预设编码器可以为seq2seq模型中的编码器,预设编码器将待合成文本编码为字符嵌入序列,以作为seq2seq模型中的预设解码器的输入,从而便于预设解码器对待合成文本进行语音合成与识别。
seq2seq模型属于循环神经网络(RNN)模型,其可以实现任意长度的输入序列到任意长度的输出序列之间的变换,所以能够将任意长度的文本序列转换为其他任意长度的语音序列。seq2seq模型为编码器-解码器(encoder-decoder)结构,encoder和decoder分别为一个RNN。encoder负责将输入序列压缩成指定长度的向量,decoder则负责将encoder输出的向量生成其他长度的序列。应理解,预设编码器还可以由LSTM(Long Short-TermMemory,长短期记忆网络)、闸控卷积神经网络或时延网络所构建得到。
本实施例预先利用已标注好的样本文本对seq2seq模型进行训练,直至模型达到预设收敛条件。预设收敛条件为表示模型训练完成的条件,例如损失函数得到的损失值小于预设损失阈值,则表示收敛。可以通俗理解为,损失值越小表示该模型提取到的特征向量越准确,这样才能根据提取到的特征向量还原到最接近样本文本的语音。示例性地,将样本文本输入到seq2seq模型中进行处理,得到该样本文本对应的语音;计算输入的样本文本与语音之间的损失值,当该损失值大于或等于预设损失阈值时,调整seq2seq模型中的模型参数,并返回指向将样本文本输入到seq2seq模型中进行处理,得到该样本文本对应的语音的步骤;当该损失值小于预设损失阈值时,表示seq2seq模型训练完成,得到训练好的seq2seq模型。
需要说明的是,seq2seq模型可以在终端设备上训练好,也可以在其他设备训练好后,将seq2seq模型的模型文件和算法文件移植至本终端设备。也就是说,训练seq2seq模型的执行主体与使用seq2seq模型的执行主体可以相同,也可以不同。
在一实施例中,通过预设编码器将待合成文本生成为字符嵌入序列,包括:获取所述待合成文本,将所述待合成文本生成为字符嵌入向量;通过预设编码器将所述字符嵌入向量编码为字符嵌入序列。
在上述实现过程中,字符嵌入向量为待合成文本中每个字符进行独热编码或其他编码方式编码得到的特征向量。可选地,终端设备获取待合成文本,基于待合成文本中的每个字段对应的拼音以及标点符号,生成长度为N的字符嵌入向量,字符嵌入向量包括拼音向量和标点符号向量;再将字符嵌入向量输入到预设编码器,预设编码器对字符嵌入向量进行编码后,输出字符嵌入序列。
S102,基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列。
在本实施例中,基于seq2seq模型中的预设解码器确定字符嵌入序列的注意力权重序列,其中预设解码器含有注意力机制。具体地,在每个时间步上,对字符嵌入序列进行解码操作,输出该时间步的字符嵌入序列对应的注意力权重序列,其中字符嵌入序列的文本长度为N,则每个时间步对应输出一个长度为N的注意力权重序列。注意力权重序列中的每个值指的是相应的序列位置的权重,对于每个时间步中的N个序列位置的权重之和为1,一个序列位置的权重越大,表示该序列位置对应文本字段的影响越大。比如在时刻t权重为[0.01,0.04,0.85,0.1],第三个序列位置的权重最大,则表示t时刻的语音倾向于第三个序列位置对应的第三个文本。
S103,通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列。
在本实施例中,通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列,包括:在每个所述时间步上,通过所述预设解码器利用所述字符嵌入序列中的每个序列位置,以及所述序列位置对应的权重值进行点乘,得到多个乘积结果;将多个所述乘积结果进行求和,并将求和结果作为所述时间步对应的目标序列。
在上述实现方式中,编码器接收字符嵌入向量做输入并输出与其长度相同的字符嵌入序列Eo。解码器接收编码器的输出Eo,之后在每一个时间步上做解码,每次产生一个输出。每一个时间步上基于注意力机制,可以得到Eo的权重α,表示Eo的各部分对当前时刻所合成音频的影响权重,权重α的长度仍为N,最后解码器将Eo和α的点乘乘积和c作为输出。
S104,对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,所述合成停止标签用于表征所述待合成文本的合成状态。
在本实施例中,由于语音合成的停止时刻不能准确确定,所以有时出现已经完全合成好的语音重复播放,或者未合成合成完整的语音,因此本实施例通过停止预测网络利用seq2seq中decoder的信息以及前面时刻注意力所集中到的位置信息,可以有效地判断seq2seq模型应该在何时停止输出,从而不会存在模型不能正常停止的情况。
本实施例的停止预测网络由全连接层和激活层组成,可选为3个全连接层和3个激活层。在训练seq2seq模型时,利用解码器输出的目标序列和注意力权重序列对停止预测网络训练。示例性地,将解码器输出的目标序列输入到第一个全连接层,第一个全连接层对目标序列进行全连接后,将全连接结果输入到第一个激活层进行激活,得到第一序列结果;将注意力权重序列输入到第二个全连接层,第二个全连接层对注意力权重序列进行全连接后,将全连接结果输入到第二个激活层进行激活,得到第二序列结果;将第一序列结果和第二序列结果进行拼接后输入到第三个全连接层进行全连接,再将全连接结果输入到第三个激活层进行激活,输出合成停止标签。其中,当样本文本对应的目标音频在某个时刻有声音输出时,将此时刻的数据标签设为0,当没有声音输出时,将标签设为1。
可以理解的是,停止预测网络可以在终端设备上训练好,也可以在其他设备上训练好后,将训练好的停止预测网络的模型文件和算法文件移植至本终端设备上。也就是说,训练停止预测网络的执行主体与使用停止预测网络的执行主体可以相同,也可以不同。
S105,若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱。
在本实施例中,将停止预测网络输出的合成停止标签作为语音合成是否完成的判断依据,与现有的端到端的语音合成方法相比,能够更加准确的确定语音合成的停止时间,从而使语音合成效果更加可控。
在一实施例中,若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱,包括:若所述合成停止标签为预设值,则将所有所述目标序列进行拼接,得到拼接序列;将所述拼接序列输入预设全连接层进行语音合成,输出所述所述待合成文本对应的线性谱。
在上述实现方式中,当前停止预测网络的结构是一层全连接层,它的输入时解码器的输出(与本方法的第二个输入是一样的)。而本实施例的输入有解码器输出的目标序列和注意力权重序列两部分,这两部分分别通过两个全连接层进行全连接后拼接到一起,再将拼接后的输出通过一层全连接层进行全连接和激活,最终输出线性谱。这三个全连接层都是一个普通的全连接层加一个sigmoid激活函数,前两个全连接层的维度是128,最后一个全连接层的维度和当前的停止预测网络的全连接层的维度一样。
请参阅图2,图2是本申请另一实施例提供的一种语音合成方法的实现流程图。相对于图1对应的实施例,本实施例提供的语音合成方法在步骤S104包括S201和S202。详述如下:
S201,对于每个所述时间步,确定所述注意力权重序列中若干个最大权重值对应在所述字符嵌入序列中的若干个位置序列,与所述字符嵌入序列的最后一个位置序列之间的相对位置序列。
在本实施例中,在每一个时间步t上,记录权重α最大的前若干位的序列位置相对于字符嵌入序列最后一位的位置,记为其中pi∈[0,1,2,…,N-1],pi∈0时表示最后一个字符的位置,pi∈N-1表示第一个字符的位置。其中权重位数太大会使计算量增大,太小会使信息量不够,所以前若干位可以是前5位。实际上每个时刻(时间步)中权重序列都是和文本序列是等长的,权重序列的和为1,其中每一个值代表的是文本序列中相应位置的权重。比如对于“你好。”这句话(实际模型中不是直接将汉字输入,这里简化一下,假设序列就是这两个汉字和句号)。如果某个时刻的权重为[0.01,0.95,0.04]那么模型输出会受到“好”这个字的影响更大,也就是说这个时刻模型大概率输出的是“好”这个字的发音。如果权重为[0.01,0.04,0.95],模型大概率受到”。”这个句号的发音影响更大,所以模型知道自己已经将一整句话说完,马上可以停止。但是模型每个时刻算出来的权重也不一定完全准确,和当前的情况匹配,所以采用前五个时刻的输出综合考虑,防止某个时刻出现异常。
S202,根据所述时间步的时刻,通过预设的停止预测网络利用所述目标序列和所述相对位置序列确定合成停止标签。
在本实施例中,由于时间步时刻不同,在前时间步与在后时间步的目标序列和相对位置序列对合成停止的影响程度不同,在前时间步可能只受前面几个时间步的目标序列和相对位置序列的影响,在后时间步受到影响的时间步的目标序列和相对位置序列会更多。因此根据时间步的不同,采用不同的时间步时刻的目标序列和相对位置序列确定合成停止标签。
在一种可能实现的方式中,根据所述时间步的步数,通过预设的停止预测网络利用所述目标序列和所述相对位置序列确定合成停止标签,包括:若所述时间步的时刻不大于预设时刻,则将所述时间步之前的n个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签,所述n与所述预设步数的取值相等。
在上述实现方式中,假设n可以为5,因为本模型希望利用利用当前时刻前五个时刻的注意力的权重的信息,在t≤5的时候,前面只能拿到4个时刻的权重信息,不够,所以这里直接拿0补全。所以将[[0,0,0,0,0],…,[0,0,0,0,0]](数组中包含5个向量)等5个时刻的相对位置序列作为停止预测网络的第一个输入,将目标序列作为网络的第二个输入。
需要说明的是,网络中有一部分是利用目标序列作为输入来合成音频的,但是这里只考虑判断是否停止。原始的TTS模型中,只拿了目标序列作为停止预测网络的输入,直接是从目标序列中来提取信息判断是否让解码器停止工作,而这里也保留了目标序列作为输入。
在另一种可能实现的方式中,根据所述时间步的步数,通过预设的停止预测网络利用所述目标序列和所述相对位置序列确定合成停止标签,包括:若所述时间步的时刻大于预设时刻,则将所述时间步以及所述时间步之前的m个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签。
在上述实现方式中,假设m为5,将第5时刻以及第5时刻之前的5个时刻的相对位置序列拼在一起作为停止预测网络的第一个输入,记为t=5;将目标序列作为网络的第二个输入。需要说明的是,之所以将第5时刻以及第5时刻之前的5个时刻的相对位置序列拼在一起作为停止预测网络的第一个输入,是因为这些信息可以代表模型在前五个时刻说的话距离文本最后一个字距离多远,可以让模型知道自己大概还要多久才能停止。
请参阅图3,图3是本申请实施例提供的一种语音合成装置的结构框图。本实施例中该移动终端包括的各单元用于执行图1至图2对应的实施例中的各步骤。具体请参阅图1至图2以及图1至图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,语音合成装置包括:
生成模块301,用于通过预设编码器将待合成文本生成为字符嵌入序列;
第一确定模块302,用于基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列;
第一输出模块303,用于通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列;
第二确定模块304,用于对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,所述合成停止标签用于表征所述待合成文本的合成状态;
第二输出模块305,用于若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱。
作为本申请一实施例,生成模块301,包括:
获取单元,用于获取所述待合成文本,将所述待合成文本生成为字符嵌入向量;
编码单元,用于通过预设编码器将所述字符嵌入向量编码为字符嵌入序列。
作为本申请一实施例,第一输出模块303,包括:
点乘单元,用于在每个所述时间步上,通过所述预设解码器利用所述字符嵌入序列中的每个序列位置,以及所述序列位置对应的权重值进行点乘,得到多个乘积结果;
求和单元,用于将多个所述乘积结果进行求和,并将求和结果作为所述时间步对应的目标序列。
作为本申请一实施例,第二确定模块304,包括:
第一确定单元,用于对于每个所述时间步,确定所述注意力权重序列中若干个最大权重值对应在所述字符嵌入序列中的若干个位置序列,与所述字符嵌入序列的最后一个位置序列之间的相对位置序列;
第二确定单元,用于根据所述时间步的时刻,通过预设的停止预测网络利用所述目标序列和所述相对位置序列确定合成停止标签。
作为本申请一实施例,第二确定单元,具体包括:
第一输出子单元,用于若所述时间步的时刻不大于预设时刻,则将所述时间步之前的n个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签,所述n与所述预设步数的取值相等。
作为本申请一实施例,第二确定单元,具体包括:
第二输出子单元,用于若所述时间步的时刻大于预设时刻,则将所述时间步以及所述时间步之前的m个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签。
作为本申请一实施例,第二输出模块305,包括:
拼接单元,用于若所述合成停止标签为预设值,则将所有所述目标序列进行拼接,得到拼接序列;
输出单元,用于将所述拼接序列输入预设全连接层进行语音合成,输出所述所述待合成文本对应的线性谱。
应当理解的是,图3示出的语音合成装置的结构框图中,各单元用于执行图1至图2对应的实施例中的各步骤,而对于图1至图2对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1至图2以及图1至图2所对应的实施例中的相关描述,此处不再赘述。
图4是本申请一实施例提供的一种终端设备的结构框图。如图4所示,该实施例的终端设备40包括:处理器41、存储器42以及存储在所述存储器42中并可在所述处理器41上运行的计算机程序43,例如语音合成方法的程序。处理器41执行所述计算机程序43时实现上述各个语音合成方法各实施例中的步骤,例如图1所示的S101至S105,或者图2所示的S201至S202。或者,所述处理器41执行所述计算机程序43时实现上述图3对应的实施例中各模块的功能,例如,图4所示的模块301至305的功能,具体请参阅图3对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序43可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器42中,并由所述处理器41执行,以完成本申请。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序43在所述计算机/终端40中的执行过程。例如,所述计算机程序43可以被分割成生成模块、第一确定模块、第一输出模块、第二确定模块以及第二输出模块,各模块具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器41、存储器42。本领域技术人员可以理解,图4仅仅是终端设备40的示例,并不构成对终端设备40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器41可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器42可以是所述终端设备40的内部存储模块,例如终端设备40的硬盘或内存。所述存储器42也可以是所述终端设备40的外部存储设备,例如所述终端设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器42还可以既包括所述终端设备40的内部存储模块也包括外部存储设备。所述存储器42用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器42还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (6)
1.一种语音合成方法,其特征在于,包括:
通过预设编码器将待合成文本生成为字符嵌入序列;
基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列;
通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列;
对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,所述合成停止标签用于表征所述待合成文本的合成状态;
若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱;
所述通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列,包括:
在每个所述时间步上,通过所述预设解码器利用所述字符嵌入序列中的每个序列位置,以及所述序列位置对应的权重值进行点乘,得到多个乘积结果;
将多个所述乘积结果进行求和,并将求和结果作为所述时间步对应的目标序列;
所述对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,包括:
对于每个所述时间步,确定所述注意力权重序列中若干个最大权重值对应在所述字符嵌入序列中的若干个位置序列,与所述字符嵌入序列的最后一个位置序列之间的相对位置序列;
若所述时间步的时刻不大于预设时刻,则将所述时间步之前的n个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签,所述n与预设步数的取值相等;若所述时间步的时刻大于预设时刻,则将所述时间步以及所述时间步之前的m个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签。
2.根据权利要求1所述的语音合成方法,其特征在于,所述通过预设编码器将待合成文本生成为字符嵌入序列,包括:
获取所述待合成文本,将所述待合成文本生成为字符嵌入向量;
通过预设编码器将所述字符嵌入向量编码为字符嵌入序列。
3.根据权利要求1所述的语音合成方法,其特征在于,若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱,包括:
若所述合成停止标签为预设值,则将所有所述目标序列进行拼接,得到拼接序列;
将所述拼接序列输入预设全连接层进行语音合成,输出所述待合成文本对应的线性谱。
4.一种语音合成装置,其特征在于,包括:
生成模块,用于通过预设编码器将待合成文本生成为字符嵌入序列;
第一确定模块,用于基于注意力机制,确定在每个时间步上的所述字符嵌入序列对应的注意力权重序列;
第一输出模块,用于通过预设解码器利用每个所述时间步上的所述字符嵌入序列与所述注意力权重序列,输出每个所述时间步对应的目标序列;
第二确定模块,用于对于每个时间步,通过预设的停止预测网络利用所述目标序列和所述字符嵌入序列确定合成停止标签,所述合成停止标签用于表征所述待合成文本的合成状态;
第二输出模块,用于若所述合成停止标签为预设值,则根据所述预设解码器输出的所有目标序列合成所述待合成文本对应的线性谱;
所述第一输出模块,包括:
点乘单元,用于在每个所述时间步上,通过所述预设解码器利用所述字符嵌入序列中的每个序列位置,以及所述序列位置对应的权重值进行点乘,得到多个乘积结果;
求和单元,用于将多个所述乘积结果进行求和,并将求和结果作为所述时间步对应的目标序列;
所述第二确定模块,包括:
第一确定单元,用于对于每个所述时间步,确定所述注意力权重序列中若干个最大权重值对应在所述字符嵌入序列中的若干个位置序列,与所述字符嵌入序列的最后一个位置序列之间的相对位置序列;
第二确定单元,若所述时间步的时刻不大于预设时刻,则将所述时间步之前的n个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签,所述n与预设步数的取值相等;若所述时间步的时刻大于预设时刻,则将所述时间步以及所述时间步之前的m个时刻的所述相对位置序列作为所述停止预测网络的第一个输入,将所述目标序列作为所述停止预测网络的第二个输入,输出所述合成停止标签。
5.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011582978.5A CN112735377B (zh) | 2020-12-28 | 2020-12-28 | 语音合成方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011582978.5A CN112735377B (zh) | 2020-12-28 | 2020-12-28 | 语音合成方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112735377A CN112735377A (zh) | 2021-04-30 |
CN112735377B true CN112735377B (zh) | 2024-01-02 |
Family
ID=75606962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011582978.5A Active CN112735377B (zh) | 2020-12-28 | 2020-12-28 | 语音合成方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112735377B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113421548B (zh) * | 2021-06-30 | 2024-02-06 | 平安科技(深圳)有限公司 | 语音合成方法、装置、计算机设备和存储介质 |
CN113707127B (zh) * | 2021-08-30 | 2023-12-15 | 中国科学院声学研究所 | 一种基于线性自注意力的语音合成方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150185A (ja) * | 2001-11-16 | 2003-05-23 | Fujitsu Ltd | 音声合成システムとその方法及びそれを実現するためのプログラム |
CN110288973A (zh) * | 2019-05-20 | 2019-09-27 | 平安科技(深圳)有限公司 | 语音合成方法、装置、设备及计算机可读存储介质 |
CN110444203A (zh) * | 2019-07-17 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置及电子设备 |
CN110619867A (zh) * | 2019-09-27 | 2019-12-27 | 百度在线网络技术(北京)有限公司 | 语音合成模型的训练方法、装置、电子设备及存储介质 |
CN110808027A (zh) * | 2019-11-05 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 语音合成方法、装置以及新闻播报方法、系统 |
WO2020048721A1 (en) * | 2018-09-04 | 2020-03-12 | Siemens Aktiengesellschaft | System and method for natural language processing |
CN111667812A (zh) * | 2020-05-29 | 2020-09-15 | 北京声智科技有限公司 | 一种语音合成方法、装置、设备及存储介质 |
KR20200111608A (ko) * | 2019-12-16 | 2020-09-29 | 휴멜로 주식회사 | 음성 합성 장치 및 그 방법 |
CN111816158A (zh) * | 2019-09-17 | 2020-10-23 | 北京京东尚科信息技术有限公司 | 一种语音合成方法及装置、存储介质 |
-
2020
- 2020-12-28 CN CN202011582978.5A patent/CN112735377B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150185A (ja) * | 2001-11-16 | 2003-05-23 | Fujitsu Ltd | 音声合成システムとその方法及びそれを実現するためのプログラム |
WO2020048721A1 (en) * | 2018-09-04 | 2020-03-12 | Siemens Aktiengesellschaft | System and method for natural language processing |
CN110288973A (zh) * | 2019-05-20 | 2019-09-27 | 平安科技(深圳)有限公司 | 语音合成方法、装置、设备及计算机可读存储介质 |
CN110444203A (zh) * | 2019-07-17 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置及电子设备 |
CN111816158A (zh) * | 2019-09-17 | 2020-10-23 | 北京京东尚科信息技术有限公司 | 一种语音合成方法及装置、存储介质 |
CN110619867A (zh) * | 2019-09-27 | 2019-12-27 | 百度在线网络技术(北京)有限公司 | 语音合成模型的训练方法、装置、电子设备及存储介质 |
CN110808027A (zh) * | 2019-11-05 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 语音合成方法、装置以及新闻播报方法、系统 |
KR20200111608A (ko) * | 2019-12-16 | 2020-09-29 | 휴멜로 주식회사 | 음성 합성 장치 및 그 방법 |
CN111667812A (zh) * | 2020-05-29 | 2020-09-15 | 北京声智科技有限公司 | 一种语音合成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112735377A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112735373B (zh) | 语音合成方法、装置、设备及存储介质 | |
CN110288973B (zh) | 语音合成方法、装置、设备及计算机可读存储介质 | |
CN110288980A (zh) | 语音识别方法、模型的训练方法、装置、设备及存储介质 | |
JP7238204B2 (ja) | 音声合成方法及び装置、記憶媒体 | |
JP7554926B2 (ja) | 並列タコトロン:非自己回帰的で制御可能なtts | |
CN110288972B (zh) | 语音合成模型训练方法、语音合成方法及装置 | |
CN114175143A (zh) | 控制端到端语音合成系统中的表达性 | |
US20220277728A1 (en) | Paragraph synthesis with cross utterance features for neural TTS | |
CN116884391B (zh) | 基于扩散模型的多模态融合音频生成方法及装置 | |
CN113450765B (zh) | 语音合成方法、装置、设备及存储介质 | |
CN111899716A (zh) | 一种语音合成方法和系统 | |
CN112735377B (zh) | 语音合成方法、装置、终端设备及存储介质 | |
CN113886643A (zh) | 数字人视频生成方法、装置、电子设备和存储介质 | |
CN112463942B (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
CN111627420A (zh) | 极低资源下的特定发音人情感语音合成方法及装置 | |
CN116670757A (zh) | 用于简化的流式和非流式语音识别的级联编码器 | |
CN113327578B (zh) | 一种声学模型训练方法、装置、终端设备及存储介质 | |
CN111339771A (zh) | 一种基于多任务多层级模型的文本韵律预测方法 | |
CN117727290A (zh) | 一种语音合成方法、装置、设备及可读存储介质 | |
CN117012177A (zh) | 语音合成方法、电子设备和存储介质 | |
CN114783405B (zh) | 一种语音合成方法、装置、电子设备及存储介质 | |
CN116469374A (zh) | 基于情感空间的语音合成方法、装置、设备及存储介质 | |
CN115966197A (zh) | 语音合成方法、装置、电子设备和存储介质 | |
US20230013587A1 (en) | Advancing the Use of Text and Speech in ASR Pretraining With Consistency and Contrastive Losses | |
CN115359780A (zh) | 语音合成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40041533 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |