CN114267322A - 语音处理方法、装置、计算机可读存储介质及计算机设备 - Google Patents
语音处理方法、装置、计算机可读存储介质及计算机设备 Download PDFInfo
- Publication number
- CN114267322A CN114267322A CN202111620262.4A CN202111620262A CN114267322A CN 114267322 A CN114267322 A CN 114267322A CN 202111620262 A CN202111620262 A CN 202111620262A CN 114267322 A CN114267322 A CN 114267322A
- Authority
- CN
- China
- Prior art keywords
- target
- voice
- synthesis model
- data
- 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
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了一种语音处理方法、装置、计算机可读存储介质及计算机设备。该方法包括:根据来自终端的语音合成服务请求,确定目标性能数据以及目标发音对象的语音数据,该语音数据具有目标音色,根据目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型,并利用语音数据对待训练语音合成模型进行训练,得到目标语音合成模型,以使得终端利用目标语音合成模型对目标文本进行语音合成处理,得到具有目标音色的合成语音数据。本申请实施例可得到与终端的性能数据匹配的目标语音合成模型,从而基于该目标语音合成模型提供符合终端的目标性能数据的语音合成服务,改善用户体验。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种语音处理方法、装置、计算机可读存储介质及计算机设备。
背景技术
近年来,随着人工智能技术的发展,人机交互变得越来越频繁,以语音为媒介的交互方式逐渐成为人机交互领域的主流形式,语音合成技术在其中的重要性也日益凸显。语音合成技术是一种将文本转换成语音的信号处理技术,它能够赋予机器像人一样的发声能力。声音克隆是语音合成技术的一个应用,声音克隆可以快速实现用户声音定制,在语音助理、导航等领域有着广阔的应用前景。声音克隆是指合成训练系统使用特定用户的语音进行模型训练,进而使用训练得到语音合成模型实现文本到此特定用户语音的转换的过程。
由于语音合成模型训练需要消耗较大算力且训练时间较长,当前语音合成模型均为在硬件条件较好的云端进行训练,例如用户上传音频到云端,云端训练好的语音合成模型被下载到设备端,如此,语音合成能力被内置在设备端上,后续合成过程均在设备端上进行。
随着当前深度学习技术和硬件的发展,主流的语音合成模型基本都采用神经网络来实现,此类语音合成模型的效果要达到最优通常需要训练几个小时到几十个小时不等,用户等待时间过长,另外设备端侧对应的设备多种多样,如此,使用云端训练好的一套语音合成模型,会导致在设备端上合成能力无法运行或者导致合成效果无法达到最优。
发明内容
本申请实施例提供一种语音处理方法、装置、计算机可读存储介质及计算机设备,可以得到与终端的性能数据匹配的目标语音合成模型,从而基于该目标语音合成模型提供符合终端的性能数据的语音合成服务,改善用户体验。
本申请实施例提供了一种语音处理方法,包括:
获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色;
利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
本申请实施例还提供一种语音处理方法,包括:
根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色;
根据所述目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型;
基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得所述终端基于所述目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
本申请实施例还提供一种语音处理装置,包括:
获取模块,用于获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色;
合成模块,用于利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
本申请实施例还提供一种语音处理装置,包括:
第一接收模块,用于接收来自终端的语音合成服务请求;
第一确定模块,用于根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色;
裁剪模块,用于根据所述目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型;
训练模块,用于基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得所述终端基于所述目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的语音处理方法中的步骤。
本申请实施例还提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的语音处理方法中的步骤。
本申请实施例提供的语音处理方法、装置、计算机可读存储介质及计算机设备,根据来自终端的语音合成服务请求,确定目标性能数据以及目标发音对象的语音数据,该语音数据具有目标音色,根据目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型,并利用语音数据对待训练语音合成模型进行训练,得到目标语音合成模型,以使得终端利用目标语音合成模型对目标文本进行语音合成处理,得到具有目标音色的合成语音数据。本申请实施例可根据终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,以得到与终端的目标性能数据匹配的待训练语音合成模型,再利用语音数据对待训练语音合成模型进行训练处理,以得到与终端的性能数据匹配的目标语音合成模型,从而基于该目标语音合成模型提供符合终端的目标性能数据的语音合成服务,改善用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例中的语音处理方法的一应用场景示意图。
图1b为本申请实施例中的语音处理方法的另一应用场景示意图。
图2为本申请实施例提供的语音处理方法的流程示意图。
图3为本申请实施例提供的语音处理方法的一流程示意图。
图4为本申请实施例提供的目标语音合成模型的示意图。
图5为本申请实施例提供的语音处理方法的子流程示意图。
图6为本申请实施例提供的裁剪处理的示意图。
图7为本申请实施例提供的语音处理方法的另一流程示意图。
图8为本申请另一实施例提供的语音处理方法的流程示意图。
图9为本申请另一实施例提供的语音处理方法的一流程示意图。
图10为本申请另一实施例提供的语音处理方法的另一流程示意图。
图11为本申请另一实施例提供的语音处理方法的又一流程示意图。
图12为本申请实施例提供的语音处理装置的结构示意图。
图13为本申请实施例提供的语音处理装置的另一结构示意图。
图14为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种语音处理方法、装置、计算机可读存储介质及计算机设备。具体地,本申请实施例的语音处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备,还可以是终端和服务器协同执行。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、智能车载终端、机器人或者类似机器人功能等具有语音功能的设备。服务器可以是独立的物理服务器,也可以是区块链系统中的服务节点,还可以是多个物理服务器构成的服务器集群,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
图1a和图1b是本申请实施例提供的语音处理方法的应用场景示意图。其中,终端和服务器之间进行通信。终端与服务器之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接从而进行通信,本申请实施例以通过网络进行连接通信为例进行说明。
其中,语音合成模型的训练需要消耗较大算力且训练时间较长,因此,语音合成模型的训练大都是在服务器端完成。由于语音合成模型可采用不同神经网络来实现,若要此类语音合成模型的效果达到较优通常需要训练几个小时到几十个小时不等,等待时间过长;此外,与服务器对接的设备多种多样,每种设备所支持的算力更是千差万别,不同设备所能支持的语音合成模型大小也不同,如果服务器端采用一套模型结构固定、大小固定模型会导致在算力较低的设备上合成能力无法运行,而高端算力的设备也发挥不出其全部算力导致合成效果无法达到最优。为了解决这一问题,可以在服务器端配置几种不同的模型结构或不同的模型大小,再根据用户设备的算力来进行选择,如从几种不同的模型结构或不同的模型大小中选择匹配的模型,选择匹配的模型之后再对用户设备的语音数据进行训练,得到与用户设备的算力匹配的目标模型。这种情况下需要在服务器端设计多个模型系统。
本申请提出了一种全新的技术方案来实现目标语音合成模型与终端的目标性能数据的匹配。
如图1a所示,终端对应的目标发音对象向服务器发送语音合成服务请求,服务器接收语音合成服务请求,并基于语音合成服务请求确定语音数据和终端的目标性能数据,服务器根据目标性能数据对预训练后的初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型,再根据语音数据对待训练语音合成模型进行训练,以得到目标语音合成模型,将目标语音合成模型部署至服务器的合成服务/语音合成服务中。其中,初始语音合成模型也可以理解为全量语音合成模型。终端想要实现语音合成时,向服务器发送目标文本,服务器的合成服务选择对应的目标语音合成模型对目标文本进行语音合成处理,得到目标发音对象对应的目标音色的合成语音数据,并将合成语音数据返回至终端设备,以在终端设备上进行显示和/或播放。
如图1b所示,服务器在语音数据对裁剪处理后得到的预训练语音合成模型进行训练,得到目标语音合成模型之后,将目标语音合成模型发送至终端,如此该目标语音合成模型的合成能力被内置在终端上。其终端想要实现语音合成时,向内置的目标语音合成模型发送目标文本,以调用目标语音合成模型对目标文本进行语音合成处理,得到具有目标音色的合成语音数据,并在终端上显示该合成语音数据。该方式能较大的缓解服务器的业务压力。
在一实施例中,同样参看如图1b所对应的应用场景。在终端上会内置初始语音合成模型所对应的全量参数数据和初始语音合成模型对应的全量计算图,当服务器根据语音数据对裁剪处理后得到的待训练语音合成模型进行训练,得到目标语音合成模型之后,将目标语音合成模型中的参数变化数据和目标语音合成模型的目标计算图发送至终端。终端根据参数变化数据对全量参数数据进行对应参数替换处理,根据目标计算图对全量计算图进行对应计算图的替换处理,得到目标语音合成模型。该种情况下,即使服务器端初始语音合成模型所对应的模型结构发生变化,终端也无需更新;且由于只向终端发送参数变化数据和目标计算图,而无需发送整个目标语音合成模型,可以进一步降低服务器的网络资源和消耗。
上述是对本申请实施例的一些应用场景进行了描述,以下将分别对本申请实施例提供的一种语音处理方法、装置、计算机可读存储介质及计算机设备进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
在一实施例中,如图2和图3所示,为本申请实施例提供的语音处理方法的流程示意图。该语音处理方法应用于服务器端。如图2所示,该语音处理方法包括如下步骤。
101,根据来自终端的语音合成服务请求,确定终端的目标性能数据以及目标发音对象的语音数据,该语音数据具有目标音色。
其中,目标发音对象可以是真实用户对象、虚拟用户对象,还可以是机器发音对象等。真实用户对象包括持有终端的用户对象,如持有智能手机的用户等;虚拟用户对象可以是虚拟游戏、虚拟主播、虚拟老师、地图导航个人语音包等具有语音功能中的用户对象;机器发音对象包括机器人或者类似机器人等具有语音功能的机器所对应的发音对象等。在一些实施例中,机器发音对象也可以理解为是一种虚拟用户对象。
目标发音对象的语音数据指的是目标发音对象所发出的语音数据,如持有智能手机的用户发出的语音数据、机器人发出的语音数据、虚拟老师发出的语音数据等。语音数据具有目标发音对象所对应的目标音色。
目标发音对象对应的终端包括智能手机、运行虚拟游戏、运行包括虚拟老师等应用程序的设备、机器人或类似机器人的机器等。
终端的目标性能数据包括至少一个性能指标信息,性能指标信息可以是表征终端的算力信息,如终端硬件所能支持的算力信息。在一实施例中,终端的目标性能数据可以用每秒执行多少条百万整数指令(DMIPS)来表示,其中,每秒执行多少条百万整数指令也可以理解为终端硬件所能支持的算力信息。可以理解地,目标性能数据还可以使用其他的性能指标来表示,在此不做限定。
在一实施例中,终端上内置有对应的APP或者是加载有对应的小程序,通过对应的APP/小程序显示语音合成服务请求对应的界面,在该界面上,有语音控件,触发该语音控件,对目标发音对象进行录音,在结束录音后,生成语音合成服务器请求,向服务器发送语音合成服务请求,如此,该语音合成服务请求中携带目标发音对象的语音数据。在一实施例中,在终端显示对应的APP/小程序的界面上,触发语音合成服务控件,生成语音合成服务请求,向用户发送语音合成服务请求,服务器接收到语音合成服务请求之后,向用户展示录入语音的界面,以供用户输入语音数据,并向服务器发送语音数据。在其他实施例中还可以是其他应用场景,将不再赘述。
在一实施例中,服务器中预先保存有目标发音对象的语音数据和对应终端的目标性能数据,如此,在接收到语音合成服务请求时,直接从服务器中获取目标发音对象的语音数据和目标性能数据即可。
在一实施例中,服务器预先保存有各种不同终端型号的性能数据,当接收到语音合成服务请求时,获取语音合成服务请求中的语音数据,并从预先保存的性能数据中确定目标发音对象的终端型号所对应的目标性能数据。
在其他一些实施例中,目标发音对象的语音数据和对应终端的目标性能数据可以从终端中得到。如终端向服务器发送语音合成服务请求,该语音合成服务请求中携带目标发音对象的语音数据;终端在发送语音合成服务请求之后再获取终端对应的目标性能数据,以向服务器发送目标性能数据,或者终端在开启录音功能时获取对应的目标性能数据,以向服务器发送目标性能数据等。
在一实施例中,目标性能数据也可以携带在语音合成服务请求中,同语音数据一起发送至服务器。
102,根据目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型。
初始语音合成模型可以是预训练得到,保存在服务器中,如此直接获取初始语音合成模型。
请参看图4,图4虽然为目标语音合成模型的结构示意图,但预训练后的初始语音合成模型的结构与目标语音合成模型的结构一致,也包括声学模型和声码器。其中,声学模型包括编码器、注意力网络和解码器。其中,编码器、解码器的具体网络结构可以是长短期记忆神经网络(Long Short-Term Memory,LSTM)、卷积神经网络(Convolutional NeuralNetworks,CNN)等网络结构。本申请实施例中,将编码器对应的网络结构称为编码神经网络,解码器对应的网络结构称为解码神经网络。
初始语音合成模型中的目标网络模块包括编码神经网络、注意力网络、解码神经网络和声码器对应的声码神经网络(若声码器是利用神经网络来完成响应功能)中的一个或者多个。可以理解地,对初始语音合成模型中的编码神经网络、注意力网络、解码神经网络和声码器对应的声码神经网络中的一个或者多个对应的网络结构进行裁剪处理。
其中,裁剪处理可以理解为将目标网络模块中的某些网络层进行裁剪/丢弃/跳过该网络层。例如,某一网络模块中网络层的层数为20层,在训练时,第一次丢弃第二层,然后利用丢弃了第二层的目标网络模块进行训练,第二次时丢弃第七层至第九层(第二次时第二层还在),然后利用丢弃了第七层至第九层的目标网络模块进行训练等。其中,可以是随机裁剪处理,也可以是按照一些裁剪规则/规律进行裁剪处理,例如间隔预设网络层数进行裁剪处理再间隔预设网络层数再进行裁剪处理等。
初始语音合成模型是根据多个发音对象的语音样本预训练得到的模型,初始语音合成模型在预训练的过程中(如每轮训练的过程中)对其中的网络模块的网络层同样进行了裁剪处理。
在一实施例中,如图5所示,预训练得到初始语音合成模型的步骤,可包括以下步骤1021至步骤1024。
1021,获取多个发音对象的语音样本和原始语音合成模型,多个发音对象具有不同音色。
多个发音对象可以是同一类型的多个发音对象,如都是真实用户对象,也可以是不同类型的多个发音对象,如既包括真实用户对象,也包括虚拟用户对象等。每个发音对象具有不同音色。该步骤中的原始语音合成模型为未进行预训练的语音合成模型。
1022,将多个发音对象的语音样本输入至原始语音合成模型中,并对原始语音合成模型中的网络模块进行裁剪处理,以利用裁剪处理之后的原始语音合成模型对语音样本进行声学处理,以得到训练声学特征。
原始语音合成模型中进行裁剪处理的网络模块包括编码神经网络、注意力网络、解码神经网络和声码器对应的声码神经网络(若声码器是利用神经网络来完成响应功能)中的一个或者多个。可以理解地,对编码神经网络、注意力网络、解码神经网络和声码器对应的声码神经网络中的一个或者多个对应的网络结构进行裁剪处理。
如图6所述,为本申请实施例提供的裁剪处理的示意图。以网络模块为解码神经网络为例,假设解码神经网络为9层网络结构,对解码神经网络进行裁剪处理后,可以将解码神经网络裁剪至1层、3层和6层等。
接着,利用裁剪处理之后的原始语音合成模型对语音样本进行声学特征处理,得到训练声学特征。具体地,包括:利用裁剪处理之后的原始语音合成模型(中的编码器)对语音样本进行语义特征提取,以得到训练语义特征,该训练语义特征中包括上下文信息,并利用原始语音合成模型(中的注意力网络和解码器)对训练语义特征进行音色处理,以得到训练声学特征。其中,训练声学特征可以是梅尔谱特征,例如,从语音样本中提取MFCC(MelFrequency Cepstrum Coefficient,梅尔倒谱系数),然后根据梅尔倒谱系数确定语音样本的训练语义特征;对训练语义特征进行音色处理,得到梅尔谱特征。训练声学特征还可以是其他的声学特征。
进一步地,获取语音样本中的文本所对应的音素序列;利用原始语音合成模型(中的编码器)对音素序列进行语义特征提取,以得到训练语义特征。
其中,音素指的是文本中字符或文字的发音音子,如汉字中的声母和韵母等。对应地,音素序列可以指多个音素所组成的序列。在一实施例中,提取目标发音对象的语音数据中的文本,然后对该文本进行文本解析,如对文本进行分词处理,然后对分词处理所得的多个分词和/或字进行注音,从而得到每个分词和/或字的音素,将所得的音素进行组合得到音素序列。
例如,语音数据中的一个文本为:我爱妈妈,对应的,分词为“我”、“爱”、“妈妈”,在得到这几个分词对应的音素时,对这几个分词对应的音素进行组合,即可得到该文本的音素序列w o ai m a m a。
1023,利用原始语音合成模型对训练声学特征进行语音合成处理,得到训练预测语音。
该原始语音合成模型指的是裁剪处理之后的语音合成模型,利用裁剪处理之后的原始语音合成模型(中的声码器)对训练声学特征进行语音合成处理,得到训练预测语音。
1024,基于训练预测语音和对应的语音样本之间的损失值,对原始语音合成模型中的网络参数进行调整,以得到预训练后的初始语音合成模型。
如此,以完成训练,得到初始语音合成模型。
例如,假设有1000个语音样本,那么在一次训练中从1000个语音样本中选取10个语音样本,将该10个语音样本输入至未训练的原始语音合成模型中,此时,对原始语音合成模型中的网络模块进行裁剪处理,例如将解码神经网络的第三层丢弃,如此,数据进入解码神经网络后经过第一网络层、第二网络层处理之后,接着进入第四网络层进行处理,直至解码神经网络处理完,以得到10个语音样本所对应的训练声学特征,将该10个语音样本所对应的训练声学特征进行语音合成处理,得到10个不同的训练预测语音。将10个训练预测语音分别与对应的10个语音样本进行比对,基于对应训练预测语音和语音样本之间的损失值,对原始语音合成模型中的网络参数进行调整。
在紧接着的训练中,从1000个样本中再取出10个语音样本(该10个语音样本与上次训练的不同),将该10个语音样本输入至原始语音合成模型中,此时,对原始语音合成模型中的网络模块进行裁剪处理,例如将解码神经网络的第六层至第九层丢弃,如此,数据进入解码神经网络后经过第五网络层处理之后,接着进入第十网络层进行处理,直至解码神经网络处理完,以得到10个语音样本所对应的训练声学特征,将该10个语音样本所对应的训练声学特征进行语音合成处理,得到10个不同的训练预测语音,基于对应训练预测语音和语音样本之间的损失值,对原始语音合成模型中的网络参数进行调整。
如此,将1000个语音样本都训练一次,完成一轮的训练。对该1000个语音样本按照同样的方式进行多轮的训练,以得到初始语音合成模型。
按照上述步骤对未训练的原始语音合成模型进行预训练,即可得到本申请的预训练后的初始语音合成模型。需要注意的是,本申请中只对一个模型(一个原始语音合成模型)进行训练,且一次性即可完成该模型的训练,而且在训练的过程中,随机对原始语音合成模型中的网络模块进行裁剪处理,如此,使得预训练得到的初始语音合成模型在裁剪处理后也能具备完整模型的能力,这是能对预训练后的初始语音合成模型中的目标网络模块进行裁剪处理的原因。
需要注意的是,由于原始语音合成模型中的声学模型比较重要,因此,在一些实施例中,可以单独对原始语音合成模型中的声学模型进行训练,再单独对声码器进行训练,再将训练后的声学模型和声码器合并,得到预训练后的初始语音合成模型。
例如,单独对原始语音合成模型中的声学模型进行训练时,可包括:获取多个发音对象的语音样本和声学模型,多个发音对象具有不同音色;将语音样本输入至声学模型中,对声学模型中的网络模块进行裁剪处理,利用裁剪处理之后的声学模型对语音样本进行声学特征处理,以得到第一训练声学特征;对语音样本进行音频信号处理,以得到第二训练声学特征,基于第一训练声学特征和第二训练声学特征的损失值,更新声学模型中的神经网络的参数数据,得到预训练后的声学模型。其中,利用裁剪处理之后的声学模型对语音样本进行声学特征处理,以得到第一训练声学特征的步骤,包括:利用裁剪处理之后的声学模型对语音样本进行语义特征提取,以得到训练语义特征,并对训练语义特征进行音色处理,以得到第一训练声学特征。
当在对声码器进行训练时,输入的是训练声学特征,输出的是合成语音数据。在一实施例中,在对声码器进行训练时,也可随机对声码器中的网络层进行裁剪处理,使得训练后得到的声码器也具备完整模型的能力,如此,在对初始语音合成模型中的目标网络模块进行裁剪处理的步骤中,目标网络模块也包括声码器。
需要注意的是,本申请实施例中的初始语音合成模型可采用完整的训练方式,如输入音素序列,输出训练预测语音;也可采用两阶段的方式进行训练,如分别单独训练声学模型和声码器,再将声学模型和声码器合并以得到初始语音合成模型。
上述实施例中描述了预训练得到初始语音合成模型的过程。下面将描述如何使用预训练后的初始语音合成模型。
在一实施例中,上述102的步骤,包括:根据目标性能数据确定初始语音合成模型中的目标网络模块的目标层数;将初始语音合成模型中的目标网络模块的层数裁剪至目标层数,以得到待训练语音合成模型。
根据目标性能数据确定目标网络模块的目标层数,并将初始语音合成模型中的目标网络模块的层数裁剪至目标层数,如此,得到的待训练语音合成模型与终端的目标性能数据匹配,使得待训练语音合成模型训练后可以在终端上发挥出最好的语音合成效果,提高用户体验。
在一实施例中,上述根据目标性能数据确定初始语音合成模型中的目标网络模块的目标层数的步骤,包括:获取初始语音合成模型所对应的总复杂度信息,目标网络模块所对应的模块复杂度信息,目标网络模块对应的层数、以及与初始语音合成模型匹配的终端的性能数据;根据总复杂度信息、模块复杂度信息、层数、性能数据和目标性能数据,确定初始语音合成模型中的目标网络模块的目标层数。其中,初始语音合成模型所对应的总复杂度信息和目标网络模块所对应的模块复杂度信息可利用时间复杂度来进行量化,如将初始语音合成模型所对应的计算量作为初始语音合成模型所对应的总复杂度信息,将目标网络模块所对应的计算量作为目标网络模块所对应的模块复杂度信息。其中,确定模型的计算量,或者网络模块的计算量可按照现有的方式确定。
其中,若目标网络模块为编码神经网络,则获取编码器对应的编码神经网络所需的模块复杂度信息和编码神经网络对应的层数,若目标网络模块为解码神经网络和编码神经网络,则获取对应的编码神经网络和解码神经网络(一起)所需的模块复杂度信息和编码神经网络和解码神经网络(一起)对应的层数,以此类推,此处不一一例举。其中,在声学模型中,一般优先对解码神经网络进行裁剪处理,而不对编码神经网络、注意力网络进行裁剪处理。因此,此处以目标网络模块为解码神经网络,裁剪处理解码神经网络为例来说明如何确定解码神经网络的目标层数。
假设模型能支持的性能数据与模型复杂度成线性关系,或者理解为成正比,设初始语音合成模型的总复杂度信息为A,需要对解码器对应的解码神经网络进行裁剪处理,对应地,初始语音合成模型中的解码神经网络部分的模块复杂度信息为D,解码神经网络的层数为m,初始语音合成模型对应的终端的性能数据为DMF。目标发音对象对应的终端的目标性能数据为DMX,DMX能支持的模型复杂度为A’。其中,初始语音合成模型对应的终端的性能数据指的是能运行初始语音合成模型的最低标准的终端所对应的性能数据,可通过如下方式确定:首先确定可运行初始语音合成模型的最低标准的终端,然后在该最低标准的终端上执行性能测试程序,以确定终端的性能数据(如算力信息),例如以该终端每秒执行多少条百万整数指令作为该终端的性能数据。根据模型能支持的性能数据与模型复杂度的的线性关系,有以下公式(1)成立。
A’包括两部分,裁剪处理后的解码神经网络的模块复杂度信息和其他部分的复杂度信息,而其他部分的复杂度信息为A-D,假设需要将解码神经网络裁剪处理至n层,n为解码神经网络裁剪处理后的目标层数,则有以下公式(2)成立。
根据公式(1)和公式(2)可得以下公式(3)。
根据公式(3)可得到目标网络模块的目标层数。需要提醒的是,还可以采用其他的方式来确定目标层数。
得到目标层数后,对初始语音合成模型中的目标网络模块的层数进行裁剪处理,以将初始语音合成模型中的目标网络模块的层数裁剪至目标层数,以得到待训练语音合成模型,例如,解码神经网络的目标层数为10,则将解码神经网络的层数裁剪处理至10层。其中,裁剪可以是随机裁剪,也可以是按照某种规则/规律来进行裁剪。得到的待训练语音合成模型与目标发音对象对应的终端的目标性能数据匹配,使得语音合成模型可以得到最好的效果。
103,基于语音数据,对待训练语音合成模型进行训练,得到终端匹配的目标语音合成模型。得到匹配的目标语音合成模型使得终端基于目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
裁剪处理后得到的待训练语音合成模型并不能用于直接得到目标发音对象的合成语音数据。因此,需要利用语音数据来训练该待训练语音合成模型,以对待训练语音合成模型中的参数数据进行更新。
在一实施例中,上述103的步骤,包括:根据目标网络模块的目标层数确定待训练语音合成模型的更新轮数,根据语音数据来训练待训练语音合成模型,直至训练轮数达到更新轮数,以得到目标语音合成模型。
其中,假设语音合成模型的层数与更新轮数成线性关系,基于该假设,上述根据目标网络模块的目标层数确定待训练语音合成模型的更新轮数的步骤,包括:获取预训练得到初始语音合成模型时,目标网络模块的训练轮数和目标网络模块对应的层数,根据目标网络模块的训练轮数和层数,以及目标层数,确定目标网络模块的更新轮数,将该更新轮数确定为语音合成模型的更新轮数。例如,预训练得到初始语音合成模型时,目标网络模块的训练轮数为10轮,对应的层数为50层,当目标层数为40层时,对应的更新轮数为8轮。
确定了更新轮数后,根据语音数据来训练待训练语音合成模型,直至训练轮数达到所确定的更新轮数,停止训练,得到目标语音合成模型。
在一些实施例中,停止训练待训练语音合成模型,也可以不根据更新轮数来确定,而是根据待训练语音合成模型的损失函数是否收敛,或者待训练语音合成模型的损失函数的损失值是否在对应阈值范围内,如果是,则停止训练,得到目标语音合成模型。
在一实施例中,上述根据语音数据来训练待训练语音合成模型的步骤,包括:获取语音数据中的文本所对应的音素序列;利用语音合成模型(中的编码器)对音素序列进行语义特征提取,以得到语义特征,该语音特征以向量的形式表示,其包括上下文信息;利用语音合成模型(中的注意力网络和解码器)对语义特征进行音色处理,以得到声学特征;利用语音合成模型(中的声码器)对声学特征进行语音合成处理,得到预测语音;基于预测语音和语音数据之间的损失值,对语音合成模型中的网络参数进行调整,以得到目标语音合成模型。该目标语音合成模型即为可实现克隆目标发音对象的语音合成模型。
在一实施例中,也可对语音合成模型中的声学模型进行训练,在将训练得到的声学模型和声码器进行合并,以得到目标语音合成模型。其中,对语音合成模型中的声学模型进行训练,以得到训练后的声学模型,包括:获取语音数据中的文本所对应的音素序列;将音素序列通过声学模型进行编码解码,以得到第一声学特征;将语音数据进行音频信号处理,以得到第二声学特征;将第一声学特征和第二声学特征进行比对,根据比对的比对结果更新声学模型的参数数据,得到训练后的声学模型。其中,将音素序列通过声学模型进行编码解码,以得到第一声学特征的步骤,包括:利用声学模型(中的编码器)对音素序列进行语义特征提取,以得到语义特征,该语音特征以向量的形式表示,其包括上下文信息;利用声学模型(中的注意力网络和解码器)对语义特征进行目标音色处理,以得到第一声学特征。
对待训练语音合成模型进行训练,得到与终端匹配的目标语音合成模型后,可利用该目标语音合成模型进行语音合成处理。
在一实施例中,得到匹配的目标语音合成模型使得终端基于目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据,可应用于以下场景:终端发送目标文本至服务器,服务器根据该目标文本调用目标语音合成模型进行语音合成处理,以得到合成语音数据,并将合成语音数据发送至终端,以在终端上显示和/或播放该合成语音数据。
在一实施例中,得到匹配的目标语音合成模型使得终端基于目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据,可应用于以下场景:服务器得到与终端匹配的目标语音合成模型后,将目标语音合成模型发送至终端,以使得终端基于该目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
对应的,该实施例中,语音处理方法还包括步骤104。
104,将目标语音合成模型发送至终端,以使得终端基于该目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
该目标音色即为目标发音对象的音色。其中,目标文本可以是一段话、一个故事、一句话、一行或者多行文字、一个词组或者多个词组等等。同时,目标文本可涉及各个领域,如科技、体育、休闲娱乐、美食和文学等等。
上述实施例可根据终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,以得到与终端的目标性能数据匹配的待训练语音合成模型,再利用语音数据对待训练语音合成模型进行训练,以得到与终端的性能数据匹配的目标语音合成模型,从而基于该目标语音合成模型提供符合终端的性能数据的语音合成服务,改善用户体验。
在一实施例中,如图7所示,上述104的步骤,包括1041至1042。
1041,提取目标语音合成模型中的参数变化数据。
其中,目标语音合成模型中的参数变化数据是基于初始语音合成模型来说的。在一实施例中,由于裁剪了目标网络模块的网络结构,因此,将目标网络模块所对应的参数数据以及目标网络模块的裁剪处理而导致的其他网络模块变化的参数数据作为参数变化数据,优选地使用该种方式确定的参数变化数据,该种方式可提高终端生成目标语音合成模型的效率。在另一实施例中,将目标网络模块中的参数变化部分的数据作为参数变化数据,例如解码神经网络中裁剪了第十层,则将第九层开始到解码神经网络后面所有的网络层的参数数据作为参数变化数据。
其中,目标网络模块对应的目标计算图可调用预设函数接口来实现。
1042,将参数变化数据和目标网络模块对应的目标计算图发送至终端,以使得终端根据参数变化数据和目标计算图生成目标语音合成模型,并根据目标语音合成模型对目标文本进行语音合成处理,得到具有目标音色的合成语音数据。
确定了参数变化数据和目标网络模块对应的目标计算图之后,将参数变化数据和目标计算图发送至终端,如图3所示。在一实施例中,将参数变化数据和目标计算图发送至终端之前,需对参数变化数据和目标计算图打包,进一步地,可进行加密,然后再打包,接着发送至终端。终端根据参数变化数据和目标计算图生成目标语音合成模型。需要注意的是,该终端生成的目标语音合成模型和服务器上生成的目标语音合成模型是一致的。
终端生成目标语音合成模型后,根据目标语音合成模型对目标文本进行语音合成处理,得到具有目标音色的合成语音数据。在终端界面上显示和/或播放该合成语音数据。
该实施例中服务器并未将训练得到的目标语音合成模型发送至终端,而是将目标语音合成模型中的参数变化数据和目标网络模块对应的目标计算图发送至终端,可以降低服务器的网络资源和消耗。同时即使服务器端初始语音合成模型所对应的模型结构发生变化,终端侧无需更新。
上述部分描述了语音处理方法应用于服务器端,下面将描述应用于终端的语音处理方法。
如图8所示,为本申请实施例提供的语音处理方法的流程示意图。其中,该语音处理方法应用于终端,该语音处理方法包括如下步骤。
201,获取目标文本和目标语音合成模型,该目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,该语音数据具有目标音色。
其中,目标文本是在终端上确定的,例如,在终端界面的输入框中输入/粘贴的目标文本;或者在终端界面上加载一个文档,提取文档中的目标文本;也或者是加载图片,提取图片中的目标文本;甚至是提取视频中的目标文本等。目标文本包括一段话、一个故事、一句话、一行或者多行文字、一个词组或者多个词组等,具体不做限定。
其中,目标语音合成模型是服务器发送的,服务器根据目标发音对象的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练,以得到目标语音合成模型。其中,目标发音对象的语音数据具有目标音色。具体地,可参看上文中服务器端对应的描述,在此不再赘述。
在一实施例中,初始语音合成模型可以是预训练后得到,具体地得到预训练后的初始语音合成模型的步骤请参看上文中对应的描述,在此不再赘述。
202,利用目标语音合成模型,对目标文本进行语音合成处理,以得到具有目标音色的合成语音数据。
在一实施例中,该202的步骤,包括:获取目标文本所对应的目标音素序列;将目标音素序列通过目标语音合成模型进行声学处理,以得到包括目标音色的目标声学特征;利用目标语音合成模型对目标声学特征进行语音合成处理,以得到具有目标音色的合成语音数据。具体步骤的实现,请参看上文中共对应步骤的描述以及图4所示,在此不再赘述。进一步地,将目标音素序列通过目标语音合成模型进行声学处理,以得到包括目标音色的目标声学特征的步骤,包括:将目标音素序列通过目标语音合成模型(中的编码器)进行语义特征提取,以得到目标语义特征,该目标语音特征包括上下文信息;利用目标语音合成模型(中的注意力网络和解码器)对语义特征进行目标音色处理,以得到目标声学特征。
该实施例中的目标语音合成模型是根据终端的目标性能数据对初始语音合成模型进行裁剪处理,并利用目标发音对象的语音数据对裁剪处理之后的待训练语音合成模型进行训练得到,如此,以利用目标发音对象的语音数据更新待训练语音合成模型中的参数数据,使得终端基于该目标语音合成模型提供符合终端的目标性能数据的语音合成服务,改善用户体验。
在一实施例中,如图9所示,在获取目标文本之前,语音处理方法还包括以下步骤201a至201c。
201a,生成语音合成服务请求,以及获取终端的目标性能数据。
具体地,生成语音合成服务请求请参看上文中对应的描述,在此不再赘述。此外,该实施例中,明确限定在终端上获取对应的目标性能数据。
在一实施例中,在终端上内置有对应的APP/加载有小程序。当终端第一次加载该APP/小程序时,自动执行APP/小程序中内置的性能确定程序,以通过性能确定程序来确定终端的目标性能数据,并将该目标性能数据进行保存。或者是每隔预设时间后在加载该APP/小程序时重新确定目标性能数据,并进行保存。也可以是终端向服务器发送终端型号信息,从服务器中获取该终端型号信息所对应的目标性能数据,并进行保存。
对应地,获取终端的目标性能数据的步骤,包括:获取预先保存的所述终端的目标性能数据;或者执行性能确定程序,以确定终端的目标性能数据,即通过在终端上执行性能确定程序,以获取终端的目标性能数据。
为了避免执行性能确定程序时,终端当前运行的其他应用程序对目标性能数据的确定产生影响,在一实施例中,上述执行性能确定程序,以确定终端的目标性能数据的步骤,包括:获取终端上当前运行的其他应用程序,并暂停或者关闭其他应用程序;执行性能确定程序,以确定终端的目标性能数据;启动其他应用程序。即在执行性能确定程序之前,将终端当前运行的其他应用程序暂停或者关闭,并在执行性能确定程序之后,自动启动暂停或者关闭的其他应用程序。
201b,将语音合成服务请求和目标性能数据发送至服务器,以使得服务器根据目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用语音合成服务请求中的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到目标语音合成模型,该语音数据具有目标音色。
其中,语音合成服务请求中携带有语音数据。将语音合成服务请求和目标性能数据发送至服务器,触发服务器执行上述实施例中所述的相应步骤,以得到目标语音合成模型。
201c,接收服务器返回的目标语音合成模型。
201,获取目标文本和目标语音合成模型。
202,利用目标语音合成模型,对目标文本进行语音合成处理,以得到具有目标音色的合成语音数据。
该实施例中,进一步限定通过终端来确定目标性能数据,并将目标性能数据上传至服务器。
在一实施例中,如图10和图11所示,为本申请实施例提供的语音处理方法的又一流程示意图。请参看图10,该语音处理方法包括如下步骤。
301,获取目标语音合成模型中的参数变化数据和目标语音合成模型中的目标网络模块对应的目标计算图,该参数变化数据和目标计算图由服务器确定并发送。
在服务器得到目标语音合成模型之后,提取目标语音合成模型中的参数变化数据和目标语音合成模型中的目标网络模块对应的目标计算图,并将参数变化数据和目标计算图发送至终端,终端接收该参数变化数据和目标计算图。
在一实施例中,若服务器将参数变化数据和目标计算图打包后发送给终端,则终端接收后,还需解包以得到参数变化数据和目标计算图。
在一实施例中,若服务器将参数变化数据和目标计算图加密,然后再打包发送至终端,则终端接收后,还需要解包以得到加密后的参数变化数据和目标计算图,再解密以得到参数变化数据和目标计算图。
302,根据参数变化数据和目标计算图,生成与终端匹配的目标语音合成模型。
在一实施例中,该302的步骤,包括:获取终端上保存的全量参数数据和全量计算图,该全量参数数据和全量计算图是预训练后的初始语音合成模型所对应的参数数据和计算图;根据参数变化数据和目标计算图更新全量参数数据和全量计算图,以生成与终端匹配的目标语音合成模型。
在该实施例中,终端设备上内置有对应的APP或者加载有小程序。在APP/小程序中对应内置有预训练后的初始语音合成模型所对应的全量参数数据和初始语音合成模型所对应的全量计算图。获取该全量参数数据和初始语音合成模型所对应的全量计算图。
在一实施例中,上述根据参数变化数据和目标计算图更新全量参数数据和全量计算图,以生成与终端匹配的目标语音合成模型的步骤,包括:利用参数变化数据替换全量参数数据中对应的参数数据,并利用目标计算图替换全量计算图中目标网络模块对应的计算图,以生成与终端匹配的目标语音合成模型。需要注意的是,该目标语音合成模型与服务器上训练得到的目标语音合成模型一致。
303,获取目标文本。具体获取目标文本的方法请参看上文中对应描述。
304,利用目标语音合成模型,对目标文本进行语音合成处理,以得到具有目标音色的合成语音数据。
在一实施例中,APP/小程序中内置有合成引擎,该合成引擎用于提供第一接口以生成语音合成服务请求、提供第二接口以输入目标文本等,该合成引擎实现,调用所生成的目标语音合成模型进行语音合成处理、调用全量参数数据和全量计算图以用来生成目标语音合成模型等功能。
对应地,通过合成引擎输入目标文本,通过合成引擎调用目标语音合成模型,以利用目标语音合成模型,对目标文本进行语音合成处理,以得到具有目标音色的合成语音数据,如图11所示。合成引擎还用于执行性能确定程序等。
上述实施例中自动根据终端的目标性能数据确定合适的匹配的目标语音合成模型,且通过在APP/小程序中内置初始语音合成模型和在服务器端部分模型更新相结合的方式,实现最低程度的模型更新参数下载,提高响应速度和效率,提高用户体验。上述实施例中的方案可适用于任意一种基于深度神经网络的语音合成模型的训练上。
在上述实施例中,各个实施例中都有不同的侧重,为了简洁,在一个实施例中未详细描述的部分请参看其他实施例中的对应描述。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
为便于更好的实施本申请实施例中运行于服务器端的语音处理方法,本申请实施例还提供一种语音处理装置。请参阅图12,图12为本申请实施例提供的语音处理装置的结构示意图,该语音处理装置集成在服务器中。该语音处理装置400可以包括第一接收模块401,第一确定模块402,裁剪模块403以及训练模块404。
第一接收模块401,用于接收来自终端的语音合成服务请求。
第一确定模块402,用于根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色。
裁剪模块403,用于根据所述目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型。
训练模块404,用于基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得终端基于该目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
在一实施例中,语音处理装置还包括第一发送模块405,用于将所述目标语音合成模型发送至所述终端,以使得终端基于该目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
在一实施例中,裁剪模块403,具体用于根据所述目标性能数据确定所述初始语音合成模型中的目标网络模块的目标层数;将所述初始语音合成模型中的目标网络模块的层数裁剪至所述目标层数,以得到待训练语音合成模型。
在一实施例中,裁剪模块403,在执行所述根据所述目标性能数据确定所述初始语音合成模型中的目标网络模块的目标层数的步骤时,获取所述初始语音合成模型所需的总复杂度信息、所述目标网络模块所需的模块复杂度信息、所述目标网络模块对应的层数、以及与所述初始语音合成模型匹配的终端的性能数据;根据所述总复杂度信息、所述模块复杂度信息、所述层数、所述性能数据和所述目标性能数据,确定所述初始语音合成模型中的目标网络模块的目标层数。
在一实施例中,所述初始语音合成模型包括声学模型,所述声学模型包括编码器对应的编码神经网络、注意力网络、解码器对应的解码神经网络,所述初始语音合成模块中的目标网络模块包括编码神经网络、注意力网络和解码神经网络中的一个或者多个。
在一实施例中,训练模块404,在执行所述基于所述语音数据,对所述待训练语音合成模型进行训练的步骤时,具体执行:根据所述目标层数确定所述待训练语音合成模型的更新轮数;根据所述语音数据来训练所述待训练语音合成模型,直至训练轮数达到更新轮数,以得到目标语音合成模型。
在一实施例中,训练模块404,在执行所述根据所述语音数据来训练所述待训练语音合成模型的步骤时,具体执行:获取所述语音数据中的文本所对应的音素序列;利用所述待训练语音合成模型对所述音素序列进行声学处理,以得到声学特征;利用所述待训练语音合成模型对所述声学特征进行语音合成处理,得到预测语音;基于所述预测语音和所述语音数据之间的损失值,对待训练语音合成模型中的网络参数进行调整。
在一实施例中,第一发送模块405,具体执行:提取所述目标语音合成模型中的参数变化数据;将所述参数变化数据和所述目标网络模块对应的目标计算图发送至终端,以使得所述终端根据所述参数变化数据和所述目标计算图生成目标语音合成模型,并根据所述目标语音合成模型对目标文本进行语音合成处理,得到具有所述目标音色的合成语音数据。
在一实施例中,语音处理装置400还包括预训练模块406。其中,预训练模块406,用于预训练初始语音合成模型。具体地,用于获取多个发音对象的语音样本和原始语音合成模型,多个发音对象具有不同音色;将多个发音对象的语音样本输入至所述原始语音合成模型中,并对所述原始语音合成模型中的网络模块进行裁剪处理,以利用裁剪处理之后的原始语音合成模型对所述语音样本进行声学处理,以得到训练声学特征;利用所述原始语音合成模型对所述训练声学特征进行语音合成处理,得到训练预测语音;基于所述训练预测语音和对应的语音样本之间的损失值,对所述原始语音合成模型中的网络参数进行调整,以得到预训练后的初始语音合成模型。
在一实施例中,预训练模块406,还用于预训练声学模型,将预训练得到的声学模型和声码器合并,以得到初始语音合成模型。
同时为了更好的实施本申请实施例中运行于终端的语音处理方法,本申请实施例还提供一种语音处理装置。请参阅图13,图13为本申请实施例提供的语音处理装置的结构示意图,该语音处理装置集成在终端中。该语音处理装置500可以包括第一获取模块501以及合成模块502。
第一获取模块501,用于获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色。
合成模块502,用于利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
在一实施例中,合成模块502,具体用于获取目标文本所对应的目标音素序列;将所述目标音素序列通过所述目标语音合成模型进行声学处理,以得到包括所述目标音色的目标声学特征;利用所述目标语音合成模型对所述目标声学特征进行语音合成处理,以得到具有所述目标音色的合成语音数据。
在一实施例中,如图13所示,语音处理装置500还包括请求生成模块503、第二获取模块504、第二发送模块505以及第二接收模块506。其中,生成模块503,用于生成语音合成服务请求。第二获取模块504,用于获取所述终端的目标性能数据。第二发送模块505,用于将所述语音合成服务请求和所述目标性能数据发送至所述服务器,以使得所述服务器根据所述目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述语音数据对裁剪处理得到的待训练语音合成模型进行训练得到目标语音合成模型。第二接收模块506,用于接收所述服务器返回的所述目标语音合成模型。
在一实施例中,第二获取模块504,在执行获取所述终端的目标性能数据的步骤时,具体执行:获取预先保存的所述终端的目标性能数据;或者执行性能确定程序,以确定所述终端的目标性能数据。
在一实施例中,第二获取模块504,在执行所述执行性能确定程序,以确定所述终端的目标性能数据的步骤时,具体执行:获取所述终端上当前运行的其他应用程序,并暂停或者关闭所述其他应用程序;执行性能确定程序,以确定所述终端的目标性能数据;启动所述其他应用程序。
在一实施例中,第一获取模块501在执行获取目标语音合成模型的步骤时,具体执行:获取目标语音合成模型中的参数变化数据和所述目标网络模块对应的目标计算图,所述参数变化数据和所述目标计算图由所述服务器确定并发送。
第二生成模块507,用于根据所述参数变化数据和所述目标计算图,生成与所述终端匹配的目标语音合成模型。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器。如图14所示,图14为本申请实施例提供的计算机设备的结构示意图。该计算机设备600包括有一个或者一个以上处理核心的处理器601、有一个或一个以上计算机可读存储介质的存储器602及存储在存储器602上并可在处理器上运行的计算机程序。其中,处理器601与存储器602电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器601是计算机设备600的控制中心,利用各种接口和线路连接整个计算机设备600的各个部分,通过运行或加载存储在存储器602内的软件程序(计算机程序)和/或模块,以及调用存储在存储器602内的数据,执行计算机设备600的各种功能和处理数据,从而对计算机设备600进行整体监控。
在本申请实施例中,计算机设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色;根据所述目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型;基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得所述终端基于所述目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。或者
获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色;利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图14所示,计算机设备600还包括:触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607。其中,处理器601分别与触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607电性连接。本领域技术人员可以理解,图14中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏603可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏603可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏603而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏603也可以作为输入单元606的一部分实现输入功能。
在本申请实施例中,该触控显示屏603用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路604可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路605可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路605可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路605接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路604以发送给比如另一计算机设备,或者将音频数据输出至存储器602以便进一步处理。音频电路605还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元606可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源607用于给计算机设备600的各个部件供电。可选的,电源607可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源607还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图14中未示出,计算机设备600还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的运行于服务器端的任一种语音处理方法中的步骤或者运行于终端中的任意中语音处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色;根据所述目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型;基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得所述终端基于所述目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。或者
获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色;利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种语音处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种语音处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种语音处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种语音处理方法,其特征在于,包括:
获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色;
利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
2.根据权利要求1所述的语音处理方法,其特征在于,在所述获取目标文本的步骤之前,还包括:
生成语音合成服务请求,以及获取所述终端的目标性能数据;
将所述语音合成服务请求和所述目标性能数据发送至服务器,以使得所述服务器根据所述目标性能数据对初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述语音数据对裁剪处理得到的待训练语音合成模型进行训练得到目标语音合成模型,并接收所述服务器返回的所述目标语音合成模型。
3.根据权利要求2所述的语音处理方法,其特征在于,所述获取所述终端的目标性能数据的步骤,包括:
获取预先保存的所述终端的目标性能数据;或者
执行性能确定程序,以确定所述终端的目标性能数据。
4.根据权利要求3所述的语音处理方法,其特征在于,所述执行性能确定程序,以确定所述终端的目标性能数据的步骤,包括:
获取终端上当前运行的其他应用程序,并暂停或者关闭所述其他应用程序;
执行性能确定程序,以确定所述终端的目标性能数据;
启动所述其他应用程序。
5.根据权利要求1所述的语音处理方法,其特征在于,所述获取目标语音合成模型的步骤,包括:
获取目标语音合成模型中的参数变化数据和所述目标网络模块对应的目标计算图,所述参数变化数据和所述目标计算图由服务器确定并发送;
所述语音处理方法还包括:根据所述参数变化数据和所述目标计算图,生成与所述终端匹配的目标语音合成模型。
6.根据权利要求5所述的语音处理方法,其特征在于,所述根据所述参数变化数据和所述目标计算图,生成与所述终端匹配的目标语音合成模型的步骤,包括:
获取终端上保存的全量参数数据和全量计算图,所述全量参数数据和所述全量计算图是所述初始语音合成模型所对应的参数数据和计算图;
根据所述参数变化数据和目标计算图更新所述全量参数数据和全量计算图,以生成与所述终端匹配的目标语音合成模型。
7.根据权利要求1所述的语音处理方法,其特征在于,所述利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据的步骤,包括:
获取目标文本所对应的目标音素序列;
将所述目标音素序列通过所述目标语音合成模型进行声学处理,以得到包括所述目标音色的目标声学特征;
利用所述目标语音合成模型对所述目标声学特征进行语音合成处理,以得到具有所述目标音色的合成语音数据。
8.一种语音处理方法,其特征在于,包括:
根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色;
根据所述目标性能数据,对初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型;
基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得所述终端基于所述目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
9.根据权利要求8所述的语音处理方法,其特征在于,所述根据所述目标性能数据,对预训练后的初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型的步骤,包括:
根据所述目标性能数据确定所述初始语音合成模型中的目标网络模块的目标层数;
将所述初始语音合成模型中的目标网络模块的层数裁剪至所述目标层数,以得到待训练语音合成模型。
10.根据权利要求9所述的语音处理方法,其特征在于,所述根据所述目标性能数据确定所述初始语音合成模型中的目标网络模块的目标层数的步骤,包括:
获取所述初始语音合成模型所对应的总复杂度信息、所述目标网络模块所对应的模块复杂度信息、所述目标网络模块对应的层数、以及与所述初始语音合成模型匹配的终端的性能数据;
根据所述总复杂度信息、所述模块复杂度信息、所述层数、所述性能数据和所述目标性能数据,确定所述初始语音合成模型中的目标网络模块的目标层数。
11.根据权利要求9所述的语音处理方法,其特征在于,所述基于所述语音数据,对所述待训练语音合成模型进行训练的步骤,包括:
根据所述目标层数确定所述待训练语音合成模型的更新轮数;
根据所述语音数据来训练所述待训练语音合成模型,直至训练轮数达到更新轮数,以得到目标语音合成模型。
12.根据权利要求8所述的语音处理方法,其特征在于,所述初始语音合成模型的预训练包括如下步骤:
获取多个发音对象的语音样本和原始语音合成模型,多个发音对象具有不同音色;
将多个发音对象的语音样本输入至所述原始语音合成模型中,并对所述原始语音合成模型中的网络模块进行裁剪处理,以利用裁剪处理之后的原始语音合成模型对所述语音样本进行声学处理,以得到训练声学特征;
利用所述原始语音合成模型对所述训练声学特征进行语音合成处理,得到训练预测语音;
基于所述训练预测语音和对应的语音样本之间的损失值,对所述原始语音合成模型中的网络参数进行调整,以得到预训练后的初始语音合成模型。
13.根据权利要求8所述的语音处理方法,其特征在于,所述初始语音合成模型包括声学模型,所述声学模型的预训练包括如下步骤:
获取多个发音对象的语音样本和声学模型,多个发音对象具有不同音色;
将所述语音样本输入至所述声学模型中,对所述声学模型中的网络模块进行裁剪处理,利用裁剪处理之后的声学模型对所述语音样本进行声学特征处理,以得到第一训练声学特征;
对所述语音样本进行音频信号处理,以得到第二训练声学特征;
基于所述第一训练声学特征和所述第二训练声学特征的损失值,更新所述声学模型中的神经网络的参数数据,得到预训练后的声学模型。
14.一种语音处理装置,其特征在于,包括:
获取模块,用于获取目标文本和目标语音合成模型,所述目标语音合成模型是根据目标发音对象所对应的终端的目标性能数据对预训练后的初始语音合成模型中的目标网络模块进行裁剪处理,并利用所述目标发音对象的语音数据对裁剪处理得到的待训练语音合成模型进行训练得到,所述语音数据具有目标音色;
合成模块,用于利用所述目标语音合成模型,对所述目标文本进行语音合成处理,以得到具有所述目标音色的合成语音数据。
15.一种语音处理装置,其特征在于,包括:
第一接收模块,用于接收来自终端的语音合成服务请求;
第一确定模块,用于根据来自终端的语音合成服务请求,确定所述终端的目标性能数据以及目标发音对象的语音数据,所述语音数据具有目标音色;
裁剪模块,用于根据所述目标性能数据,对预训练后的初始语音合成模型中的目标网络模块进行裁剪处理,以得到待训练语音合成模型;
训练模块,用于基于所述语音数据,对所述待训练语音合成模型进行训练,得到所述终端匹配的目标语音合成模型,以使得所述终端基于所述目标语音合成模型对目标文本进行处理,以得到具有目标语音色的合成语音数据。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-7任一项所述的语音处理方法中的步骤或者执行如权利要求8-13任一项所述的语音处理方法中的步骤。
17.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1-7任一项所述的语音处理方法中的步骤或者执行如权利要求8-13任一项所述的语音处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620262.4A CN114267322A (zh) | 2021-12-28 | 2021-12-28 | 语音处理方法、装置、计算机可读存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620262.4A CN114267322A (zh) | 2021-12-28 | 2021-12-28 | 语音处理方法、装置、计算机可读存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114267322A true CN114267322A (zh) | 2022-04-01 |
Family
ID=80830912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111620262.4A Pending CN114267322A (zh) | 2021-12-28 | 2021-12-28 | 语音处理方法、装置、计算机可读存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114267322A (zh) |
-
2021
- 2021-12-28 CN CN202111620262.4A patent/CN114267322A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288077B (zh) | 一种基于人工智能的合成说话表情的方法和相关装置 | |
CN111261144B (zh) | 一种语音识别的方法、装置、终端以及存储介质 | |
WO2022052481A1 (zh) | 基于人工智能的vr互动方法、装置、计算机设备及介质 | |
CN106874265B (zh) | 一种与用户情绪匹配的内容输出方法、电子设备及服务器 | |
WO2019242414A1 (zh) | 语音处理方法、装置、存储介质及电子设备 | |
US9424840B1 (en) | Speech recognition platforms | |
CN110473546B (zh) | 一种媒体文件推荐方法及装置 | |
CN110853618A (zh) | 一种语种识别的方法、模型训练的方法、装置及设备 | |
TWI610295B (zh) | 解壓縮及壓縮用於語音辨識之轉換器資料的電腦實施方法及電腦實施之語音辨識系統 | |
CN112309365B (zh) | 语音合成模型的训练方法、装置、存储介质以及电子设备 | |
CN113257218B (zh) | 语音合成方法、装置、电子设备和存储介质 | |
CN114999441B (zh) | 虚拟形象生成方法、装置、设备、存储介质以及程序产品 | |
CN107808007A (zh) | 信息处理方法和装置 | |
CN108055617A (zh) | 一种麦克风的唤醒方法、装置、终端设备及存储介质 | |
CN110136715A (zh) | 语音识别方法和装置 | |
CN110781329A (zh) | 图像搜索方法、装置、终端设备及存储介质 | |
CN116597858A (zh) | 语音口型匹配方法、装置、存储介质及电子设备 | |
CN108922523B (zh) | 位置提示方法、装置、存储介质及电子设备 | |
CN108711428B (zh) | 指令执行方法、装置、存储介质及电子设备 | |
CN114999440B (zh) | 虚拟形象生成方法、装置、设备、存储介质以及程序产品 | |
CN111414748A (zh) | 话务数据处理方法及装置 | |
US20220270616A1 (en) | Electronic device and controlling method thereof | |
CN114267322A (zh) | 语音处理方法、装置、计算机可读存储介质及计算机设备 | |
CN114708849A (zh) | 语音处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112259077A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230612 Address after: No. 96, Jinzhai Road, Hefei City, Anhui Province, 230022 Applicant after: University of Science and Technology of China Applicant after: IFLYTEK Co.,Ltd. Address before: NO.666, Wangjiang West Road, hi tech Zone, Hefei City, Anhui Province Applicant before: IFLYTEK Co.,Ltd. |
|
TA01 | Transfer of patent application right |