CN110782869A - 语音合成方法、装置、系统和存储介质 - Google Patents
语音合成方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN110782869A CN110782869A CN201911050426.7A CN201911050426A CN110782869A CN 110782869 A CN110782869 A CN 110782869A CN 201911050426 A CN201911050426 A CN 201911050426A CN 110782869 A CN110782869 A CN 110782869A
- Authority
- CN
- China
- Prior art keywords
- text
- synthesized
- voice
- database
- speech
- 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.)
- Pending
Links
- 238000001308 synthesis method Methods 0.000 title claims abstract description 62
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 361
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 361
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 10
- 230000002194 synthesizing effect Effects 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004904 shortening Methods 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
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of 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
- G10L13/00—Speech synthesis; Text to speech systems
-
- 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/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
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)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种语音合成方法、装置、系统和存储介质。所述方法包括:获取语音合成请求,并提取所述请求中的待合成文本;从第一数据库中搜索与所述待合成文本相对应的语音;对于在所述第一数据库的语音中搜索到满足所述请求的与所述待合成文本相对应的语音的情况,输出所述第一数据库中的与所述待合成文本对应的第一语音;对于在所述第一数据库的语音中未搜索到满足所述请求的与所述待合成文本相对应的语音的情况,利用语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的与所述待合成文本对应的第二语音;输出所述第二语音。由此,本发明实施例能够提高对用户的语音合成请求的响应速度,提升用户体验。
Description
技术领域
本发明涉及数据处理领域,更具体地涉及一种语音合成方法、装置、系统和存储介质。
背景技术
语音合成技术,通过将文本转换成语音来让机器发声,是实现人机交互的重要环节。随着语音合成技术的快速发展,用于实现将文本转换成语音的语音合成模型不断涌现。例如基于神经网络的语音合成模型,具体例如wavenet模型、waveglow模型、wavernn等,其语音合成质量远远优于常规的语音合成模型如LPC模型、LSP模型,从而为用户获取高质量的合成语音创造了条件。
但基于神经网络的语音合成模型,因为模型复杂、计算量大,所以难以快速完成语音合成。由此,难以满足用户尽快获得语音的需求,影响了用户体验。
发明内容
考虑到上述问题而提出了本发明。
根据本发明一个方面,提供了一种语音合成方法。所述方法包括:
获取语音合成请求,并提取所述请求中的待合成文本;
从第一数据库中搜索满足所述请求的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音,所述语音对应于所述待合成文本;
对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,输出所述第一数据库中的所述满足所述请求的第一语音;
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,
利用第一语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的第二语音;
输出所述第二语音。
示例性的,所述语音合成方法还包括:
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,
在输出所述第二语音之后且当满足预设条件时,利用第二语音合成模型对所述待合成文本进行语音合成,以生成与所述待合成文本对应的第三语音,其中所述第二语音合成模型的语音合成质量优于用于生成所述第一语音的语音合成模型的语音合成质量;
将所述待合成文本以及所述第三语音对应地存储到所述第一数据库。
示例性的,所述语音合成方法还包括:
在所述利用第二语音合成模型对所述待合成文本进行语音合成的步骤之前,将所述待合成文本存储到所述第二数据库;
在所述将所述待合成文本以及所述第三语音对应地存储到所述第一数据库之后,将所述待合成文本从所述第二数据库中删除。
示例性的,在所述将所述待合成文本存储到所述第二数据库之前,所述语音合成方法还包括:
判断所述待合成文本被预设统计周期内的语音合成请求调用的频率是否大于第一阈值;
其中,所述将所述待合成文本存储到所述第二数据库仅在所述待合成文本被预设统计周期内的语音合成请求调用的频率大于所述第一阈值的情况下执行。
示例性的,在所述将所述待合成文本存储到所述第二数据库之后,所述语音合成方法还包括:
基于被预设统计周期内的语音合成请求调用的频率由高到低的顺序,将所述待合成文本与所述第二数据库中存储的其它待合成文本进行排序,以按照所排顺序对所述第二数据库中存储的待合成文本进行语音合成;
其中,所述利用第二语音合成模型对所述待合成文本进行语音合成在排序在所述待合成文本之前的其它待合成文本正在或已完成语音合成的情况下执行。
示例性的,所述预设条件包括以下条件中的一个或多个:
用于执行所述语音合成方法的计算设备的处理器的使用率低于第二阈值;
当前时刻到达预设的第一执行时刻。
示例性的,所述语音合成请求包括:合成质量参数;
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,在所述利用第一语音合成模型对所述待合成文本进行语音合成之前,所述语音合成方法还包括:
根据所述合成质量参数确定所述第一语音合成模型。
示例性的,在所述输出所述第二语音之后,所述语音合成方法还包括:
将所述待合成文本以及所述第二语音对应地存储到所述第一数据库中。
示例性的,对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,在输出所述第一数据库中的与所述待合成文本对应的第一语音之前,所述语音合成方法还包括:
获取所述语音合成请求中的语音类型标签;
根据所述语音类型标签确定所述第一语音。
示例性的,所述提取所述请求中的待合成文本包括:
接收所述语音合成请求中的整个文本;
基于所述整个文本中的标点符号,将所述整体文本划分为一个或多个分句以作为所述待合成文本。
示例性的,在所述获取语音合成请求,并提取所述请求中的待合成文本之前,所述语音合成方法还包括:
统计应用场景中的现有文本的使用频率;
在所述现有文本中确定使用频率大于第三阈值的文本作为所述文本句;
对所述文本句进行语音合成,以生成与所述文本句分别对应的语音;
将所述文本句以及与所述文本句分别对应的语音对应地存储到所述第一数据库。
根据本发明另一方面,还提供了一种语音合成装置,包括:
文本获取模块,用于获取语音合成请求,并提取所述请求中的待合成文本;
搜索模块,用于从第一数据库中搜索满足所述请求的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音;
第一输出模块,用于对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,输出所述第一数据库中的与所述待合成文本对应的第一语音;
合成模块,用于对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,利用第一语音合成模型对所述待合成文本进行语音合成,以生成与所述待合成文本对应的第二语音;
第二输出模块,适应于输出所述第二语音。
根据本发明再一方面,还提供了一种语音合成系统,包括:处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的语音合成方法。
根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述的语音合成方法。
根据本发明实施例的技术方案,实现了预先语音存储技术和实时语音合成技术的结合。对于语音合成请求中的待合成文本,若已经预先存储过与所述待合成文本对应的语音,则直接输出预先存储的所述对应的语音;若未预先存储过与所述待合成文本对应的语音,则对其进行语音合成后,再输出通过语音合成生成的与所述待合成文本对应的语音。由此,该技术方案提高了对用户的语音合成请求的响应速度,提升了用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出了现有技术的语音合成方法的示意性流程图;
图2示出了根据本发明一个实施例的语音合成方法的示意性流程图;
图3示出了根据本发明一个实施例的语音合成方法中建立第一数据库的示意性流程图;
图4示出了根据本发明一个实施例的语音合成方法中获取语音合成请求中的待合成文本的示意性流程图;
图5示出了根据本发明一个实施例的语音合成方法中确定第一语音的示意性流程图;
图6示出了根据本发明一个实施例的语音合成方法中更新第一数据库的示意性流程图;
图7示出了根据本发明一个实施例的语音合成装置的示意性框图;
图8示出了根据本发明一个实施例的语音合成系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
本文描述的语音合成方案基于待合成文本输出对应的语音。该方案可应用于语音生成、视频生成等应用场景的后端语音合成过程中。本发明根据是否预先存储过与待合成文本相对应的语音,确定直接输出预先存储的相对应的语音,或者是先进行语音合成后,再输出通过语音合成生成的语音。由此,可以达到缩短语音合成响应时间的有益效果。
图1示出了现有技术的语音合成方法的示意性流程图。如图1所示,现有的语音合成方法主要包括以下几个步骤:
S110:获取语音合成请求,提取语音合成请求中的待合成文本;
S120:对所述待合成文本进行语音合成,以生成与所述待合成文本相对应的语音;
S130:将生成的语音输出。
通过以上内容可知,现有技术中是接收到语音合成请求之后,对所述待合成文本进行语音合成而生成并输出相应的语音。本领域普通技术人员可以理解,语音合成过程可以通过各种语音合成模型实现。但语音合成的数据处理量较大,并且计算复杂度较高,由此,难以满足用户的快速语音合成需求,严重影响了用户的体验。
为了至少部分地解决上述技术问题,本发明提出了一种语音合成方法。本发明对于语音合成请求中的待合成文本,若确定已经预先存储过与所述待合成文本对应的语音,则直接输出预先存储的与所述待合成文本对应的语音;若确定未预先存储过与所述待合成文本对应的语音,则对待合成文本进行语音合成以生成并输出与所述待合成文本相对应的语音。
图2示出了根据本发明一个实施例的语音合成方法的示意性流程图。如图2所示,语音合成方法200包括以下步骤:
S210:获取语音合成请求,并提取所述请求中的待合成文本。
本发明所述语音合成请求,指的是用户发出的将特定文本转化为语音的请求。可以通过多种方式获取语音合成请求。例如,可以为用户提供人机交互界面,该人机交互界面中可以包括多种人机交互控件,例如文本框、按钮等。可以利用该文本框接收用户期望语音合成的特定文本,并接收通过用户点击语音合成按钮所发出的语音合成请求。用于运行所述语音合成方法200的计算机系统接收到用户发出的语音合成请求之后,可以提取用户在文本框中输入的特定文本,以获得待合成文本。
可以理解,步骤S210可以是通过有线或无线网络在线获取语音合成请求。
上述待合成文本可以包括词语、短语、短句、长句等各种组成形式,另外待合成文本也不限于一个词语、一个短语、一个短句、一个长句,还可以是包含多种标点符号的多个词语、多个短语、多个短句或多个长句等。
S220:从第一数据库中搜索满足所述请求的语音,其中所述第一数据库中存储有文本句以及与所述文本句分别对应的语音。可以理解,满足所述请求的语音必然对应于待合成文本。
本发明中的第一数据库预先存储有一个或多个文本句以及与每个文本句分别对应的语音。文本句可以是词语、短语、短句、长句等各种组成形式,并且文本句也不限于一个词语、一个短语、一个短句、一个长句,还可以是包含多种标点符号的多个词语、多个短语、多个短句或多个长句等。
与文本句分别对应的语音可以是利用语音合成模型对文本句进行语音合成而得到的。语音合成模型可以是任何现有的或未来研发的用于实现语音合成的模型,例如基于波形拼接的语音合成模型、基于HMM统计参数的语音合成模型以及基于深度神经网络的语音合成模型等。目前基于深度神经网络的语音合成模型已经成为语音合成领域的主流方法,其能够利用深层神经网络强大的非线性建模能力,有效提升建模精度。具体的,基于深度神经网络的语音合成模型可以包括基于深度信念网络(DBN)的语音合成模型、基于深度混合密度网络(DMDN)的语音合成模型、基于深度双向长短时记忆网络(DBLSTM-RNN)的语音合成模型、WaveNet语音合成模型、waveglow语音合成模型等。
本领域普通技术人员可以理解,不同语音合成模型的语音合成质量是各不相同的。例如,利用基于波形拼接的语音合成模型生成的合成语音具有声音清晰的优点,缺点是基元之间不够连贯,使得合成语音的自然度不够令人满意;利用基于HMM统计参数的语音合成模型生成的合成语音具有声音圆润的优点,缺点是受限于精度不足等因素,使得合成的语音表现力若,声音发闷;基于神经网络的语音合成模型相较于上述两种语音合成模型,在个性化音色、情感表现力方面的性能明显提高,但缺点是计算量比较大,从而造成语音合成过程响应时间长、合成效率低的问题。
在此步骤S220中,在一个示例中,可以是先从第一数据库中搜索待合成文本,再根据文本句和语音的对应关系查找与待合成文本相对应的语音。可以理解,只有在第一数据库中搜索到所述待合成文本的情况下,才有可能搜索到与所述待合成文本相对应的语音。如果在第一数据库中没有搜索到所述待合成文本的情况下,也必然无法搜索到与所述待合成文本相对应的语音。可以以该待合成文本的整体或部分组成内容作为搜索词,将该搜索词与第一数据库中的文本句进行逐一比对,以从第一数据库中进行搜索。例如,假设待合成文本为“白日依山尽,黄河入海流”,可以将“白日依山尽,黄河入海流”作为一个整体直接从第一数据库中进行搜索。替代地,可以先将待合成文本根据标点符号或其他语音规则拆分为多个分句,仍以待合成文本“白日依山尽,黄河入海流”为例,可以将其拆分为“白日依山尽”和“黄河入海流”两个分句。然后,再按照分句的先后顺序分别从第一数据库中搜索每个分句。
在第一数据库中搜索到所述待合成文本的情况下,可以进一步根据文本句与语音之间的对应关系搜索到对应的语音。
可以理解,语音合成请求中可能包括关于语音的要求信息,例如某种特定类型的语音。如果包括语音要求信息的话,还需要根据所述语音要求信息,确定从第一数据库中搜索到的对应于所述待合成文本的语音是否满足该语音要求信息,只有满足该语音要求信息的语音才是满足所述请求的语音。
当然,如果语音合成请求中不包括关于语音的语音要求信息,那么只要在第一数据库中搜索到了对应于待合成文本的语音,即为满足所述请求的语音。
S230:对于在所述第一数据库中的文本句中搜索到满足所述请求的语音的情况,输出所述第一数据库中的满足所述请求的第一语音。
根据前述内容可知,对于待合成文本的搜索,既可以是将待合成文本作为整体进行搜索,也可以将待合成文本根据标点符号等拆分为多个分句,再依次对分句进行搜索。对于后一种情况,会按照分句的顺序依次输出与每个分句相对应的语音。仍以待合成文本“白日依山尽,黄河入海流”为例,当上述待合成文本被拆分为“白日依山尽”和“黄河入海流”两个分句时,首先从第一数据库中搜索分句“白日依山尽”,若可以搜索到,则表明与“白日依山尽”相对应的合成语音已经存在,此时可以直接输出与“白日依山尽”相对应的合成语音。然后再从第一数据库中搜索分句“黄河入海流”,若能搜索到,同样直接输出与分句“黄河入海流”相对应的合成语音。
实际上,当待合成文本中包含多个标点符号时,将待合成文本首先拆分为多个分句,依次按照每个分句的顺序从第一数据库中进行搜索,相对于把待合成文本作为一个整体搜索时的搜索命中率要高得多。因为对于机器识别来说,两个待合成文本之间的任何一点细微差异都会被作为完全不同的两个文本进行处理,而将待合成文本拆分为粒度较小的分句时,分句之间存在差异的可能性大大降低,从而能够提高搜索命中率。同时对于第一数据库而言,不需要存储多个内容相近的长句,而只需要存储长句中的每一个分句,因此可以有效降低第一数据库中的数据存储量,提高搜索效率。
S240:对于在所述第一数据库中的文本句中未搜索到满足所述请求的语音的情况,利用第一语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的与所述待合成文本相对应的第二语音。
若从第一数据库中没有搜索到满足语音合成请求的语音,可以通过第一语音合成模型进行在线语音合成以得到满足语音合成请求的第二语音。
本步骤中的第一语音合成模型可以是任何现有的或未来研发的用于实现语音合成的模型。在一个示例中,选用基于波形拼接的语音合成模型、基于HMM统计参数的语音合成模型。上述两种语音合成模型的计算量小、响应速度快,对于在线语音合成的场景中通过上述两种语音合成模型可以有效缩短用户等待时间,提升用户体验。在另一个示例中,若用户发出的语音合成请求包括要求信息,例如合成质量参数,则本步骤选用满足该要求信息的、基于深度神经网络的语音合成模型,从而保证较高的语音合成质量。
S250:输出所述第二语音。
在步骤S240已经生成满足语音合成请求的第二语音的基础上,本步骤用于向用户输出所述第二语音。
可以理解,上述步骤S220至步骤S250均可以在获取待合成文本后,实时在线执行,以提高系统的响应速度。
上述技术方案中,优先利用第一数据库中预先存储的语音来响应用户的语音合成请求,如果第一数据库中未发现满足语音合成请求的语音,才实时进行对其进行语音合成并输出合成语音。由此,无需对任何待合成文本都实时执行语音合成,提高了对用户的语音合成请求的响应速度,提升了用户体验。
示例性的,上述语音合成方法还包括:在接收用户的语音合成请求之前,建立第一数据库。在第一数据库中预先存储多个文本句以及与每个文本句相对应的语音。图3示出了根据本发明一个实施例的语音合成方法中建立第一数据库的示意性流程图。建立第一数据库具体可以包括以下步骤。
S310:统计应用场景中的现有文本的使用频率。
在需要文语转换(TTS)的具体应用场景中,不同场景一般包含不同的现有文本。例如在古诗词赏析的应用场景中,现有文本可以包括唐诗/宋词/元曲等内容。在电影台词赏析的应用场景中,现有文本可以包括国内外高分电影中的经典台词,等等。
本步骤用于统计具体应用场景中涉及的现有文本的使用频率。以上文中的古诗词赏析的应用场景为例,可以统计在固定统计周期内特定的唐诗、宋词、元曲被使用的频率。例如统计某诗句在最近一个月内被使用的频率。一般而言,越是人们耳熟能详的内容其使用频率也就越高,例如“床前明月光,疑是地上霜”,“白日依山尽,黄河入海流”等等可能均属于使用频率较高的现有文本。
S320:在所述现有文本中确定使用频率大于第三阈值的文本作为用于存储到第一数据库中的文本句。
本步骤中,可以选择使用频率大于第三阈值的文本作为需要被存储到第一数据库中的文本句。也就是说,选择文语转换请求涉及频率较高的现有文本作为需要预先存储对应语音的文本句。这里的第三阈值的具体取值可以根据实际需要进行设定,例如设定为100次/月。通过将使用频率较高的文本预先存储到第一数据库中,可以有效减少第一数据库中的数据量,提高第一数据库中的文本句的使用效率。
S330:对所述文本句进行语音合成,以生成与所述文本句分别对应的语音。
本步骤用于通过语音合成技术生成与所述文本句相对应的语音。可以理解,本步骤S330中对文本句的语音合成并不是响应于用户的语音合成请求后进行的,其对于响应时间没有紧迫要求。这种情况下,优选利用当前时期语音合成质量较好的语音合成模型来进行语音合成,例如利用基于深度神经网络的WaveNet语音合成模型、waveglow语音合成模型等,从而能够保证与文本对相对应的语音具有较高的语音合成质量。
进一步,本步骤中对于特定的待合成文本,可以生成两个以上的相应语音,以适应不同的需求。例如对于诗句“白日依山尽,黄河入海流”,可以分别生成男声版语音、女声版语音以及儿童版语音等。又例如,对于同一个待合成文本,可以利用不同的语音合成模型来生成多个合成质量不同的相应语音。
S340:将所述文本句以及与所述文本句分别对应的语音对应地存储到所述第一数据库。
本步骤中,对于每一个文本句和其对应的语音,可以通过文本语音对的形式对应地存储到第一数据库中。例如将文本句1和语音1作为第一文本语音对,将文本句2和语音2作为第二文本语音对,将文本句3和语音3作为第三文本语音对分别存储到第一数据库中。考虑到一个文本句对应两个以上语音的情况,还可以将文本句1和语音11作为第一文本语音对,将文本句1和语音12作为第二文本语音对,将文本句1和语音13作为第三文本语音对分别存储到第一数据库中。替代地,也可以仅存储一个文本句1,并存储语音11、语音12和语音13,但是,对于文本句1,分别建立其与语音11、语音12和语音13之间的对应关系。即,在此方案中,存在3个语音均与文本句1对应。
需要说明的是,文本和文本句并不限于中文,也可以是英文、日文、法文等,本发明并不对此进行限制。
通过建立第一数据库,并在第一数据库中预先存储使用频率较高的文本句及其对应的语音,可以提高待合成文本在第一数据库中被搜索到的概率,提高语音合成效率。
示例性的,在存储上述文本句和其通过语音合成得到的语音之外,上述建立第一数据库还包括以下步骤:存储除上述语音之外的其他声音以及对应的文本句。例如存储音乐和其对应的文本句以及歌曲和其对应的文本句等。在这里,音乐和歌曲等声音作为文本句的对应语音。可以理解,语音可以不是人的声音,例如乐器演奏的音乐。例如对于文本句“命运交响曲”,其相应的语音可以是名称为“命运交响曲”的纯音乐。又例如对于文本句“你笑起来真好看”,其对应的语音可以是以“你笑起来真好看”为歌词的对应歌曲。
在存储上述语音之外的其它声音和对应的文本句时,可以对声音添加语音类型标签,用于标识该声音所属类型。具体的,语音类型标签可以是由字母、数字、符号组成的序列。
通过存储与文本句相对应的不同类型的语音,可以丰富第一数据库中的语音内容,满足用户不同的语音合成需求。
可以理解,虽然上述步骤S310至S340描述了建立第一数据库的过程,但是这些步骤也可以用于更新第一数据库。随着时间的发展,应用场景中的常用文本也可能发生了改变,可以利用这些步骤更新第一数据库,以使其中内容适应时代发展,满足用户需要。
如前参考图2所示的利用第一数据库进行语音合成的语音合成方法,其中首先获取待合成文本。图4示出了根据本发明一个实施例的语音合成方法中提取语音合成请求中的待合成文本的示意性流程图。如图4所示,语音合成方法200中的步骤S210可以包括以下步骤。
S410:接收语音合成请求中的整个文本。
所述整个文本,指的是语音合成请求中包含的、用户期望语音合成的所有文本。例如,用户在文本框中输入了“白日依山尽,黄河入海流,欲穷千里目,更上一层楼”并通过点击语音合成按钮发出了语音合成请求,那么上述内容“白日依山尽,黄河入海流,欲穷千里目,更上一层楼”就是该语音合成请求中的整个文本。
S420:基于所述整个文本中的标点符号,将所述整体文本划分为一个或多个分句以作为所述待合成文本。
仍以上文中的“白日依山尽,黄河入海流,欲穷千里目,更上一层楼”为例,其中的3个标点符号将整个文本划分为4个分句,可以分别将每一个分句作为一个待合成文本,即,将“白日依山尽”作为第一待合成文本,将“黄河入海流”作为第二待合成文本,将“欲穷千里目”作为第三待合成文本,将“更上一层楼”作为第四待合成文本。
将语音合成请求中的整个文本划分为较短的分句来作为待合成文本,以在第一数据库中搜索,可以提高命中率,减少第一数据库的数据量。
如前所述,第一数据库中可能存储有文本的多种类型的语音。例如,音乐、歌曲、语音等。可以理解,语音还可以根据其他规则分为不同类型。例如,根据语音的发声者的性别或年龄等进行分类等。图5示出了根据本发明一个实施例的语音合成方法中确定所述第一语音的示意性流程图,该确定第一语音的流程能够获取到用户期望的第一语音。在输出第一语音之前,所述语音合成方法还可以包括如下步骤:
S510:获取语音合成请求中的语音类型标签。
在此示例中,语音合成请求除了包括待合成文本之外,还包括语音类型标签。具体的,上述语音类型标签可以是用户在发送语音合成请求时通过点击人机交互界面中的对应按钮而生成的。例如,若用户在输入待合成文本之后点击了“音乐”按钮,相当于对语音合成请求添加了音乐类型标签;若用户在输入待合成文本之后点击了“歌曲”按钮,相当于对语音合成请求添加了歌曲类型标签。
S520:根据所述语音类型标签确定所述第一语音。
在获取到语音合成请求中的语音类型标签之后,本步骤基于所述语音类型标签确定与所述待合成文本相对应的第一语音。即,对于在所述第一数据库的文本句中搜索到所述待合成文本的情况,本步骤进一步在第一数据库中搜索与待合成文本对应的、包含所述语音类型标签的语音,以将其作为所述第一语音。
上述技术方案,提供给用户对语音类型进行选择的接口。通过上述步骤S510和S520,能够根据用户选择的语音类型标签确定需要输出的第一语音,可以使得语音合成的内容更加丰富,满足用户的多种不同需求。
如前参考图2所示的语音合成方法,对于在所述第一数据库中的文本句中未搜索到满足语音合成请求的语音的情况,利用第一语音合成模型对所述待合成文本进行语音合成,以生成满足语音合成请求的与所述待合成文本相对应的第二语音。
可以理解,未搜索到满足语音合成请求的语音的情况包括未搜索到与待合成文本的对应的语音的情况。
如前所述,语音合成请求可以包括语音要求信息。未搜索到满足语音合成请求的语音的情况还包括虽然搜索到与待合成文本对应地语音、但与待合成文本对应的语音不符合语音要求信息的情况。在一个示例中,上述语音要求信息是合成质量参数。合成质量参数用于限定对待合成文本进行语音合成后得到的语音的质量。不同的合成质量参数代表对语音质量的不同要求。合成质量参数可以是用户在发送语音合成请求时指定的。例如,用户通过点击人机交互界面中的用于指定相应合成质量参数的按钮来实现。当用户点击“高质量语音”按钮时,相当于向语音合成请求中添加了高质量语音合成参数;当用户点击“常规语音”按钮时,相当于向语音合成请求中添加了常规语音合成参数。在此示例中,在所述第一数据库的语音中未搜索到满足所述请求的语音的情况包括:在所述第一数据库的语音中搜索到的与所述待合成文本相对应的语音不符合所述合成质量参数的情况。
无论是未搜索到与待合成文本的对应的语音的情况还是搜索到的与待合成文本对应地语音不符合语音要求信息的情况,所述语音合成方法都还可以包括:根据语音要求信息,例如合成质量参数,确定第一语音合成模型,以利用第一语音合成模型生成满足请求的第二语音。
在一个示例中,第一数据库中存储的语音包含合成质量参数的标识符。通过对比第一数据库中存储的与待处理文本对应的语音所包含的合成质量参数的标识符是否与语音合成请求中的合成质量参数相符,可以确定自第一数据库中搜索到的与所述待合成文本相对应的语音是否满足所述语音合成请求。如果不满足语音合成请求,可以根据合成质量参数确定第一语音合成模型,以合成满足语音合成请求的语音输出给用户。
可以理解,第一数据库中存储的与所述待合成文本相对应的语音不符合所述合成质量参数,一般而言是指第一数据库中存储的与所述待合成文本相对应的语音的质量低于所述合成质量参数指定的质量,例如,搜索到第一数据库中存储的与带合成文本对应的语音为常规音质,而语音合成请求中的合成质量参数为高质量参数。
如果未搜索到满足语音合成请求的语音,本实施例可以根据不同的合成质量参数确定相应的第一语音合成模型。例如,高质量语音合成参数对应的是计算量较大、语音合成质量较高的语音合成模型,例如基于深度神经网络的语音合成模型等;常规语音合成参数对应的是计算量较小、语音合成质量不太高的语音合成模型,例如基于波形拼接的语音合成模型、基于HMM统计参数的语音合成模型等。
本领域普通技术人员理解,在上文中描述的合成质量参数与第一语音合成模型之间的对应关系仅仅是用于举例,并非加以限定。随着语音合成技术的不断发展,必然会出现越来越多的高质量语音合成模型,现阶段被认为是高质量的语音合成模型,在未来很可能就变成了常规质量的语音合成模型。因此,上文描述并不意味着对哪种语音合成模型对应哪个合成质量参数进行限定,具体可根据实际情况灵活处理。
上述技术方案,可以提供给用户对语音合成质量进行选择的接口。根据用户需要确定第一语音合成模型,可以使得合成的第二语音更具针对性,满足用户对于合成语音的不同质量需求,避免因第一语音合成模型选择不当而使用户对于生成的第二语音不满意的情况。
如前所述,第一数据库中的第一语音也可以是通过语音合成模型合成的。示例性的,第一语音与第二语音都是利用同一个语音合成模型生成的。在这种情况下,在输出第二语音的步骤之后,本发明实施例的语音合成方法还包括:将待合成文本以及第二语音对应地存储到第一数据库中。
如果第一数据库中预先存储的第一语音和通过实时语音合成生成的第二语音是利用同样的语音合成模型生成的,那么可以确定第一语音和第二语音的语音质量是相同的,此时可以将待合成文本以及生成的第二语音作为一个文本语音对存储到第一数据库中,实现对第一数据库的更新。所述语音合成模型可以是任何现有的或未来研发的用于实现语音合成的模型,例如基于波形拼接的语音合成模型、基于HMM统计参数的语音合成模型以及基于深度神经网络的语音合成模型。
在一个示例中,用户用于执行上述语音合成方法的语音合成系统中只存在一个语音合成模型,使得无论是建立第一数据库时对现有文本的语音合成,还是响应于语音合成请求之后对待合成文本的语音合成,都只能利用上述语音合成模型。这种情况下,就可以直接把待合成文本以及对应的第二语音作为一个文本语音对存储到第一数据库中,以便当下次再有用户请求对所述待合成文本进行语音合成时,就可以直接从第一数据库输出与所述待合成文本相对应的第二语音,达到节约资源、提高语音合成效率的目的。
在另一个示例中,用户在发出语音合成请求时通过合成质量参数指定了语音合成系统中的合成质量较高的语音合成模型,虽然该语音合成模型进行语音合成可能计算量较大并且耗时较长。同时,为了能够为用户提供较高质量的语音,第一数据库中的语音也是利用该语音合成模型所获得的。这种情况下,也可以把待合成文本以及对应的第二语音作为一个文本语音对存储到第一数据库中,以避免当下次再有用户请求对所述待合成文本进行语音合成时再次进行繁琐的语音合成。由此,不仅提高了用户请求的响应速度,而且保证了所提供的语音质量。
示例性的,对于未在所述第一数据库中搜索到所述待合成文本的情况,除了利用第一语音合成模型实时合成并输出第二语音之外,还可以对待合成文本进行二次语音合成,以生成同样与待合成文本对应的第三语音,用于更新第一数据库。该二次语音合成可以利用与生成第二语音所用的第一语音合成模型不同的其他语音合成模型。图6示出了根据本发明一个实施例的更新第一数据库的示意性流程图。如图6所示,更新第一数据库包括以下步骤。
S610:对于未在第一数据库中搜索到满足所述请求的与待合成文本相对应的语音的情况,在输出第二语音之后且当满足预设条件时,利用第二语音合成模型对所述待合成文本进行语音合成,以生成与所述待合成文本对应的第三语音。所述第二语音合成模型的语音合成质量优于第一语音合成模型的语音合成质量。
S620:将所述待合成文本以及所述第三语音对应地存储到所述第一数据库。
本技术方案中,在输出所述第二语音之后,不对所述第二语音进行存储。而是当满足预设条件时重新利用第二语音合成模型对所述待合成文本进行语音合成,生成语音合成质量更优的第三语音。
用于合成第三语音的第二语音合成模型的语音合成质量优于第一语音合成模型的语音合成质量。当用户在线提出语音合成请求时,考虑到保证较好的用户体验,语音合成过程的响应时间不宜过长,这时可以利用计算量相对较低、响应速度相对较快的第一语音合成模型来进行语音合成,例如通过基于波形拼接的语音合成模型或基于HMM统计参数的语音合成模型来对待合成文本进行语音合成。而在向用户输出第二语音之后,通过第二语音合成模型生成第三语音时,响应时间已经不再是重要考虑因素,此时就可以利用响应时间较长,但语音合成质量更优的第二语音合成模型来进行语音合成。优选地,该第二语音合成模型为基于深度神经网络的语音合成模型,例如wavenet模型、waveglow模型等。
第三语音是利用语音合成质量更优的第二语音合成模型生成的,将待合成文本以及所述第三语音对应地存储到所述第一数据库,可以保证第一数据库中存储的语音的质量,从而保证用户此后请求对所述待合成文本进行语音合成时,可以直接输出对应的、高质量的合成语音。
利用第二语音合成模型对待合成文本进行语音合成的预设条件可以包括:用于执行所述语音合成方法的计算设备的处理器的使用率低于第二阈值,该第二阈值可以是预设值,例如15%至30%之间的任意值。所述的预设条件还可以包括:当前时刻到达预设的第一执行时刻,例如每天的零点零分。
为利用第二语音合成模型对所述待合成文本进行语音合成预先设立执行条件,目的是为了不影响系统的正常运行。本领域普通技术人员可以理解,语音合成模型的语音合成质量与计算量之间是相互矛盾的,合成质量更优的语音合成模型意味着会消耗更多的计算资源,等待更长的响应时间,因此在计算机设备处于相对空闲状态时通过第二语音合成模型生成与待合成文本相对应的第三语音是合理的。这不仅避免了对系统正常运行的影响,而且有效利用了系统的计算资源。
在一个示例中,对于步骤S220中在第一数据库的文本句中未搜索到待合成文本的情况,可以首先将所述待合成文本存储到所述第二数据库;然后,在步骤S620将所述待合成文本以及第三语音对应地存储到所述第一数据库之后,可以将待合成文本从所述第二数据库中删除。
第二数据库用于存储未在第一数据库中搜索到的待合成文本,以便在语音合成方法的计算机设备在空闲状态时直接从第二数据库中获取待合成文本以合成相对应的第三语音。通过建立第二数据库,可以更加清楚方便地确定哪些待合成文本需要利用第二语音合成模型执行二次合成,从而可以有针对性地从第二数据库中获取待合成文本进行二次语音合成。另外,在所述将所述待合成文本以及所述第三语音对应地存储到所述第一数据库之后,将所述待合成文本从所述第二数据库中删除,可以有效避免重复合成的情况,保证第二数据库中存储的所有待合成文本在第一数据库中都不存在对应的语音。从而,达到节省存储资源,提高语音合成效率的目的。
在另一示例中,替代第二数据库的,也可以直接利用第一数据库存储待合成文本。在该技术方案中,可以将这种在第一数据库中不存在对应语音的待合成文本先存储到第一数据库中,并对其做出标识,用于标识其在第一数据库中不存在对应的语音。当系统空闲时,可以根据标识从第一数据库中检索这种待合成文本,对其进行语音合成,最后与所检索到的待合成文本对应地存储所合成的语音。
该示例中,仅用第一数据库实现上述语音合成方法,操作容易。
示例性的,在对第一数据库进行更新时,可以仅将满足一定条件的待合成文本存储到第一数据库或第二数据库中。因此,在将待合成文本存储到第一数据库或第二数据库之前,本发明实施例的语音合成方法还可以包括:判断所述待合成文本被预设统计周期内的语音合成请求调用的频率是否大于第一阈值。在后续步骤中,仅将被预设统计周期内的语音合成请求调用的频率大于第一阈值的待合成文本存储到第一数据库或第二数据库。
对于在第一数据库的文本句中未搜索到待合成文本的情况,以上步骤用于确定该待合成文本是否存储到第一数据库或第二数据库中。根据本发明一个具体实施例,只有当所述待合成文本被预设统计周期内的语音合成请求较频繁地调用的情况下,才会执行将所述待合成文本存储到第一数据库或第二数据库中。通过以上步骤,可以保证等待进行二次语音合成的待合成文本是调用频率较高的文本,从而达到节省存储资源,提高语音合成效率的目的。
可以理解,第一数据库或第二数据库中可能存储了很多用于更新第一数据库的待合成文本。如前所述,可以对这些待合成文本进行语音合成,并将所合成的语音与待合成文本对应的存储到第一数据库中,以更新第一数据库。
可以理解,该语音合成的过程可以利用单线程处理,也可以利用多个线程同时并行处理。完成一个待合成文本的语音合成后,可以继续处理后续的待合成文本。对于第一数据库或第二数据库中所存储的等待进行语音合成的所有待合成文本,使用多个线程并行执行每个待合成文本的语音合成。通过采取多个线程进行语音合成,可以提高语音合成效率。
在一个示例中,可以对第一数据库或第二数据库中所有的用于更新第一数据库的待合成文本按照其存储时间顺序执行上述操作,来更新第一数据库。换言之,第一数据库或第二数据库中所存储的所有待合成文本可以构成一个队列,对于当前的待合成文本,可以将其排列在队列的末尾。可以按照先进先出的原则,对队列中的待合成文本进行语音合成,并将已经合成语音的待合成文本以及相应的语音存储到第一数据库中,以更新第一数据库。
在另一个示例中,语音合成方法还可以包括如下步骤。每当系统空闲时,可以执行如下步骤,以更新第一数据库。基于被预设统计周期内的语音合成请求调用的频率由高到低的顺序,将当前的待合成文本与第一数据库或第二数据库中存储的其它用于更新第一数据库的待合成文本进行排序,以按照所排顺序对所有待合成文本进行语音合成。这样,在排序在当前的待合成文本之前的其它待合成文本正在或已完成语音合成的情况下,利用第二语音合成模型对当前的待合成文本进行语音合成。可以理解,如果是利用单线程实现待合成文本的语音合成,则排序在前的其他待合成文本已经完成语音合成的情况下,对当前的待合成文本进行语音合成。如果是利用多线程实现待合成文本的语音合成,则排序在前的其他待合成文本可能正在完成语音合成,就可以开始当前的待合成文本的语音合成。
上述示例中,对用于更新第一数据库的所有待合成文本进行排序,以便优先对调用频率最高的待合成文本进行二次语音合成,从而提高后续待合成文本在第一数据库中被搜索到的概率,进而提高语音合成效率。
根据本发明另一方面,还提供了一种语音合成装置。图7示出了根据本发明一个实施例的语音合成装置的示意性框图。
如图7所示,装置700包括文本获取模块710、搜索模块720、第一输出模块730、合成模块740、第二输出模块750。
所述各个模块可分别执行上文中所述的语音合成方法的各个步骤和功能。以下仅对该装置800的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
文本获取模块710用于获取语音合成请求,并提取所述请求中的待合成文本。搜索模块720用于从第一数据库中搜索满足所述请求的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音。第一输出模块730用于对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,输出所述第一数据库中的满足所述请求的第一语音。合成模块740用于对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,利用第一语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的的第二语音。第二输出模块750用于输出所述第二语音。
根据本发明再一方面,还提供了一种语音合成系统,包括:处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的语音合成方法。
图8示出了根据本发明一个实施例的用于语音合成系统800的示意性框图。如图8所示,系统800包括输入装置810、存储装置820、处理器830以及输出装置840。
所述输入装置810用于接收用户所输入的操作指令以及采集数据。输入装置810可以包括键盘、鼠标、麦克风、触摸屏和图像采集装置等中的一个或多个。所述存储装置820存储用于实现根据本发明实施例的语音合成方法中的相应步骤的计算机程序指令以及语音合成方法中所采用的第一数据库。所述处理器930用于运行所述存储装置820中存储的计算机程序指令,以执行根据本发明实施例的语音合成方法的相应步骤,并且用于实现根据本发明实施例的语音合成装置中的文本获取模块710、搜索模块720、第一输出模块730、合成模块740、第二输出模块750。所述输出装置840用于向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。
在一个实施例中,在所述计算机程序指令被所述处理器830运行时使所述系统800执行以下步骤:
获取语音合成请求,并提取所述请求中的待合成文本;
从第一数据库中搜索满足所述请求的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音;
对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,输出所述第一数据库中的满足所述请求的第一语音;
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,
利用语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的第二语音;
输出所述第二语音。
此外,根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的上述语音合成方法的相应步骤,并且用于实现根据本发明实施例的上述语音合成装置中的相应模块或上述用于语音合成系统中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
在一个实施例中,所述计算机程序指令被计算机或处理器运行时,使得所述计算机或处理器执行以下步骤:
获取语音合成请求,并提取所述请求中的待合成文本;
从第一数据库中搜索与所述待合成文本相对应的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音;
对于在所述第一数据库的语音中搜索到满足所述请求的与所述待合成文本相对应的语音的情况,输出所述第一数据库中的与所述待合成文本对应的第一语音:
对于在所述第一数据库的语音中未搜索到满足所述请求的与所述待合成文本相对应的语音的情况,
利用语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的与所述待合成文本对应的第二语音;
输出所述第二语音。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的语音合成装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种语音合成方法,包括:
获取语音合成请求,并提取所述请求中的待合成文本;
从第一数据库中搜索满足所述请求的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音,所述语音对应于所述待合成文本;
对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,输出所述第一数据库中的所述满足所述请求的第一语音;
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,
利用第一语音合成模型对所述待合成文本进行语音合成,以生成满足所述请求的第二语音;
输出所述第二语音。
2.根据权利要求1所述的语音合成方法,其中,所述语音合成方法还包括:
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,
在输出所述第二语音之后且当满足预设条件时,利用第二语音合成模型对所述待合成文本进行语音合成,以生成与所述待合成文本对应的第三语音,其中所述第二语音合成模型的语音合成质量优于用于生成所述第一语音的语音合成模型的语音合成质量;
将所述待合成文本以及所述第三语音对应地存储到所述第一数据库。
3.根据权利要求2所述的语音合成方法,其中,所述语音合成方法还包括:
在所述利用第二语音合成模型对所述待合成文本进行语音合成的步骤之前,将所述待合成文本存储到所述第二数据库;
在所述将所述待合成文本以及所述第三语音对应地存储到所述第一数据库之后,将所述待合成文本从所述第二数据库中删除。
4.根据权利要求3所述的语音合成方法,其中,在所述将所述待合成文本存储到所述第二数据库之前,所述语音合成方法还包括:
判断所述待合成文本被预设统计周期内的语音合成请求调用的频率是否大于第一阈值;
其中,所述将所述待合成文本存储到所述第二数据库仅在所述待合成文本被预设统计周期内的语音合成请求调用的频率大于所述第一阈值的情况下执行。
5.根据权利要求3所述的语音合成方法,其中,在所述将所述待合成文本存储到所述第二数据库之后,所述语音合成方法还包括:
基于被预设统计周期内的语音合成请求调用的频率由高到低的顺序,将所述待合成文本与所述第二数据库中存储的其它待合成文本进行排序,以按照所排顺序对所述第二数据库中存储的待合成文本进行语音合成;
其中,所述利用第二语音合成模型对所述待合成文本进行语音合成在排序在所述待合成文本之前的其它待合成文本正在或已完成语音合成的情况下开始执行。
6.根据权利要求2所述的语音合成方法,其中,所述预设条件包括以下条件中的一个或多个:
用于执行所述语音合成方法的计算设备的处理器的使用率低于第二阈值;
当前时刻到达预设的第一执行时刻。
7.根据权利要求1所述的语音合成方法,其中,
所述语音合成请求包括:合成质量参数;
对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,在所述利用第一语音合成模型对所述待合成文本进行语音合成之前,所述语音合成方法还包括:
根据所述合成质量参数确定所述第一语音合成模型。
8.一种语音合成装置,包括:
文本获取模块,用于获取语音合成请求,并提取所述请求中的待合成文本;
搜索模块,用于从第一数据库中搜索满足所述请求的语音,所述第一数据库中存储有文本句以及与所述文本句分别对应的语音;
第一输出模块,用于对于在所述第一数据库的语音中搜索到满足所述请求的语音的情况,输出所述第一数据库中的与所述待合成文本对应的第一语音;
合成模块,用于对于在所述第一数据库的语音中未搜索到满足所述请求的语音的情况,利用第一语音合成模型对所述待合成文本进行语音合成,以生成与所述待合成文本对应的第二语音;
第二输出模块,适应于输出所述第二语音。
9.一种语音合成系统,包括:处理器和存储器,其中,所述存储器中存储有计算机程序指令和所述第一数据库,其特征在于,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至7任一项所述的语音合成方法。
10.一种存储介质,在所述存储介质上存储了程序指令,其特征在于,所述程序指令在运行时用于执行如权利要求1至7任一项所述的语音合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911050426.7A CN110782869A (zh) | 2019-10-30 | 2019-10-30 | 语音合成方法、装置、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911050426.7A CN110782869A (zh) | 2019-10-30 | 2019-10-30 | 语音合成方法、装置、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110782869A true CN110782869A (zh) | 2020-02-11 |
Family
ID=69388135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911050426.7A Pending CN110782869A (zh) | 2019-10-30 | 2019-10-30 | 语音合成方法、装置、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110782869A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111354334A (zh) * | 2020-03-17 | 2020-06-30 | 北京百度网讯科技有限公司 | 语音输出方法、装置、设备和介质 |
CN111599341A (zh) * | 2020-05-13 | 2020-08-28 | 北京百度网讯科技有限公司 | 用于生成语音的方法和装置 |
CN111916055A (zh) * | 2020-06-20 | 2020-11-10 | 中国建设银行股份有限公司 | 外呼系统的语音合成方法、平台、服务器以及介质 |
CN112102807A (zh) * | 2020-08-17 | 2020-12-18 | 招联消费金融有限公司 | 语音合成方法、装置、计算机设备和存储介质 |
CN112530402A (zh) * | 2020-11-30 | 2021-03-19 | 深圳市优必选科技股份有限公司 | 一种语音合成方法、语音合成装置及智能设备 |
CN113012680A (zh) * | 2021-03-03 | 2021-06-22 | 北京太极华保科技股份有限公司 | 一种语音机器人用话术合成方法及装置 |
CN115394282A (zh) * | 2022-06-01 | 2022-11-25 | 北京网梯科技发展有限公司 | 信息交互方法及装置、教学平台、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201233A (zh) * | 2011-05-20 | 2011-09-28 | 北京捷通华声语音技术有限公司 | 一种混搭语音合成方法和系统 |
CN102865875A (zh) * | 2012-09-12 | 2013-01-09 | 深圳市凯立德科技股份有限公司 | 一种导航方法及导航设备 |
CN104103268A (zh) * | 2013-04-03 | 2014-10-15 | 中国移动通信集团安徽有限公司 | 一种语料库处理方法、装置及语音合成系统 |
CN104992703A (zh) * | 2015-07-24 | 2015-10-21 | 百度在线网络技术(北京)有限公司 | 语音合成方法和系统 |
US9240178B1 (en) * | 2014-06-26 | 2016-01-19 | Amazon Technologies, Inc. | Text-to-speech processing using pre-stored results |
CN109448694A (zh) * | 2018-12-27 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 一种快速合成tts语音的方法及装置 |
CN109582775A (zh) * | 2018-12-04 | 2019-04-05 | 平安科技(深圳)有限公司 | 信息录入方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-30 CN CN201911050426.7A patent/CN110782869A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201233A (zh) * | 2011-05-20 | 2011-09-28 | 北京捷通华声语音技术有限公司 | 一种混搭语音合成方法和系统 |
CN102865875A (zh) * | 2012-09-12 | 2013-01-09 | 深圳市凯立德科技股份有限公司 | 一种导航方法及导航设备 |
CN104103268A (zh) * | 2013-04-03 | 2014-10-15 | 中国移动通信集团安徽有限公司 | 一种语料库处理方法、装置及语音合成系统 |
US9240178B1 (en) * | 2014-06-26 | 2016-01-19 | Amazon Technologies, Inc. | Text-to-speech processing using pre-stored results |
CN104992703A (zh) * | 2015-07-24 | 2015-10-21 | 百度在线网络技术(北京)有限公司 | 语音合成方法和系统 |
CN109582775A (zh) * | 2018-12-04 | 2019-04-05 | 平安科技(深圳)有限公司 | 信息录入方法、装置、计算机设备及存储介质 |
CN109448694A (zh) * | 2018-12-27 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 一种快速合成tts语音的方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111354334A (zh) * | 2020-03-17 | 2020-06-30 | 北京百度网讯科技有限公司 | 语音输出方法、装置、设备和介质 |
CN111354334B (zh) * | 2020-03-17 | 2023-09-15 | 阿波罗智联(北京)科技有限公司 | 语音输出方法、装置、设备和介质 |
CN111599341A (zh) * | 2020-05-13 | 2020-08-28 | 北京百度网讯科技有限公司 | 用于生成语音的方法和装置 |
CN111599341B (zh) * | 2020-05-13 | 2023-06-20 | 北京百度网讯科技有限公司 | 用于生成语音的方法和装置 |
CN111916055A (zh) * | 2020-06-20 | 2020-11-10 | 中国建设银行股份有限公司 | 外呼系统的语音合成方法、平台、服务器以及介质 |
CN112102807A (zh) * | 2020-08-17 | 2020-12-18 | 招联消费金融有限公司 | 语音合成方法、装置、计算机设备和存储介质 |
CN112530402A (zh) * | 2020-11-30 | 2021-03-19 | 深圳市优必选科技股份有限公司 | 一种语音合成方法、语音合成装置及智能设备 |
CN112530402B (zh) * | 2020-11-30 | 2024-01-12 | 深圳市优必选科技股份有限公司 | 一种语音合成方法、语音合成装置及智能设备 |
CN113012680A (zh) * | 2021-03-03 | 2021-06-22 | 北京太极华保科技股份有限公司 | 一种语音机器人用话术合成方法及装置 |
CN113012680B (zh) * | 2021-03-03 | 2021-10-15 | 北京太极华保科技股份有限公司 | 一种语音机器人用话术合成方法及装置 |
CN115394282A (zh) * | 2022-06-01 | 2022-11-25 | 北京网梯科技发展有限公司 | 信息交互方法及装置、教学平台、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110782869A (zh) | 语音合成方法、装置、系统和存储介质 | |
CN108288468B (zh) | 语音识别方法及装置 | |
CN108806656B (zh) | 歌曲的自动生成 | |
US11922924B2 (en) | Multilingual neural text-to-speech synthesis | |
CN108806655B (zh) | 歌曲的自动生成 | |
CN109920409B (zh) | 一种声音检索方法、装置、系统及存储介质 | |
CN111445892B (zh) | 歌曲生成方法、装置、可读介质及电子设备 | |
CN110767209B (zh) | 语音合成方法、装置、系统和存储介质 | |
CN106710585B (zh) | 语音交互过程中的多音字播报方法及系统 | |
KR20150146373A (ko) | 큰 말뭉치에 기초하여 음성 합성을 하기 위한 방법 및 장치 | |
WO2022178969A1 (zh) | 语音对话数据处理方法、装置、计算机设备及存储介质 | |
CN108305611B (zh) | 文本转语音的方法、装置、存储介质和计算机设备 | |
CN110782875A (zh) | 一种基于人工智能的语音韵律处理方法及装置 | |
CN110781327B (zh) | 图像搜索方法、装置、终端设备及存储介质 | |
CN112035699A (zh) | 音乐合成方法、装置、设备和计算机可读介质 | |
CN113948062B (zh) | 数据转换方法及计算机存储介质 | |
CN102970618A (zh) | 基于音节识别的视频点播方法 | |
CN113345407B (zh) | 一种风格语音合成方法、装置、电子设备及存储介质 | |
US20190088258A1 (en) | Voice recognition device, voice recognition method, and computer program product | |
TW201705019A (zh) | 文字轉語音方法以及多語言語音合成裝置 | |
JP6222465B2 (ja) | アニメーション生成装置、アニメーション生成方法およびプログラム | |
CN112071299B (zh) | 神经网络模型训练方法、音频生成方法及装置和电子设备 | |
JP6843689B2 (ja) | コンテキストに応じた対話シナリオを生成する装置、プログラム及び方法 | |
JP2014130211A (ja) | 音声出力装置、音声出力方法、およびプログラム | |
CN116645957B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200211 |
|
RJ01 | Rejection of invention patent application after publication |