CN110010120A - 模型管理和语音合成方法、装置和系统及存储介质 - Google Patents
模型管理和语音合成方法、装置和系统及存储介质 Download PDFInfo
- Publication number
- CN110010120A CN110010120A CN201910371127.7A CN201910371127A CN110010120A CN 110010120 A CN110010120 A CN 110010120A CN 201910371127 A CN201910371127 A CN 201910371127A CN 110010120 A CN110010120 A CN 110010120A
- Authority
- CN
- China
- Prior art keywords
- model
- acoustic model
- pond
- acoustic
- target acoustical
- 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
- 238000000034 method Methods 0.000 title claims abstract description 168
- 238000003860 storage Methods 0.000 title claims abstract description 77
- 230000002194 synthesizing effect Effects 0.000 title claims abstract description 36
- 238000007726 management method Methods 0.000 claims abstract description 84
- 230000015572 biosynthetic process Effects 0.000 claims description 99
- 238000003786 synthesis reaction Methods 0.000 claims description 99
- 238000004590 computer program Methods 0.000 claims description 20
- 238000011068 loading method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 100
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 101100506221 Nitrosomonas europaea (strain ATCC 19718 / CIP 103999 / KCTC 2705 / NBRC 14298) hao3 gene Proteins 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000010189 synthetic method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241001672694 Citrus reticulata Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 235000015170 shellfish Nutrition 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/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
- 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
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
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)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明的实施例提供了一种模型管理方法、装置和系统以及存储介质与一种语音合成方法、装置和系统以及存储介质。模型管理方法包括:步骤S110:接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;步骤S120:在声学模型池中查找目标声学模型;步骤S130:在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。上述方案可以实现声学模型的热加载,可以为用户提供极大的自由度。上述方案无需用户介入,可以减少用户操作,这有利于提高语音系统的工作效率,减少出错,同时可以有效地提升用户体验。上述方案可以很好地满足超大规模、超多发音人场景下的语音处理需求。
Description
技术领域
本发明涉及语音技术领域,更具体地涉及一种模型管理方法、装置和系统以及存储介质与一种语音合成方法、装置和系统以及存储介质。
背景技术
语音技术,例如语音识别、语音合成等,在最近几年蓬勃发展。语音合成系统能够合成发音流畅、情感丰富、音质逼真的语音,合成效果越来越好,使用也越来越普及。
目前,随着语音合成技术的逐步发展,对大规模多发音人的语音合成系统的需求越来越强烈,但是现有的语音合成系统基本都只支持固定的若干个发音人的声学模型的应用。
在现有的语音合成技术中,通常需要训练至少一个发音人的声学模型,并利用训练的声学模型进行语音合成等操作。当用于实现语音合成功能的服务程序启动的时候,该程序会通过配置文件设定单个或多个少量的声学模型。如果用户想要使用新的声学模型的话,往往需要修改配置文件并重启服务,这种方式操作不便,效率低,易出错,用户体验比较差,同时也难以满足大规模多发音人的语音合成需求。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种模型管理方法、装置和系统以及存储介质与一种语音合成方法、装置和系统以及存储介质。
根据本发明一方面,提供了一种模型管理方法,包括:步骤S110:接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;步骤S120:在声学模型池中查找目标声学模型;步骤S130:在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
示例性地,根据地址信息将目标声学模型加载到声学模型池中包括:在声学模型池中查找空槽位;如果空槽位存在,则根据地址信息将目标声学模型加载到空槽位之一;和/或如果空槽位不存在,则根据地址信息将目标声学模型加载到声学模型池中的预定槽位。
示例性地,在如果空槽位不存在,则将目标声学模型加载到声学模型池中的预定槽位之前,模型管理方法还包括:如果空槽位不存在,则在声学模型池中查找最近最少使用的声学模型,其中,预定槽位是最近最少使用的声学模型的槽位;从声学模型池中卸载最近最少使用的声学模型。
示例性地,在如果空槽位不存在,则将目标声学模型加载到声学模型池中的预定槽位之前,模型管理方法还包括:如果空槽位不存在,则在声学模型池中查找加载时间最早的声学模型,其中,预定槽位是加载时间最早的声学模型的槽位;从声学模型池中卸载加载时间最早的声学模型。
示例性地,在步骤S110之前,模型管理方法还包括:创建指定进程,其中,指定进程包括多个线程;以及将用户请求信息分配给多个线程中的当前空闲的指定线程;其中,步骤S110、步骤S120和步骤S130由指定线程执行。
示例性地,用户请求信息还包括目标声学模型的标识信息,指定进程具有对应的进程结构体,进程结构体包括用于指示每个声学模型在声学模型池中的槽位的查找表,指定线程具有对应的线程结构体,线程结构体包括用于识别指定进程的进程结构体句柄,步骤S120包括:由指定线程基于进程结构体句柄和目标声学模型的标识信息访问查找表,以在声学模型池中查找目标声学模型。
示例性地,指定进程具有对应的进程结构体,进程结构体包括线程池信息,在将用户请求信息分配给多个线程中的当前空闲的指定线程之前,模型管理方法还包括:通过查看线程池信息确定多个线程中的当前空闲的线程并确定指定线程。
根据本发明另一方面,提供了一种语音合成方法,包括上述模型管理方法,其中,用户请求信息是语音合成请求信息,语音合成方法还包括:步骤S440:基于用户请求信息和加载到声学模型池中的目标声学模型进行语音合成。
示例性地,用户合成请求信息还包括待合成文本,步骤S440包括:对待合成文本进行文本分析,以获得文本分析结果;基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测和音频解码,以获得待合成文本所对应的语音数据。
示例性地,步骤S440由指定线程执行。
示例性地,指定进程具有对应的进程结构体,进程结构体包括用于指向前端模型的前端模型指针,指定线程具有对应的线程结构体,线程结构体包括用于指向前端引擎类实例的前端引擎指针和用于识别指定进程的进程结构体句柄,语音合成方法还包括:由指定线程基于前端引擎指针调用前端引擎类实例,其中,前端引擎类实例在运行时执行以下操作:基于进程结构体句柄和前端模型指针调用前端模型,并利用前端模型对待合成文本进行文本分析。
示例性地,指定线程具有对应的线程结构体,线程结构体包括用于指向后端引擎类实例的后端引擎指针,语音合成方法还包括:由指定线程基于后端引擎指针调用后端引擎类实例,其中,后端引擎类实例在运行时执行步骤S120、步骤S130以及基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测和音频解码,以获得待合成文本所对应的语音数据的步骤。
示例性地,用户请求信息还包括声音调节信息,基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测和音频解码,以获得待合成文本所对应的语音数据包括:基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测,以获得对应的声学参数;基于声音调节信息对声学参数进行调节;以及基于调节后的声学参数进行音频解码,以获得语音数据。
示例性地,在步骤S120之后,语音合成方法还包括:在查找到目标声学模型的情况下,基于用户请求信息和在声学模型池中查找到的目标声学模型进行语音合成。
根据本发明另一方面,提供了一种模型管理装置,包括:接收模块,用于接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;查找模块,用于在声学模型池中查找目标声学模型;加载模块,用于在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
根据本发明另一方面,提供了一种语音合成装置,包括上述模型管理装置,其中,所述用户请求信息是语音合成请求信息,所述语音合成装置还包括:合成模块,用于基于所述用户请求信息和加载到所述声学模型池中的所述目标声学模型进行语音合成。
根据本发明另一方面,提供了一种模型管理系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述模型管理方法。
根据本发明另一方面,提供了一种语音合成系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述语音合成方法。
根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述模型管理方法。
根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述语音合成方法。
根据本发明实施例的模型管理方法、装置和系统以及存储介质与语音合成方法、装置和系统以及存储介质,在声学模型池中不存在用户需要的目标声学模型的情况下,可以自动将该目标声学模型加载到声学模型池。这种方案可以实现声学模型的热加载,使得相关语音技术,例如语音合成技术,不再局限于固定的声学模型。也就是说,当用户使用诸如语音合成的服务时,不用再受语音系统提供的简单几个声学模型的限制,而是可以自由选择声学模型,这样可以为用户提供极大的自由度。同时,由于这种方法对声学模型的热加载是自动化、智能化的,无需用户介入,因此可以减少用户操作,这有利于提高语音系统的工作效率,减少出错,同时可以有效地提升用户体验。上述方案可以很好地满足超大规模、超多发音人场景下的语音处理需求。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本发明一个实施例的模型管理方法的示意性流程图;
图2示出根据本发明一个实施例的用于实现模型管理和/或语音合成的指定进程的至少部分数据结构的示意图;
图3示出根据本发明一个实施例的指定线程的工作流程的示意图;
图4示出根据本发明一个实施例的语音合成方法的示意性流程图;
图5示出根据本发明一个实施例的语音合成流程的示意图;
图6示出了根据本发明一个实施例的模型管理装置的示意性框图;
图7示出了根据本发明一个实施例的语音合成装置的示意性框图;
图8示出了根据本发明一个实施例的模型管理系统的示意性框图;以及
图9示出了根据本发明一个实施例的语音合成系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
为了至少部分地解决上述问题,本发明实施例提供了一种模型管理方法、装置和系统以及存储介质与一种语音合成方法、装置和系统以及存储介质。根据本发明实施例的模型管理方法和语音合成方法,当用户需要的声学模型不存在时,可以将该声学模型自动加载到声学模型池中。在该过程中,无需用户修改配置文件,也无需重启语音服务(例如语音合成服务或语音识别服务)。因此,上述方法可以实现对声学模型的自动化、智能化的热加载(或说热更新),无需用户介入,减少用户操作,这有利于提高语音系统的工作效率,减少出错,并且可以有效地提升用户体验。上述模型管理技术和语音合成技术具有极大的应用价值和广阔的市场前景。
根据本发明实施例的模型管理方法和语音合成方法可以在任意具有数据处理能力和/或指令执行能力的设备上实现,诸如个人计算机或远程服务器等。模型管理方法或语音合成方法实现于其上的设备可以称为语音设备,该设备可以用于实现与语音相关的各种处理。示例性地,语音设备可以是服务器集群。本文描述的语音合成可以称为文本到语音(Text To Speech,简称为TTS)。
虽然上文结合语音合成技术描述了本领域的技术问题,然而,应理解的是,本文描述的模型管理方法可以不仅仅应用于语音合成过程,其也可以应用于语音合成系统的其他合适流程中,例如,用于声学模型的检索过程、更新过程等。此外,本文描述的模型管理方法也可以不仅仅应用于语音合成系统,其可以应用于其他合适的方向,例如,用于语音识别系统等。本文描述的模型管理方法至少可以适用于语音识别系统的声学模型的检索过程和/或更新过程。
为了描述方便,下文主要以模型管理方法应用于语音合成系统的语音合成过程为例描述根据本发明实施例的模型管理方法,可以理解的是,这仅是示例而非对本发明的限制。本领域技术人员可以根据本文的描述理解模型管理方法用于其他流程或者其他方向时的实现方式。
下面,将参考图1描述根据本发明实施例的模型管理方法。图1示出根据本发明一个实施例的模型管理方法100的示意性流程图。如图1所示,模型管理方法100包括以下步骤S110、S120、S130。
在步骤S110,接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息。
本文所述的每个声学模型可以具有对应的对象。例如,上述目标声学模型可以是目标对象的声学模型。目标对象可以是任一特定的对象,其可以可选地由用户指定。
本文所述的对象可以是任何合适的物体,包括但不限于人、动物、虚拟对象等。示例性地,在对象为人的情况下,可以将对象称为发音人。
虚拟对象是指虚构的、非真实存在的人或物,例如,用户通过声音编辑软件模拟的对象。例如,用户通过声音编辑软件合成了一个机械音声学模型,该机械音声学模型可以视为与一个虚拟对象相对应。
示例性地,声学模型可以是用于基于文本信息获得对应的语音数据或者语音数据的语音参数的模型,其例如是神经网络模型。如上所述,声学模型可以通过训练获得。本领域技术人员可以理解声学模型的训练方式及其作用,本文不做赘述。需注意,在模型管理方法100分别应用于语音合成系统和语音识别系统时,虽然两种系统所采用的声学模型具有不同的作用,但是模型管理方法100的流程是通用的。
本文所述的用户可以是任意人员,包括但不限于使用语音服务的消费者、开发语音服务的技术人员等等。
可选地,用户请求信息可以是与声学模型相关的请求信息,例如语音合成请求信息、模型检索请求信息、模型更新请求信息等。在一个示例中,用户请求信息是语音合成请求信息,即用户希望基于提供的文本进行语音合成,以获得采用目标对象声音表达文本内容的语音数据。在另一个示例中,用户请求信息可以是模型检索请求信息,例如用户希望获知当前声学模型池中是否存储有目标对象的声学模型,例如用户自己的声学模型。在又一个示例中,用户请求信息可以是模型更新请求信息,例如用户希望将目标对象的声学模型加入声学模型池,以对声学模型池进行更新。
虽然请求类型有可能不同,但是所对应的模型管理方法100的处理流程可以是一致的。为了描述方便,下文主要以语音合成请求信息为例描述根据本发明实施例的模型管理方法100,本领域技术人员可以结合本文描述理解当用户请求信息是其他类型的请求信息时,模型管理方法100的实现方式。
地址信息可以是任意合适的能够指示目标声学模型的存储文件所在地址的信息。目标声学模型的存储文件所在地址所对应的存储区域与声学模型池所在的存储区域不同。例如,目标声学模型的存储文件所在地址所对应的存储器可以是非易失性存储器,声学模型池所在的存储器可以是易失性存储器。目标声学模型的存储文件所在地址所对应的存储器的存储容量大小可以远大于声学模型池所在的存储器的存储容量大小,例如前者可以是后者的成千上万倍,例如一万倍、十万倍等。
示例性地,模型管理方法100实现于其上的语音设备,例如上述服务器集群,可以具有第一预设存储器(可以称为模型存储器),该存储器可以是例如硬盘。模型存储器可以具有较大的存储空间,以能够存储例如百万级别的声学模型。当语音设备自主训练获得或从其他设备获得某一对象的声学模型之后,可以将该声学模型存储在模型存储器中,方便语音系统(例如语音合成系统或语音识别系统)调用。地址信息可以是指向目标声学模型在模型存储器中的存储文件所在地址的路径信息或链接信息。
在步骤S120,在声学模型池中查找目标声学模型。
示例性地,模型管理方法实现于其上的语音设备,例如上述服务器集群,可以具有第二预设存储器(可以称为池存储器),该存储器可以是例如内存。声学模型池可以存储在池存储器中。示例性地,声学模型池可以具有预设数目的槽位,每个槽位可以用于存储一个声学模型。示例性而非限制性地,预设数目可以是固定的数目,例如100个。示例性而非限制性地,声学模型池的槽位的大小可以是固定的,即不同槽位存储的声学模型的数据大小是一致的。示例性而非限制性地,声学模型池中的槽位数目(即预设数目)和/或每个槽位的大小可以根据语音设备的内存大小配置。
本文所述的声学模型可以具有各自的标识信息。每个声学模型可以与其标识信息一起存储在声学模型池中。示例性地,标识信息可以包括以下一项或多项:声学模型所对应的名称、声学模型所对应的编号、声学模型所对应的类别。所述名称可以是声学模型所属对象的姓名,诸如“小丽”、“小明”等。所述编号可以是诸如“001”、“002”之类的编号。所述类别可以是诸如“低沉男音”、“情感女音”、“普通话”、“粤语”之类的类别。
基于用户请求信息的接收,语音设备可以在声学模型池中查找目标声学模型是否存在。如果存在,可以执行后续操作,例如基于目标声学模型进行语音合成等。如果不存在,可以将目标声学模型从其存储文件所在地址加载到声学模型池中,这一过程可以称为热加载或热更新。
在步骤S130,在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
目标声学模型的加载方式可以是任意的,下面描述几种示例性加载方式。
示例性地,根据地址信息将目标声学模型加载到声学模型池中包括:在声学模型池中查找空槽位;如果空槽位存在,则根据地址信息将目标声学模型加载到空槽位之一;和/或如果空槽位不存在,则根据地址信息将目标声学模型加载到声学模型池中的预定槽位。
需注意,本文描述的将目标声学模型加载到声学模型池中的步骤并不排除对声学模型的数据形式的适当转变。例如,目标声学模型存储在模型存储器中时可能具有预定的数据格式,这种预定的数据格式即为本文所述的存储文件。在将其从模型存储器加载到声学模型池中时,可以对声学模型的数据格式进行一定转变,以使其符合池存储器的存储要求。
可选地,如果空槽位存在,可以将目标声学模型优先加载到空槽位。加载到空槽位时,可以按照预设规则选择某一空槽位用于存储目标声学模型。示例性地,声学模型池中的槽位可以按照预设顺序排序,例如,按照声学模型所对应的编号的大小排序。可选地,可以将目标声学模型加载到声学模型池中的第一个可用空槽位。可选地,在空槽位存在的情况下,也可以根据需要将目标声学模型加载到非空槽位。
在空槽位不存在的情况下,可以通过预定规则淘汰某些声学模型,以空出槽位。例如,可以按照最近最少使用(LRU)算法或者先入先出队列对声学模型进行热加载,下面分别描述这两种方案。
在一个示例中,在如果空槽位不存在,则将目标声学模型加载到声学模型池中的预定槽位之前,模型管理方法还包括:如果空槽位不存在,则在声学模型池中查找最近最少使用的声学模型,其中,预定槽位是最近最少使用的声学模型的槽位;从声学模型池中卸载最近最少使用的声学模型。
示例性地,语音设备可以维护与声学模型池中的声学模型相关的LRU队列。本领域技术人员可以理解LRU队列的实现方式,本文不做赘述。基于LRU队列可以简单快速地查找最近最少使用的声学模型。可以将该最近最少使用的声学模型卸载,以空出其槽位(即预定槽位)。随后可以将目标声学模型加载到空出的槽位。
从声学模型池中卸载最近最少使用的声学模型的步骤是可选的,也可以直接用目标声学模型覆盖最近最少使用的声学模型,以将目标声学模型加载到所述预定槽位。
在另一个示例中,在如果空槽位不存在,则将目标声学模型加载到声学模型池中的预定槽位之前,模型管理方法100还可以包括:如果空槽位不存在,则在声学模型池中查找加载时间最早的声学模型,其中,预定槽位是加载时间最早的声学模型的槽位;从声学模型池中卸载加载时间最早的声学模型。
示例性地,语音设备可以维护与声学模型池中的声学模型相关的先入先出队列。本领域技术人员可以理解先入先出队列的实现方式,本文不做赘述。在先入先出队列中,可以按照加载时间对声学模型进行排序。基于先入先出队列可以简单快速地查找加载时间最早的声学模型。可以将该加载时间最早的声学模型卸载,以空出其槽位(即预定槽位)。随后可以将目标声学模型加载到空出的槽位。
类似地,从声学模型池中卸载加载时间最早的声学模型的步骤是可选的,也可以直接用目标声学模型覆盖加载时间最早的声学模型,以将目标声学模型加载到所述预定槽位。
本发明并不局限于上述实施例,可以采用任何合理的方式将目标声学模型加载到声学模型池中。声学模型池初始包含的声学模型可以在语音服务启动的时候自动加载到池存储器,即自动加载到声学模型池的各槽位,方便语音系统随时调用。而模型存储器可以预存大量声学模型,其可以用作备用,当声学模型池不存在用户需要的声学模型时,可以由模型存储器提供该声学模型。如上所述,模型存储器的存储容量可以远大于池存储器,例如池存储器可以存储几十或几百个声学模型,而模型存储器可以存储百万级别的声学模型。
根据本发明实施例的模型管理方法,在声学模型池中不存在用户需要的目标声学模型的情况下,可以自动将该目标声学模型加载到声学模型池。这种方案可以实现声学模型的热加载,使得相关语音技术,例如语音合成技术,不再局限于固定的声学模型。也就是说,当用户使用诸如语音合成的服务时,不用再受语音系统提供的简单几个声学模型的限制,而是可以自由选择声学模型,这样可以为用户提供极大的自由度。同时,由于这种方法对声学模型的热加载是自动化、智能化的,无需用户介入,因此可以减少用户操作,这有利于提高语音系统的工作效率,减少出错,同时可以有效地提升用户体验。
此外,随着语音技术的发展,对大规模多发音人的语音系统的需求越来越强烈。例如,如果一款TTS产品,每个用户都用自己的音色进行语音合成,那么每个用户都会有一个声学模型,声学模型的数量将非常大,可能会是几十万上百万级别,现有技术无法满足这种场景。而由于上述热加载技术,采用上述模型管理方法的语音系统可以支持超多发音人的语音服务,可以很好地满足超大规模、超多发音人场景下的语音处理需求。
由于以上优点,根据本发明实施例的模型管理方法具有极大的应用价值和广阔的市场前景。
现有的语音系统大多都功能简单,模型单一,无法实现并发处理。而根据本发明实施例的模型管理方法100和/或下述语音合成方法400可以通过多线程方式并行处理各语音处理任务,是一种高并发的处理机制。下面将结合图2描述该多线程实现方案。
本文将用于实现模型管理或语音合成的进程称为指定进程。示例性而非限制性地,语音系统可以包括调度模块和引擎模块,指定进程可以在引擎模块中实现。调度模块可以对引擎模块进行调度。此外,示例性地,语音系统还可以包括训练模块,用于训练和存储声学模型,训练模块可以包括上述模型存储器。
指定进程可以包括多个线程(可称为工作线程),多个线程可以并行运行,可以采用任意一个线程处理与目标声学模型相对应的用户请求信息,执行与目标声学模型相关的操作。在本文中,将实际接收并处理与目标声学模型相对应的用户请求信息的线程称为指定线程。指定进程可以配置有进程结构体,任一线程可以配置有自己的线程结构体。
下面结合图2描述指定进程的工作流程,以进一步说明本发明。图2示出了根据本发明一个实施例的用于实现模型管理和/或语音合成的指定进程的至少部分数据结构的示意图。
1、启动语音合成服务时,语音合成系统可以创建TTS进程(即指定进程),并进行进程资源初始化。在初始化过程中,TTS进程可以加载统一的前端模型,并加载预设的后端模型。前端模型是用于进行文本分析的模型,后端模型是声学模型池中的各声学模型。前端模型可以是经过训练获得的,并且前端模型也可以是诸如神经网络模型等。
示例性地,TTS进程可以由语音合成系统的调度模块(未示出)创建。
如图2所示,TTS进程具有对应的进程结构体。本领域技术人员可以理解进程结构体的含义,本文不做赘述。
示例性地,进程结构体可以包括进程公用参数、进程级前端参数结构体指针、进程级后端参数结构体指针。
进程公用参数可以包括线程池信息。线程池可以包括多个线程,即两个或多于两个线程。线程池信息可以包含关于每个线程的当前工作状态的信息。基于线程池信息可以获知某一线程是否空闲。
示例性地,进程级前端参数结构体指针可以包括用于指向上述统一的前端模型的指针(本文称为前端模型指针)。
示例性地,进程级后端参数结构体指针可以包括用于指示每个声学模型在声学模型池中的槽位的查找表(可以称为槽位查找表)。示例性地,槽位查找表可以是记录每个声学模型的标识信息与该声学模型在声学模型池中的槽位之间的对应关系的表。例如,假设声学模型池具有100个从1到100顺序编号的槽位,则槽位查找表的各条目可以依次是“1小丽”、“2小明”……“100小强”。
2、TTS进程可以开辟线程池,并初始化各线程的线程参数。
任一线程可以用于挂接线程安全的前端处理模块和后端处理模块,前端处理模块可以称为前端引擎(Engine)类实例,后端处理模块可以称为后端引擎类实例。前端引擎类实例可以用于对待合成文本进行文本分析,后端引擎类实例可以用于基于文本分析结果获得所需的语音数据,语音数据也可以称为语音波形数据。本领域技术人员可以理解,前端引擎类实例和后端引擎类实例是程序实例,其可以理解为是一种处理逻辑。
任一线程可以利用前端引擎类实例和后端引擎类实例,创建线程安全、对象无关的语音合成实例。所述对象无关是指对应线程并不与固定的对象绑定,而是可以动态绑定任意对象,这将在下文描述。
每个线程可以具有各自的线程结构体。图2示出了指定线程的线程结构体。如图2所示,线程结构体可以包括线程公用参数、线程级前端参数结构体指针和线程级后端参数结构体指针。
示例性地,线程公用参数可以包括进程结构体句柄。进程结构体句柄可以视作TTS进程的标识符,指定线程可以基于进程结构体句柄识别TTS进程,即找到TTS进程。
示例性地,线程级前端参数结构体指针可以包括用于指向前端引擎类实例的指针(本文称为前端引擎指针)。指定线程可以基于前端引擎指针调用前端引擎类实例。前端引擎类实例在运行过程中,可以通过进程结构体句柄找到指定进程,并进而通过进程结构体中的前端模型指针调用前端模型。随后,前端引擎类实例可以利用前端模型对待合成文本进行文本分析。指定进程中的不同线程可以通过上述方法调用统一的前端模型。
示例性地,指定线程的线程结构体可以包括目标声学模型的标识信息,例如发音人的姓名。线程结构体包括的目标声学模型的标识信息可以来自用户请求信息。例如,目标声学模型的标识信息可以包括在线程级后端参数结构体指针中,如图2所示的发音人信息一项。
示例性地,线程级后端参数结构体指针还可以包括用于指向后端引擎类实例的指针(本文称为后端引擎指针)。后端引擎类实例在运行过程中,可以基于目标声学模型的标识信息和进程结构体句柄访问进程结构体中的查找表,以在声学模型池中查找目标声学模型。
示例性地,用户合成请求信息还可以包括待合成文本和目标声学模型的标识信息。可选地,指定线程可以将用户请求信息分成两部分,第一部分可以包括待合成文本,第二部分可以包括目标声学模型的标识信息。指定线程可以利用前端引擎类实例对第一部分进行文本分析,并且可以基于第二部分从声学模型池中查找目标声学模型。
3、当语音合成系统接收到用户请求信息时,可以将用户请求信息分配给指定线程,由该线程进行后续处理。
示例性地,在步骤S110之前,模型管理方法100还可以包括:接收初始用户请求;从用于存储经训练的声学模型的预设存储器(例如上述模型存储器)中查找目标声学模型的地址信息;将初始用户请求与地址信息结合在一起形成用户请求信息。
示例性地,初始用户请求可以首先发送到调度模块。可选地,初始用户请求可以包括用户请求信息中除地址信息以外的信息。调度模块接收到初始用户请求之后,可以首先从语音合成系统的训练模块(未示出)中查找目标声学模型的地址信息。训练模块可以维护用于指示目标声学模型的存储文件所在地址的查找表(可以称为地址查找表)。示例性地,与槽位查找表类似地,地址查找表可以是记录每个声学模型的标识信息与该声学模型的存储文件所在地址之间的对应关系的表。调度模块从训练模块获得地址信息之后,可以将地址信息与初始用户请求结合在一起形成用户请求信息,并将用户请求信息发送给指定线程进行处理。
上述调度模块、训练模块和引擎模块的工作方式仅是示例而非对本发明的限制,例如,地址信息不一定需要由调度模块从训练模块查找获得,其可以通过其他方式获得,例如由用户进行设定。
示例性地,在步骤S110之前,模型管理方法100还可以包括:创建指定进程,其中,指定进程包括多个线程;以及将用户请求信息分配给多个线程中的当前空闲的指定线程;其中,步骤S110、步骤S120和步骤S130由指定线程执行。
示例性地,调度模块可以通过线程池信息找出当前空闲的线程,将其中之一作为指定线程,并将用户请求信息分配给该指定线程进行后续的语音合成处理。
将用户请求信息分配给指定线程的过程可以称为绑定过程,该绑定过程可以理解为是将指定线程与目标声学模型绑定。
由以上描述可以看出,根据本申请实施例的绑定方案是一种动态绑定方案,即线程无需与固定对象的声学模型绑定,线程与声学模型之间可以灵活机动地进行搭配和绑定。这种动态绑定方案工作效率高,处理速度快,可以更好地满足超大规模、超多发音人场景下的语音处理需求。
此外,由于上述热加载技术,采用根据本申请实施例的模型管理方法或语音合成方法的语音系统可以支持除声学模型池以外的声学模型的语音服务,在模型存储器足够大的情况下,目标声学模型甚至可以是任意的。由于需要处理的目标声学模型存在较大的随意性,因此在这种情况下,采用动态绑定方案是比较合适的。
示例性地,用户请求信息还可以包括目标声学模型的标识信息,指定进程具有对应的进程结构体,进程结构体包括用于指示每个声学模型在声学模型池中的槽位的查找表,指定线程具有对应的线程结构体,线程结构体包括用于识别指定进程的进程结构体句柄,步骤S120可以包括:由指定线程基于进程结构体句柄和目标声学模型的标识信息访问查找表,以在声学模型池中查找目标声学模型。
上文已经描述了查找表包含的内容及其查找方式,此处不再赘述。
示例性地,在步骤S130之后,模型管理方法100还可以包括:由指定线程将进程结构体句柄和目标声学模型在声学模型池中的槽位信息相结合,以获得目标声学模型的池存储信息,将所述池存储信息填充在指定线程的线程结构体中,例如填充在指定线程的线程级后端参数结构体指针中。
例如,可以将进程结构体句柄直接与目标声学模型的槽位编号连在一起形成新的数据,即池存储信息。
指定线程存储目标声学模型的池存储信息之后,后续再需要使用目标声学模型时,可以基于池存储信息直接对目标声学模型寻址,而无需再次基于进程结构体句柄和目标声学模型的标识信息从声学模型池中查找,这样做工作效率比较高。如果步骤S120的查找结果是目标声学模型存在,则也可以执行上述获得池存储信息以及将其填充在线程结构体中的操作。
示例性地,指定进程具有对应的进程结构体,进程结构体包括线程池信息,在将用户请求信息分配给多个线程中的当前空闲的指定线程之前,模型管理方法100还可以包括:通过查看线程池信息确定多个线程中的当前空闲的线程并确定指定线程。
上文已经描述了线程池信息的作用及指定线程的确定方式,此处不再赘述。
4、指定线程进行文本分析、声学参数预测和音频解码等操作,以获得语音数据。
语音合成过程可以分为前端过程和后端过程。前端过程可以包括对待合成文本进行文本分析,例如,进行文本的分词、注音、韵律预测等。
例如,待合成文本为“您好,标贝科技为您服务”,经过前端处理之后可以得到如下文本分析结果:nin2 hao3长停顿biao1 bei4 kel ji4中停顿wei4 nin2 短停顿fu2 wu4。前端过程对同一种语言可以采用统一的前端模型。
后端过程可以包括基于目标声学模型和文本分析结果进行语音合成,以获得待合成文本所对应的语音数据。例如将分词、注音、韵律等信息输入目标声学模型,可以得到对应语音的声学参数,诸如频谱包络、基频、时长等信息。声学参数是反映各对象音色的特征,不同对象的声学模型通常不一样,所获得的声学参数通常也不一样。随后可以将声学参数输入声码器,得到最终的波形文件(即语音数据)。
图3示出根据本发明一个实施例的指定线程的工作流程的示意图。如图3所示,指定线程接收用户请求信息(即合成请求),该用户请求信息包括目标声学模型的标识信息“小丽”、待合成文本“你好”、以及目标声学模型的地址信息(即模型路径mpath)。
指定线程利用前端引擎类实例对待合成文本“你好”进行文本分析,获得文本分析结果“nin2 hao3”。本文所述的文本分析可以采用现有的或将来可能出现的文本分析方式实现,本文不做赘述。
指定线程还可以利用后端引擎类实例从声学模型池中查找目标声学模型,即小丽的声学模型。如果发现小丽的声学模型不存在,指定线程还可以利用后端引擎类实例,基于模型路径mpath将小丽的声学模型从模型存储器加载到声学模型池中。随后,指定线程可以利用后端引擎类实例,基于小丽的目标声学模型和文本分析结果“nin2 hao3”进行声学参数预测和音频解码,获得以小丽嗓音发出的内容为“你好”的语音数据。如果声学模型池中存在小丽的声学模型,则指定线程可以利用后端引擎类实例直接基于声学模型池中的小丽的声学模型和文本分析结果“nin2 hao3”进行声学参数预测和音频解码。
上述采用多线程并发工作方式的语音系统尤其适用于多处理器(例如CPU)多核的服务器部署,这样可以充分利用服务器的计算资源,加快语音系统的处理效率。
根据本发明另一方面,提供一种语音合成方法,该语音合成方法可以包括上述模型管理方法100。图4示出根据本发明一个实施例的语音合成方法400的示意性流程图。如图4所示,语音合成方法400包括步骤S410、S420、S430和S440。
在步骤S410,接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息。
在步骤S420,在声学模型池中查找目标声学模型。
在步骤S430,在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
在步骤S440,基于用户请求信息和加载到声学模型池中的目标声学模型进行语音合成。
语音合成方法400的步骤S410-S430与上述模型管理方法100的步骤S110-S130对应一致,可以参考上文关于模型管理方法100的描述理解步骤S410-S430,不再赘述。
步骤S440是基于目标声学模型进行语音合成的步骤,上文已经描述了语音合成的实现方式,此处不再赘述。在从声学模型池中未查找到目标声学模型的情况下,可以利用从存储文件所在地址加载到声学模型池的目标声学模型进行语音合成。示例性地,在从声学模型池查找到目标声学模型的情况下,可以直接利用查找到的目标声学模型进行语音合成。上述两种情况下的语音合成的方式可以是一致的,即下文将描述的各种与语音合成操作相关的实施例均适用于从声学模型池查找到目标声学模型的情况,只需将“加载到声学模型池中的目标声学模型”替换为“在声学模型池中查找到的目标声学模型”即可。
根据本发明实施例的语音合成方法,在声学模型池中不存在用户需要的目标声学模型的情况下,可以自动将该目标声学模型加载到声学模型池。这种方案可以实现声学模型的热加载,使得语音合成技术不再局限于固定的声学模型。也就是说,当用户使用语音合成服务时,不用再受语音合成系统提供的简单几个声学模型的限制,而是可以自由选择声学模型,这样可以为用户提供极大的自由度。同时,由于这种方法对声学模型的热加载是自动化、智能化的,无需用户介入,因此可以减少用户操作,这有利于提高语音合成系统的工作效率,减少出错,同时可以有效地提升用户体验。此外,由于上述热加载技术,采用上述语音合成方法的语音合成系统可以支持超多发音人的语音合成服务,可以很好地满足超大规模、超多发音人场景下的语音合成需求。由于以上优点,根据本发明实施例的语音合成方法具有极大的应用价值和广阔的市场前景。
示例性地,用户合成请求信息还包括待合成文本,步骤S440可以包括:对待合成文本进行文本分析,以获得文本分析结果;基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测和音频解码,以获得待合成文本所对应的语音数据。
可选地,步骤S440中的至少部分操作可以在步骤S430之后执行,其余操作可以在步骤S410之后执行。例如,声学参数预测和音频解码的步骤可以在步骤S430之后执行,而文本分析的步骤可以在步骤S410之后,声学参数预测和音频解码的步骤之前的任意时刻执行。
示例性地,步骤S440由指定线程执行。
示例性地,指定进程具有对应的进程结构体,进程结构体包括用于指向前端模型的前端模型指针,指定线程具有对应的线程结构体,线程结构体包括用于指向前端引擎类实例的前端引擎指针和用于识别指定进程的进程结构体句柄,语音合成方法400还可以包括:由指定线程基于前端引擎指针调用前端引擎类实例,其中,前端引擎类实例在运行时执行以下操作:基于进程结构体句柄和前端模型指针调用前端模型,并利用前端模型对待合成文本进行文本分析。
示例性地,指定线程具有对应的线程结构体,线程结构体包括用于指向后端引擎类实例的后端引擎指针,语音合成方法400还可以包括:由指定线程基于后端引擎指针调用后端引擎类实例,其中,后端引擎类实例在运行时执行步骤S420、步骤S430以及基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测和音频解码,以获得待合成文本所对应的语音数据的步骤。
示例性地,用户请求信息还包括声音调节信息,基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测和音频解码,以获得待合成文本所对应的语音数据可以包括:基于文本分析结果和加载到声学模型池中的目标声学模型进行声学参数预测,以获得对应的声学参数;基于声音调节信息对声学参数进行调节;以及基于调节后的声学参数进行音频解码,以获得语音数据。
声音调节信息可以是关于语音数据的语速、音量、语调、频谱等中的一项或多项的设置信息。例如,用户可以设置想要的语音的音量等参数,如果用户进行了设置,则可以根据用户要求将语音数据的音量调大、调小或者执行其他操作。如果用户未做相关设置,则可以采用默认值,即不对预测出的声学参数进行调节,直接进行音频解码获得语音数据。
示例性地,在步骤S420之后,语音合成方法400还可以包括:在查找到目标声学模型的情况下,基于用户请求信息和在声学模型池中查找到的目标声学模型进行语音合成。可以参考上文描述理解本实施例,不再赘述。
在查找到目标声学模型的情况下所执行的语音合成操作也可以由上述指定线程执行。
图5示出根据本发明一个实施例的语音合成流程的示意图。如图5所示,语音合成系统首先接收合成请求,对该合成请求进行分析可知其为外部TTS请求,指示语音合成系统使用张三声音合成预定的文本内容。如上所述,可以将合成请求分配给指定线程,由指定线程在声学模型池中查找张三的声学模型。如果找到张三的声学模型,则可以直接进行语音合成。如果没有找到张三的声学模型,则可以在声学模型池中查找空槽位。如果找到空槽位,则可以将张三的声学模型加载到声学模型池的第一个可用空槽位。如果没有找到空槽位,则根据LRU策略卸载最近最少使用的声学模型,空出一个槽位,并将张三的声学模型加载到第一个可用空槽位,即最近最少使用的声学模型原本占据的槽位。随后,可以进行语音合成。最后,可以返回合成结果(即语音数据),例如,将合成结果通过扬声器输出。
根据本发明另一方面,提供一种模型管理装置。图6示出了根据本发明一个实施例的模型管理装置600的示意性框图。
如图6所示,根据本发明实施例的模型管理装置600包括接收模块610、查找模块620和加载模块630。所述各个模块可分别执行上文中结合图1-3描述的模型管理方法的各个步骤/功能。以下仅对该模型管理装置600的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
接收模块610用于接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息。
查找模块620用于在声学模型池中查找目标声学模型。
加载模块630用于在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
根据本发明另一方面,提供一种语音合成装置,其包括上述模型管理装置600。图7示出了根据本发明一个实施例的语音合成装置700的示意性框图。
如图7所示,根据本发明实施例的语音合成装置700包括接收模块710、查找模块720、加载模块730和合成模块740。所述各个模块可分别执行上文中结合图4-5描述的语音合成方法的各个步骤/功能。以下仅对该语音合成装置700的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
接收模块710用于接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息,用户请求信息是语音合成请求信息。
查找模块720用于在声学模型池中查找目标声学模型。
加载模块730用于在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
合成模块740用于基于用户请求信息和加载到声学模型池中的目标声学模型进行语音合成。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图8示出了根据本发明一个实施例的模型管理系统800的示意性框图。模型管理系统800包括存储装置(即存储器)810以及处理器820。
所述存储装置810存储用于实现根据本发明实施例的模型管理方法中的相应步骤的计算机程序指令。存储装置810可以包括上述模型存储器和/或池存储器。
所述处理器820用于运行所述存储装置810中存储的计算机程序指令,以执行根据本发明实施例的模型管理方法的相应步骤。
在一个实施例中,所述计算机程序指令被所述处理器820运行时用于执行以下步骤:步骤S110:接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;步骤S120:在声学模型池中查找目标声学模型;步骤S130:在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
图9示出了根据本发明一个实施例的语音合成系统900的示意性框图。语音合成系统900包括存储装置(即存储器)910以及处理器920。
所述存储装置910存储用于实现根据本发明实施例的语音合成方法中的相应步骤的计算机程序指令。存储装置910可以包括上述模型存储器和/或池存储器。
所述处理器920用于运行所述存储装置910中存储的计算机程序指令,以执行根据本发明实施例的语音合成方法的相应步骤。
在一个实施例中,所述计算机程序指令被所述处理器920运行时用于执行以下步骤:步骤S410:接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息,用户请求信息是语音合成请求信息;步骤S420:在声学模型池中查找目标声学模型;步骤S430:在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中;步骤S440:基于所述用户请求信息和加载到所述声学模型池中的所述目标声学模型进行语音合成。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的模型管理方法的相应步骤,并且用于实现根据本发明实施例的模型管理装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的模型管理装置的各个功能模块,并和/或者可以执行根据本发明实施例的模型管理方法。
在一个实施例中,所述程序指令在运行时用于执行以下步骤:步骤S110:接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;步骤S120:在声学模型池中查找目标声学模型;步骤S130:在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中。
根据本发明实施例的模型管理系统中的各模块可以通过根据本发明实施例的实施模型管理的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的语音合成方法的相应步骤,并且用于实现根据本发明实施例的语音合成装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的语音合成装置的各个功能模块,并和/或者可以执行根据本发明实施例的语音合成方法。
在一个实施例中,所述程序指令在运行时用于执行以下步骤:步骤S410:接收用户请求信息,其中,用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息,用户请求信息是语音合成请求信息;步骤S420:在声学模型池中查找目标声学模型;步骤S430:在未查找到目标声学模型的情况下,根据地址信息将目标声学模型加载到声学模型池中;步骤S440:基于所述用户请求信息和加载到所述声学模型池中的所述目标声学模型进行语音合成。
根据本发明实施例的语音合成系统中的各模块可以通过根据本发明实施例的实施语音合成的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的模型管理装置或语音合成装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种模型管理方法,包括:
步骤S110:接收用户请求信息,其中,所述用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;
步骤S120:在声学模型池中查找所述目标声学模型;
步骤S130:在未查找到所述目标声学模型的情况下,根据所述地址信息将所述目标声学模型加载到所述声学模型池中。
2.如权利要求1所述的模型管理方法,其中,所述根据所述地址信息将所述目标声学模型加载到所述声学模型池中包括:
在所述声学模型池中查找空槽位;
如果所述空槽位存在,则根据所述地址信息将所述目标声学模型加载到所述空槽位之一;和/或
如果所述空槽位不存在,则根据所述地址信息将所述目标声学模型加载到所述声学模型池中的预定槽位。
3.如权利要求2所述的模型管理方法,其中,在所述如果所述空槽位不存在,则将所述目标声学模型加载到所述声学模型池中的预定槽位之前,所述模型管理方法还包括:
如果所述空槽位不存在,则在所述声学模型池中查找最近最少使用的声学模型,其中,所述预定槽位是所述最近最少使用的声学模型的槽位;
从所述声学模型池中卸载所述最近最少使用的声学模型。
4.一种语音合成方法,包括如权利要求1至3任一项所述的模型管理方法,其中,所述用户请求信息是语音合成请求信息,所述语音合成方法还包括:
步骤S440:基于所述用户请求信息和加载到所述声学模型池中的所述目标声学模型进行语音合成。
5.一种模型管理装置,包括:
接收模块,用于接收用户请求信息,其中,所述用户请求信息包括用于指示目标声学模型的存储文件所在地址的地址信息;
查找模块,用于在声学模型池中查找所述目标声学模型;
加载模块,用于在未查找到所述目标声学模型的情况下,根据所述地址信息将所述目标声学模型加载到所述声学模型池中。
6.一种语音合成装置,包括如权利要求5所述的模型管理装置,其中,所述用户请求信息是语音合成请求信息,所述语音合成装置还包括:
合成模块,用于基于所述用户请求信息和加载到所述声学模型池中的所述目标声学模型进行语音合成。
7.一种模型管理系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至3任一项所述的模型管理方法。
8.一种语音合成系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求4所述的语音合成方法。
9.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至3任一项所述的模型管理方法。
10.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求4所述的语音合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371127.7A CN110010120A (zh) | 2019-05-05 | 2019-05-05 | 模型管理和语音合成方法、装置和系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371127.7A CN110010120A (zh) | 2019-05-05 | 2019-05-05 | 模型管理和语音合成方法、装置和系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110010120A true CN110010120A (zh) | 2019-07-12 |
Family
ID=67175708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910371127.7A Pending CN110010120A (zh) | 2019-05-05 | 2019-05-05 | 模型管理和语音合成方法、装置和系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110010120A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610720A (zh) * | 2019-09-19 | 2019-12-24 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN110767212A (zh) * | 2019-10-24 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 一种语音处理方法、装置和电子设备 |
CN111128121A (zh) * | 2019-12-20 | 2020-05-08 | 贝壳技术有限公司 | 语音信息生成方法和装置、电子设备和存储介质 |
CN113176906A (zh) * | 2021-04-25 | 2021-07-27 | 京东数字科技控股股份有限公司 | 模型管理方法、装置、计算机设备和存储介质 |
CN113539230A (zh) * | 2020-03-31 | 2021-10-22 | 北京奔影网络科技有限公司 | 语音合成方法及装置 |
-
2019
- 2019-05-05 CN CN201910371127.7A patent/CN110010120A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610720A (zh) * | 2019-09-19 | 2019-12-24 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN110767212A (zh) * | 2019-10-24 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 一种语音处理方法、装置和电子设备 |
CN110767212B (zh) * | 2019-10-24 | 2022-04-26 | 百度在线网络技术(北京)有限公司 | 一种语音处理方法、装置和电子设备 |
CN111128121A (zh) * | 2019-12-20 | 2020-05-08 | 贝壳技术有限公司 | 语音信息生成方法和装置、电子设备和存储介质 |
CN111128121B (zh) * | 2019-12-20 | 2021-04-30 | 贝壳找房(北京)科技有限公司 | 语音信息生成方法和装置、电子设备和存储介质 |
CN113539230A (zh) * | 2020-03-31 | 2021-10-22 | 北京奔影网络科技有限公司 | 语音合成方法及装置 |
CN113176906A (zh) * | 2021-04-25 | 2021-07-27 | 京东数字科技控股股份有限公司 | 模型管理方法、装置、计算机设备和存储介质 |
CN113176906B (zh) * | 2021-04-25 | 2024-05-17 | 京东科技控股股份有限公司 | 模型管理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110010120A (zh) | 模型管理和语音合成方法、装置和系统及存储介质 | |
US10726833B2 (en) | System and method for rapid customization of speech recognition models | |
US11922923B2 (en) | Optimal human-machine conversations using emotion-enhanced natural speech using hierarchical neural networks and reinforcement learning | |
US10971135B2 (en) | System and method for crowd-sourced data labeling | |
US11335320B2 (en) | System and method for distributed voice models across cloud and device for embedded text-to-speech | |
CN101593516B (zh) | 语音合成的方法和系统 | |
US10002608B2 (en) | System and method for using prosody for voice-enabled search | |
US10192541B2 (en) | Systems and methods for generating speech of multiple styles from text | |
CN109949783A (zh) | 歌曲合成方法及系统 | |
CN110534088A (zh) | 语音合成方法、电子装置及存储介质 | |
US9412359B2 (en) | System and method for cloud-based text-to-speech web services | |
CN110060656A (zh) | 模型管理和语音合成方法、装置和系统及存储介质 | |
CN107808007A (zh) | 信息处理方法和装置 | |
CN110164421A (zh) | 语音解码方法、装置及存储介质 | |
CN109410918A (zh) | 用于获取信息的方法及装置 | |
US10636412B2 (en) | System and method for unit selection text-to-speech using a modified Viterbi approach | |
WO2018227169A1 (en) | Optimal human-machine conversations using emotion-enhanced natural speech | |
KR101426214B1 (ko) | 텍스트 대 스피치 변환을 위한 방법 및 시스템 | |
US10770094B2 (en) | Routing audio streams based on semantically generated result sets | |
CN108255956A (zh) | 基于历史数据及机器学习自适应获取词库的方法及系统 | |
US10140981B1 (en) | Dynamic arc weights in speech recognition models | |
CN115019781A (zh) | 一种对话业务执行方法、装置、存储介质及电子设备 | |
CN113516963B (zh) | 音频数据的生成方法、装置、服务器和智能音箱 | |
CN109599112A (zh) | 一种语音控制方法、装置、存储介质及空调 | |
CN101088117A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190712 |