一种生成语音包的方法、装置、设备和计算机存储介质与流程

文档序号:19832812发布日期:2020-02-04 12:38阅读:616来源:国知局
一种生成语音包的方法、装置、设备和计算机存储介质与流程

本申请涉及计算机应用技术领域,特别涉及一种语音技术领域中生成语音包的方法、装置、设备和计算机存储介质。



背景技术:

随着计算机技术的不断发展和人们对于产品要求的不断提高,出现了利用语音合成技术在计算机应用产品中提供不同发音人的语音播报功能。例如,在地图类产品中,进行导航语音播报时,用户可以选择地图类产品提供的不同发音人进行导航语音播报。这些发音人往往是诸如影视演员、相声演员、歌手等知名人士。需要邀请这些知名人士到专业的录制设备录制语音,例如对于导航类应用,需要录制上万句导航过程中常用的语音,然后利用录制的语音生成语音包供客户端下载。在导航过程中需要进行播报时,从语音包中找到对应的语音进行拼接,得到播报文本。

然而现有生成语音包的方式具备以下缺点:一方面需要专业的录制设备录制上万句的语音,并手动上线到具体的应用服务端,成本高,制作周期长;另一方面,如果用户希望采用诸如自己的声音、家人的声音等生成个性化语音包,则无法实现。



技术实现要素:

有鉴于此,本申请提供了一种生成语音包的方法、装置、设备和计算机存储介质,以便于降低成本且能够方便的实现利用普通用户的声音生成个性化语音包。

第一方面,本申请提供了一种生成语音包的方法,由客户端执行,该方法包括:

向用户提供语音录制界面;

在所述语音录制界面上获取到触发语音录制的事件后,获取用户录入的语音数据;

若录入的语音数据符合训练语音合成模型的要求,则上传录入的语音数据至服务器端;

接收所述服务器端利用所述语音数据训练语音合成模型后生成的语音包的下载地址。

根据本申请一优选实施方式,所述触发语音录制的事件包括:

检测到在所述语音录制界面上触发语音录制的手势;或者,

在展现语音录制界面时,接收到用户触发语音录制的语音指令。

根据本申请一优选实施方式,所述获取用户录入的语音数据包括:

在语音录制界面上展现预设的文本语句和/或播放文本语句对应的领读语句;

获取用户依据展现的文本语句和/或所述领读语句录入的语音数据。

根据本申请一优选实施方式,该方法还包括:

获取对所述录入的语音数据的语音识别结果;

将所述语音识别结果与所述文本语句进行比对以判断所述录入的语音数据是否符合录音质量要求。

根据本申请一优选实施方式,所述训练语音合成模型的要求包括以下至少一种:

录入的语音数据符合录音质量要求;

录入的语音数据数量符合预设的数量要求。

根据本申请一优选实施方式,所述若录入的语音数据符合训练语音合成模型的要求,则上传录入的语音数据至服务器端,包括:

判断录入的当前一条语音数据是否符合录音质量要求,如果是,则获取用户录入的下一条语音数据,直至录入的符合录音质量要求的语音数据数量符合预设的数量要求;如果否,则提示用户重新录入当前一条语音数据。

根据本申请一优选实施方式,在所述获取用户录入的语音数据之前,还包括:

在所述语音录制界面上展现声音类别选项;

获取用户选择的声音类别信息并上传至服务器端,以用于所述语音合成模型的训练。

根据本申请一优选实施方式,若录入的语音数据符合训练语音合成模型的要求,则上传录入的语音数据至服务器端包括:

若录入的语音数据符合训练语音合成模型的要求,则在所述语音录制界面上展现上传语音数据的组件;

获取到用户触发所述上传语音数据的组件的事件后,上传录入的语音数据至服务器端。

根据本申请一优选实施方式,该方法还包括:

展现所述语音包的下载链接,所述下载链接包含所述语音包的下载地址;

获取到用户触发所述下载链接的事件后,从所述服务器端下载所述语音包并集成至所述客户端,以便于所述客户端利用所述语音包进行语音播报。

根据本申请一优选实施方式,所述客户端利用所述语音包进行语音播报包括:

将播报文本和所述语音包包含的模型参数发送至服务器端,由服务器端利用所述文本和模型参数进行语音合成,得到播报语音;或者,

调用语音合成模型,以便所述语音合成模型利用所述播报文本和所述语音包包含的模型参数进行语音合成,获取语音合成模型合成的播报语音。

第二方面,本申请提供了一种生成语音包的方法,由服务器端执行,该方法包括:

获取客户端上传的语音数据,所述语音数据是用户通过所述客户端提供的语音录制界面录入的;

利用所述语音数据训练语音合成模型,以生成语音包,所述语音包包括训练所述语音合成模型得到的模型参数;

将所述语音包的下载地址发送至所述客户端。

根据本申请一优选实施方式,该方法还包括:

向所述客户端发送文本语句和/或文本语句对应的领读语句,以便用户依据所述客户端展现的所述文本语句和/或所述领读语句录入语音数据。

第三方面,本申请提供了一种生成语音包的装置,设置于客户端,该装置包括:

展示单元,用于向用户提供语音录制界面;

录音单元,用于在所述语音录制界面上获取到触发语音录制的事件后,获取用户录入的语音数据;

上传单元,用于若录入的语音数据符合训练语音合成模型的要求,则上传录入的语音数据至服务器端;

接收单元,用于接收所述服务器端利用所述语音数据训练语音合成模型后生成的语音包的下载地址。

根据本申请一优选实施方式,所述展示单元,还用于在语音录制界面上展现预设的文本语句和/或播放文本语句对应的领读语句;

所述录音单元,用于获取用户依据所述展示单元展现的文本语句和/或所述领读语句录入的语音数据。

根据本申请一优选实施方式,所述展示单元,还用于展现所述语音包的下载链接,所述下载链接包含所述语音包的下载地址;

该装置还包括:

下载单元,用于获取到用户触发所述下载链接的事件后,从所述服务器端下载所述语音包并集成至所述客户端,以便于所述客户端利用所述语音包进行语音播报。

根据本申请一优选实施方式,该装置还包括:

播报单元,用于将播报文本和所述语音包包含的模型参数发送至服务器端,由服务器端利用所述文本和模型参数进行语音合成,得到播报语音;或者,调用语音合成模型,以便所述语音合成模型利用所述播报文本和所述语音包包含的模型参数进行语音合成,获取语音合成模型合成的播报语音。

第四方面,本申请还提供了一种生成语音包的装置,设置于服务器端,该装置包括:

获取单元,用于获取客户端上传的语音数据,所述语音数据是用户通过所述客户端提供的语音录制界面录入的;

生成单元,用于利用所述语音数据训练语音合成模型,以生成语音包,所述语音包包括训练所述语音合成模型得到的模型参数;

发送单元,用于将所述语音包的下载地址发送至所述客户端。

根据本申请一优选实施方式,所述发送单元,还用于向所述客户端发送文本语句和/或文本语句对应的领读语句,以便用户依据所述客户端展现的所述文本语句和/或所述领读语句录入语音数据。

第五方面,本申请提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。

第六方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行上述的方法。

本申请提供的上述技术方案具备以下优点:

1)普通用户能够通过客户端提供的语音录制界面即可实现个性化语音包的定制,无需专业的录制设备,大大降低了语音包的制作成本。

2)用户通过客户端提供的语音录制界面完成语音数据的录制后,上传至服务器端,语音合成模型的训练、语音包文件的生成以及下载地址的发送,都由服务器端自动进行。相比较现有技术中需要手动上线的方式,大大缩短的制作周期。经测试,用户仅需要等待分钟级别的时间即可完成语音包的个性化定制。

3)在本申请中,采用服务器端利用客户端上传的语音数据进行语音合成模型的训练,以生成包含模型参数的语音包,在具体应用过程中利用语音包包含的模型参数和播报文本调用语音合成模型即可得到播报语音。而现有技术中基于语音拼接的播报方式,其所对应的语音包包括语音片段,因此,本申请相比较现有技术需要录入的语音数据大大减少,从千、万数量级降低至百、十数量级,在结合韵律学的语音合成模型训练方式的情况下,甚至仅需要二、三十句的语音数据即可。很显然,在大大节约成本的同时,提高了效率。

4)在本申请提供的语音录制界面上,可以灵活采用展现文本语句和/或领读语音的方式以方便用户录入语音数据,使得不同年龄、不同场景下的用户都能够进行语音数据的录入,例如老年人、儿童、听力不好的人士等等。

5)本申请中,用户录入语音数据后,可以获取对该语音数据的语音识别结果,然后将识别结果与对应的文本语句进行比对来判断是否符合语音质量要求。一方面能够方便地检测语音质量,另一方面,对于服务器端而言,可以认为接收到的语音数据与文本语句是对应的,无需进行额外的人工标注,进一步节省人力成本。

6)生成语音包后,用户只需要点击下载,下载成功后客户端自动进行语音包的集成,并生效到客户端,使得客户端自动利用集成的语音包进行语音播报。自动化程度高,用户体验得到提升。

上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1示出了可以应用本申请实施例的示例性系统架构图;

图2为本申请实施例提供的设置于客户端的装置执行的方法流程图;

图3a~图3h为本申请实施例提供的语音录制界面的各阶段示意图;

图4为本申请实施例提供的设置于服务器端的装置执行的方法流程图;

图5为本申请实施例提供的设置于客户端的装置结构图;

图6为本申请实施例提供的设置于服务器端的装置结构图;

图7是用来实现本申请实施例的生成语音包的方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1示出了可以应用本申请实施例的用于生成语音包的方法或用于生成语音包的装置的示例性系统架构。

如图1所示,该系统架构可以包括终端设备101和102,网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101和102通过网络103与服务器104交互。终端设备101和102上可以安装有各种应用,例如语音交互应用、地图类应用、网页浏览器应用、通信类应用等。

终端设备101和102可以是支持语音录入(即能够采集用户录入的语音数据)和语音播报的各种电子设备。包括但不限于智能手机、平板电脑、笔记本电脑等等。本申请所提供的生成语音包的装置可以设置并运行于上述终端设备101或102中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。

例如,生成语音包的装置设置并运行于上述终端设备101,那么生成语音包的装置使用本申请实施例提供的方式将录入的语音数据上传至服务器104,由服务器104上生成语音包的装置利用上传的语音数据生成语音包,并供终端设备101上生成语音包的装置下载。

服务器104可以是单一服务器,也可以是多个服务器构成的服务器群组。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

为了解决现有技术中需要邀请特定人员并采用专用录制设备所导致的成本高,无法用于普通用户声音的个性化定制的问题。本申请的核心思想在于,由客户端向用户提供语音录制界面,并通过语音录制界面获取用户录入的符合训练语音合成模型要求的语音数据,以提供给服务端生成语音包,服务端将生成的语音包的下载地址提供给客户端。从而实现了任何普通用户都能够用自己终端设备上的客户端实现个性化的语音包定制。下面结合实施例分别对客户端执行的流程和服务端执行的流程进行详细描述。

图2为本申请实施例提供的设置于客户端的装置执行的方法流程图,该装置可以是单独的客户端,也可以是客户端中的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元。如图2中所示,该方法可以包括以下步骤:

在201中,向用户提供语音录制界面。

当用户想要进行个性化语音包的定制时,可以通过打开客户端,或者从客户端的特定路径,或者点击客户端界面上的特定组件等等方式触发语音录制界面的展现。客户端向用户提供语音录制界面后,用户能够通过在该语音录制界面上的操作来进行个性化语音包的定制。

例如,假设用户打开客户端后,展现如图3a中所示界面。在该界面上包括“录制我的语音”的组件,当用户点击该组件后,进入如图3b所示录音录制界面。在图3a所示的界面上,除了上述组件之外,还可以包括诸如语音包录制攻略、其他用户已经录制的语音包信息等等,在图3a中并未一一示出。

在202中,在语音录制界面上展现声音类别选项,获取用户选择的声音类别信息并上传至服务器端。

其中声音类别选项可以是与参与录制用户的性别和/或年龄等相关的。例如图3b中所示,可以提供“女声”、“男声”、“童声女”、“童声男”的选项,参与语音包录制的用户根据自己的实际情况进行选择。然后由客户端将用户选择的声音类别信息上传至服务器端,以用户语音合成模型的训练。

需要说明的是,本步骤并非本申请的必要步骤,而是优选步骤。因为对于语音合成而言,不同性别、年龄的声音是有很大区别的。比如一般女声比男声的频率高一些,在声学上对应于基频特征上的差异。因此将声音类别选项上传至服务器端,能够使得服务器端在训练语音合成模型时,对于不同的声音类别采用不同的基频特征参数,例如基频特征的上、下限。另外,在进行语音合成模型的训练时,当前用户上传的语音数据是很有限的,为了提高语音合成模型的准确度,可以结合与该用户的声音类别一致的其他用户的语音数据作为语音合成模型的训练数据。

除此之外,还可以进一步在当前语音录制界面上展现文本类别的选项。其中涉及的文本指的是后续用户进行语音录制时所依据的文本语句。为了增加趣味性等目的,除了推荐文本之外,还可以提供诸如卡通文本、电影台词等其他文本类别选项供用户选择。如图3b中所示。

在203中,在语音录制界面上获取到触发语音录制的事件后,获取用户录入的语音数据。

在本步骤中,触发语音录制的事件可以包括但不限于:检测到在语音录制界面上触发语音录制的手势;或者,在展现语音录制界面时,接收到用户触发语音录制的语音指令。

最常用的一种方式可以是检测到用户在语音录制界面上点击触发语音录制的组件后,开始进行语音数据的录入。例如,用户点击如图3b中所示的“下一步”按钮,则进入如图3c中所示的语音录制界面开始进行语音数据的录入。

本步骤中在获取用户录入的语音数据时,可以在语音录制界面上展现预设的文本语句,该文本语句可以是用户在202中选择的文本类别对应的文本语句。如图3c中所示,展现文本语句“夏天要走了,秋天要来了”后,用户可以依据展现的文本语句进行语音数据的录入。通俗地讲就是用户照着文本语句念,终端设备采集用户念的语音数据。

作为另一种实现方式,在展现文本语句的同时,可以播放该文本语句对应的领读语句。例如图3c中所示,用户可以选择其中的“自动领读”组件,实现终端设备对文本语句的领读,也可以点击其中的“试听”组件从而实现终端设备对文本语句的领读。对于在识字方面有障碍的儿童、老年人或者视力不好的人士等,都可以依据领读的内容进行语音数据的录入。

另外,对于当前录入的语音数据,用户可以通过点击“重新录音”重新录入当前文本语句对应的语音数据。用户也可以通过点击“下一条”组件进行下一条文本语句对应的语音数据的录入。当然,也可以完成当前文本语句对应的语音数据录入后,自动开始展现下一条文本语句以进行下一条语音数据的录入。

对于文本语句的展现上,设置能够覆盖尽量多的音节和音节序列的文本语句,使得服务器端在利用语音数据训练语音合成模型时,能够利用较少的语音来完成语音合成模型的训练仍达到较好的效果。

在204中,若录入的语音数据符合训练语音合成模型的要求,则上传录入的语音数据至服务器端。

其中训练语音合成模型的要求可以包括但不限于以下至少一种:录入的语音数据符合录音质量要求,录入的语音数据数量符合预设的数量要求。

录音质量要求可以体现在语音数据的声音清晰度、语音数据的准确度上。其中声音清晰度的检测较为常见,在此不做详述。对于语音数据的准确度的检测可以利用展现的文本语句实现,即用户录入语音数据后,可以获取对该语音数据的语音识别结果,然后将识别结果与对应的文本语句进行比对来判断是否准确。其中,对语音数据的语音识别可以由客户端调用终端设备本地的语音识别模型来实现,也可以由客户端将语音数据发送至能够进行语音识别的服务器端来实现。

举个例子,当用户录入一条语音数据后,客户端判断当前一条语音数据是否符合语音质量要求,如果是,则获取用户录入的下一条语音数据,直至录入的符合录音质量要求的语音数据数量符合预设的数量要求。如果否,则可以提示用户重新录入当前一条语音数据。

如图3d中所示显示正在对语音数据进行质量检测的界面内容,如果质量符合要求,则展现如图3e所示的界面内容进行下一条语音数据的录入。

另外,可以依据预设的数量要求以及当前已完成的语音数据的数量,在语音录制界面上显示录制进度,以供用户知晓录制进度信息。当完成预设数量要求的语音数据后,可以在语音录制界面上展现上传语音数据的组件,例如图3f所示,在该界面上展现上传语音数据的组件“提交我的音频”。获取到用户触发该组件的事件后,上传录入的语音数据至服务器端。

对于服务器端执行的处理将在图4所示实施例中描述,服务器端能够利用上传的语音数据生成语音包,并将语音包的下载地址发送给客户端。在服务器端生成语音包的过程中,客户端可以在界面上展现提示语音包正在生成的信息,还可以展现预估的剩余时间,如图3g所示。

在205中,接收服务器端生成的语音包的下载地址。

在206中,展现语音包的下载链接,该下载链接包含语音包的下载地址。

例如图3h所示,可以展现语音包的下载链接,供用户触发下载。

在207中,获取到用户触发下载链接的事件后,从服务器端下载语音包并集成至客户端。

对于语音包的下载和集成部分,与现有技术中语音包的下载和集成方式相同,在此不做详述。

在208中,客户端利用语音包进行语音播报。

由于服务端生成的语音包实际上是训练语音合成模型后得到的模型参数,这些模型参数可以理解成录制语音数据的用户的个性化模型参数。

客户端在进行语音播报时,可以采用在线语音合成的方式,也可以采用离线语音合成的方式。

其中,在线语音合成的方式为:客户端将播报文本和语音包包含的模型参数发送至服务器端,由服务器端利用播报文本和模型参数进行语音合成,得到播报语音。

离线语音合成的方式为:调用终端设备本地的语音合成模型,以便所述语音合成模型利用所述播报文本和所述语音包包含的模型参数进行语音合成,获取语音合成模型合成的播报语音。其中语音合成模型可以向客户端提供调用接口,客户端通过调用的方式向语音合成模型传递参数,传递的参数包括播报文本和模型参数。语音合成模型完成语音合成后,返回给客户端。

图4为本申请实施例提供的设置于服务器端的装置执行的方法流程图,如图4所示,该方法可以包括以下步骤:

在401中,获取客户端上传的语音数据,该语音数据是用户通过客户端提供的语音录制界面录入的。

客户端上传用户录入的语音数据的过程可以参见图2所示实施例。其中,在录入语音数据的过程中,服务器端可以向客户端发送文本语句和/或文本语句对应的领读语句,以便用户依据所述客户端展现的文本语句和/或领读语句录入语音数据。

在402中,利用语音数据训练语音合成模型,以生成语音包。

在本申请中,将客户端上传的用户录入的语音数据及其对应的文本语句作为训练样本,训练语音合成模型。得到的语音合成模型能够实现输入文本语句输出具备该用户声学特征的语音数据。其中在进行语音合成模型的训练时可以融入韵律学的特征,使得模型能够学习声纹风格中文本无关变化。融入韵律学特征的模型能够大大减少模型训练所需要的训练样本数量。

另外,由于本申请中用户在录入语音数据时是依据展现的文本语句的,并且客户端会采用语音识别的方式对录入的语音数据进行识别后与对应的文本语句进行比对以确定是否符合语音质量要求,只有符合质量要求的才会上传。因此,服务器端能够直接依据语音数据及其对应的文本语句作为训练样本,无需进行额外的人工标注,更进一步节省了人力成本。

具体的语音合成模型的训练过程本申请不做详述。语音合成模型训练完成后,利用得到的模型参数生成语音包。也就是说,本申请中生成的语音包并非拼接式语音包所采用的语音片段。而是训练语音合成模型得到的模型参数。

在403中,将语音包的下载地址发送至客户端。

下面列举一个具体的应用场景:

用户进入导航类客户端后,可以通过特定目录进入该客户端的语音录制界面,然后通过图2所示实施例的方式进行语音数据的录入。客户端将用户录入的语音数据上传至服务端后,服务端通过图3所示实施例的方式进行语音合成模型的训练并生成语音包下发给客户端。其中该语音包中包含的模型参数体现了录制该语音包的用户的声音特色。

用户在客户端下载该语音包并集成至客户端。之后用户在使用该客户端进行导航播报时,可以利用产生的导航播报文本以及语音包包含的模型参数,进行语音合成生成播报语音。该播报语音采用的就是该用户自己的声音。

由此可见,用户不需要通过专业的录制设备,采用自己的手机、平板电脑等终端设备就可以实行个性化语音包的录制,这是其一。其二,用户也不需要录制数量庞大的语音片段来用于语音播报的拼接,仅需要录制几十条语音数据即可实现语音合成模型的训练来得到语音包,后续通过语音包和播报文本实时进行语音合成即可。其三,任何普通用户都能够进行个性化的语音包的录制,甚至可以利用儿童、老人等的声音进行语音包的定制。

以上是对本申请所提供的方法进行的详细描述。下面结合实施例对本申请提供的装置进行详细描述。

图5为本申请实施例提供的设置于客户端的装置结构图,如图5所示,该装置可以包括:展示单元01、录音单元02、上传单元03和接收单元04,还可以包括下载单元05和播报单元06。其中各组成单元的主要功能如下:

展示单元01,用于向用户提供语音录制界面。

录音单元02,用于在语音录制界面上获取到触发语音录制的事件后,获取用户录入的语音数据。

其中触发语音录制的事件可以包括:检测到在语音录制界面上触发语音录制的手势;或者,在展现语音录制界面时,接收到用户触发语音录制的语音指令。

优选地,展示单元01还可以在语音录制界面上展现预设的文本语句和/或播放文本语句对应的领读语句。录音单元02获取用户依据展示单元01展现的文本语句和/或领读语句录入的语音数据。

更进一步地,录音单元02还可以获取对录入的语音数据的语音识别结果;将语音识别结果与对应的文本语句进行比对以判断录入的语音数据是否符合录音质量要求。

上传单元03,用于若录入的语音数据符合训练语音合成模型的要求,则上传录入的语音数据至服务器端。

其中,训练语音合成模型的要求包括以下至少录入的语音数据符合录音质量要求,以及录入的语音数据数量符合预设的数量要求中的至少一种。

录音单元02可以判断录入的当前一条语音数据是否符合录音质量要求,如果是,则获取用户录入的下一条语音数据,直至录入的符合录音质量要求的语音数据数量符合预设的数量要求;如果否,则提示用户重新录入当前一条语音数据。

作为一种优选的实施方式,录音单元02在获取用户录入的语音数据之前,展示单元01可以在语音录制界面上展现声音类别选项;上传单元03可以获取用户选择的声音类别信息并上传至服务器端,以用于所述语音合成模型的训练。

若录音单元02录入的语音数据符合训练语音合成模型的要求,则展示单元01可以在语音录制界面上展现上传语音数据的组件;上传单元03获取到用户触发所述上传语音数据的组件的事件后,上传录入的语音数据至服务器端。

接收单元04,用于接收服务器端利用语音数据训练语音合成模型后生成的语音包的下载地址。

更进一步地,展示单元01还可以展现语音包的下载链接,下载链接包含语音包的下载地址。下载单元05获取到用户触发下载链接的事件后,从服务器端下载语音包并集成至客户端,以便于客户端利用语音包进行语音播报。

播报单元06,用于将播报文本和语音包包含的模型参数发送至服务器端,由服务器端利用文本和模型参数进行语音合成,得到播报语音;或者,调用语音合成模型,以便语音合成模型利用播报文本和语音包包含的模型参数进行语音合成,获取语音合成模型合成的播报语音。

图6为本申请实施例提供的设置于服务器端的装置结构图,如图6中所示,该装置包括:获取单元11、生成单元12以及发送单元13。其中各组成单元的主要功能如下:

获取单元11,用于获取客户端上传的语音数据,语音数据是用户通过客户端提供的语音录制界面录入的。

生成单元12,用于利用语音数据训练语音合成模型,以生成语音包,语音包包括训练语音合成模型得到的模型参数。

在本申请中,将客户端上传的用户录入的语音数据及其对应的文本语句作为训练样本,训练语音合成模型。得到的语音合成模型能够实现输入文本语句输出具备该用户声学特征的语音数据。其中在进行语音合成模型的训练时可以融入韵律学的特征,使得模型能够学习声纹风格中文本无关变化。融入韵律学特征的模型能够大大减少模型训练所需要的训练样本数量。

另外,由于本申请中用户在录入语音数据时是依据展现的文本语句的,并且客户端会采用语音识别的方式对录入的语音数据进行识别后与对应的文本语句进行比对以确定是否符合语音质量要求,只有符合质量要求的才会上传。因此,服务器端能够直接依据语音数据及其对应的文本语句作为训练样本,无需进行额外的人工标注,更进一步节省了人力成本。

具体的语音合成模型的训练过程本申请不做详述。语音合成模型训练完成后,利用得到的模型参数生成语音包。也就是说,本申请中生成的语音包并非拼接式语音包所采用的语音片段。而是训练语音合成模型得到的模型参数。

发送单元13,用于将语音包的下载地址发送至客户端。

发送单元13,还用于向客户端发送文本语句和/或文本语句对应的领读语句,以便用户依据客户端展现的文本语句和/或领读语句录入语音数据。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图7所示,是根据本申请实施例的生成语音包的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。

存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的生成语音包的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的生成语音包的方法。

存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的生成语音包的方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的生成语音包的方法。

存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据生成语音包的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至生成语音包的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

生成语音包的方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。

输入装置703可接收输入的数字或字符信息,以及产生与生成语音包的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1