CN113241056B - 语音合成模型的训练与语音合成方法、装置、系统及介质 - Google Patents
语音合成模型的训练与语音合成方法、装置、系统及介质 Download PDFInfo
- Publication number
- CN113241056B CN113241056B CN202110452252.8A CN202110452252A CN113241056B CN 113241056 B CN113241056 B CN 113241056B CN 202110452252 A CN202110452252 A CN 202110452252A CN 113241056 B CN113241056 B CN 113241056B
- Authority
- CN
- China
- Prior art keywords
- training
- user
- speech synthesis
- text
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 593
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 335
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 335
- 238000001308 synthesis method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 110
- 238000005530 etching Methods 0.000 claims description 173
- 238000013475 authorization Methods 0.000 claims description 76
- 230000006870 function Effects 0.000 claims description 46
- 230000002194 synthesizing effect Effects 0.000 claims description 20
- 239000002131 composite material Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000033764 rhythmic process Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000001514 detection method Methods 0.000 description 54
- 230000003993 interaction Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 23
- 230000002452 interceptive effect Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 11
- 239000000203 mixture Substances 0.000 description 10
- 230000010076 replication Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 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
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of speech synthesisers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01H—MEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
- G01H17/00—Measuring mechanical vibrations or ultrasonic, sonic or infrasonic waves, not provided for in the preceding groups
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种个性化语音合成模型的训练方法、装置、系统及存储介质与一种语音合成方法、装置、系统及存储介质。训练方法包括:接收复刻客户端直接或经由复刻业务服务器发送的目标用户的用户录音文件;调度容器集群中的动态新增的特定计算节点;通过特定计算节点从镜像仓库中拉取训练镜像,其中,训练镜像通过打包标准语音合成模型的训练环境生成,标准语音合成模型基于样本录音文件和对应的样本文本进行训练;在特定计算节点上运行训练镜像以展开训练环境;在特定计算节点上利用训练环境和用户录音文件进行语音合成模型训练,以获得专属于目标用户的个性化语音合成模型。可实现模型训练时的计算力的自动扩展,可支持大规模的自动化训练任务。
Description
技术领域
本发明涉及语音处理技术领域,具体地,涉及一种个性化语音合成模型的训练方法、装置、系统及存储介质与一种语音合成方法、装置、系统及存储介质。
背景技术
语音合成技术是一种将文字信息转化为声音信息的技术。语音合成技术可以为广大用户及目标应用提供语音合成服务。随着技术的发展,个性化语音合成技术日趋成熟,可以让用户根据个人喜好克隆自己的专属声音。例如,在某些应用场景,例如儿童故事机、地图导航播报等应用中,希望可以定制用户自己的声音来进行语音播报。实现这样的技术,通常需要对用户的声音进行采集,并基于提供的文本和采集的用户声音进行语音合成模型的训练,获得用户专属的个性化语音合成模型。
目前用于训练个性化语音合成模型的计算力不支持动态扩展,很难支持大量训练任务同时进行。一旦存在大量用户想要同时进行个性化语音合成模型的训练,则非常容易导致服务系统崩溃。
发明内容
为了至少部分地解决现有技术中存在的问题,提供一种个性化语音合成模型的训练方法、装置、系统及存储介质与一种语音合成方法、装置、系统及存储介质。
根据本发明一个方面,提供一种个性化语音合成模型的训练方法,包括:接收复刻客户端直接或经由复刻业务服务器发送的目标用户的用户录音文件;调度容器集群中的动态新增的特定计算节点;通过特定计算节点从镜像仓库中拉取训练镜像,其中,训练镜像通过打包标准语音合成模型的训练环境生成,标准语音合成模型基于样本录音文件和对应的样本文本进行训练;在特定计算节点上运行训练镜像以展开训练环境;在特定计算节点上利用训练环境和用户录音文件进行语音合成模型训练,以获得专属于目标用户的个性化语音合成模型。
根据本发明另一方面,还提供一种个性化语音合成模型的训练装置,包括:接收模块,用于接收复刻客户端直接或经由复刻业务服务器发送的目标用户的用户录音文件;调度模块,用于调度容器集群中的动态新增的特定计算节点;拉取模块,用于通过特定计算节点从镜像仓库中拉取训练镜像,其中,训练镜像通过打包标准语音合成模型的训练环境生成,标准语音合成模型基于样本录音文件和对应的样本文本进行训练;运行模块,用于在特定计算节点上运行训练镜像以展开训练环境;训练模块,用于在特定计算节点上利用训练环境和用户录音文件进行语音合成模型训练,以获得专属于目标用户的个性化语音合成模型。
根据本发明另一方面,还提供一种个性化语音合成模型的训练系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述个性化语音合成模型的训练方法。
根据本发明另一方面,还提供一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述个性化语音合成模型的训练方法。
根据本发明一个方面,提供一种语音合成方法,包括:接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本;将待合成文本输入根据上述训练方法训练获得的目标用户的个性化语音合成模型进行语音合成,以获得与待合成文本对应的目标语音。
根据本发明另一方面,还提供一种语音合成装置,包括:接收模块,用于接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本;合成模块,用于将待合成文本输入根据上述训练方法训练获得的目标用户的个性化语音合成模型进行语音合成,以获得与待合成文本对应的目标语音。
根据本发明另一方面,还提供一种语音合成系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述语音合成方法。
根据本发明另一方面,还提供一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述语音合成方法。
根据本发明实施例的个性化语音合成模型的训练方法、装置、系统及存储介质与语音合成方法、装置、系统及存储介质,将语音合成模型的训练环境打包成训练镜像,在需要时动态增加新的计算节点,并利用该计算节点自动拉取训练镜像进行专属目标用户的个性化语音合成模型的训练,这种方式可以实现模型训练时的计算力的自动扩展,因此可以支持大规模的自动化训练任务。这种方案在语音处理领域有极大的应用前景和市场价值。
在发明内容中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
以下结合附图,详细说明本发明的优点和特征。
附图说明
本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施方式及其描述,用来解释本发明的原理。在附图中,
图1示出根据本发明一个实施例的声音复刻流程的示意图;
图2示出根据本发明一个实施例的用于实现个性化语音合成模型训练的交互方法的示意性流程图;
图3a-3b示出了集成在复刻客户端上的目标应用中的复刻SDK的示例性操作;
图4示出根据本发明一个实施例的用于实现个性化语音合成模型训练的交互方法的示意性流程图;
图5示出根据本发明一个实施例的个性化语音合成模型的训练方法的示意性流程图;
图6示出根据本发明一个实施例的语音合成模型自动化训练以及语音合成的流程示意图;
图7示出根据本发明一个实施例的语音合成方法的示意性流程图;
图8示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互装置的示意性框图;
图9示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互系统的示意性框图;
图10示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互装置的示意性框图;
图11示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互系统的示意性框图;
图12示出了根据本发明一个实施例的个性化语音合成模型的训练装置的示意性框图;
图13示出了根据本发明一个实施例的个性化语音合成模型的训练系统的示意性框图;
图14示出了根据本发明一个实施例的语音合成装置的示意性框图;以及
图15示出了根据本发明一个实施例的语音合成系统的示意性框图。
具体实施方式
在下文的描述中,提供了大量的细节以便能够彻底地理解本发明。然而,本领域技术人员可以了解,如下描述仅示例性地示出了本发明的优选实施例,本发明可以无需一个或多个这样的细节而得以实施。此外,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行详细描述。
为了至少部分地解决上述技术问题,本发明实施例提供一种个性化语音合成模型的训练方法、装置、系统及存储介质。该方法可以通过容器集群实现对模型训练计算力的动态调度,从而可以支持大量训练任务的同时进行。根据本发明实施例的个性化语音合成模型的训练技术可以应用于任何采用语音合成技术的领域。
本领域技术人员可以理解,声音复刻技术是指这样的技术,即对于任一用户,可以生成专属于该用户的个性化语音合成模型。随后,当需要合成该用户的专属声音时,可以将待合成的文字输入该个性化语音合成模型进行处理,最终合成的语音内容与输入的文字一致并且语音的音色、韵律等则与该用户的声音一致。
本文描述的声音复刻技术基于云服务实现,涉及多方客户端、服务器的交互。图1示出根据本发明一个实施例的声音复刻流程的示意图。如图1所示,整个声音复刻流程可以大致划分为声音采集阶段、音频检测和模型训练阶段以及语音合成阶段。其中,可选地,声音采集可以主要在客户端完成,音频检测和模型训练可以主要在云端(例如复刻业务服务器和/或模型训练服务器)上完成,语音合成可以主要在同一或另一云端(例如合成业务服务器)上完成。需理解,上述声音复刻各阶段的划分以及实现各阶段的位置(客户端或服务器)仅是示例而非对本发明的限制,声音复刻并不一定局限于图1所示的流程和描述的实现位置,这可以结合下文具体的描述来理解。
可以理解,在语音合成之前,可以首先训练获得用户(在本文中,称为目标用户)的个性化语音合成模型。模型训练涉及客户端和云服务器。客户端可以包括例如复刻客户端。本文所述的复刻客户端可以是安装有目标应用的终端设备。目标应用可以是任意需要声音复刻功能的应用,例如某种地图导航应用、某种书籍阅读器应用等等。目标用户可以是使用上述目标应用的任一用户。终端设备可以是个人计算机、智能手机、平板电脑、或某种服务器设备等等。声音复刻的技术开发人员可以通过软件开发工具包(SDK)或网页编程语言(例如JavaScript语言,简称JS语言)的形式将声音复刻功能打包成软件模块。目标应用可以通过从语音服务商(其提供声音复刻技术)提供的地址下载SDK或访问语音服务商提供的浏览器地址以加载JS语言的方式来将声音复刻功能植入到自己的应用中。目标应用可以提供与用户交互的界面和/或接口,以接收用户输入的各种指令并执行相应的操作。当用户使用目标应用时,可以利用目标应用提供的界面和/或接口使用被植入的声音复刻技术。复刻SDK可以随着目标应用一起安装到客户端(例如用户的手机)中,目标应用可以不直接与云服务器沟通,而是通过复刻SDK与云服务器沟通。
下面描述通过安装有上述目标应用的客户端及与该客户端交互的服务器实现个性化语音合成模型的训练的方案。
根据本发明一个方面,公开一种用于实现个性化语音合成模型训练的交互方法。图2示出根据本发明一个实施例的用于实现个性化语音合成模型训练的交互方法200的示意性流程图。交互方法200应用于安装有上述目标应用的客户端(下文称为复刻客户端)。如图2所示,用于实现个性化语音合成模型训练的交互方法200包括客户端操作,所述客户端操作包括步骤S210-S260。
在步骤S210,从复刻业务服务器获取用户训练文本。
复刻客户端或说复刻客户端上的目标应用(在本文的描述中,复刻客户端的操作可以理解为是复刻客户端上的目标应用的操作)可以与复刻业务服务器交互,以从复刻业务服务器获取用户训练文本。用户训练文本可以是任意文本。可选地,可以为不同的目标应用分配相同的用户训练文本,也可以为不同的目标应用分配不同的用户训练文本。即,复刻客户端从复刻业务服务器获取的用户训练文本可以是与集成声音复刻功能的目标应用相关联的用户训练文本。例如,对于地图导航类型的目标应用,复刻业务服务器可以为其分配包含较多城市、道路名称的用户训练文本。又例如,对于阅读类型的目标应用,复刻业务服务器可以为其分配某个小说中的一段文字作为用户训练文本。
可选地,用户训练文本可以与用户去相关,即,对于同一应用的不同用户来说,所接收的用户训练文本是相同的。当然,可选地,用户训练文本也可以与用户相关,即根据用户的不同而分配不同的用户训练文本。
可选地,当复刻客户端向复刻业务服务器请求用户训练文本时,复刻业务服务器可以将多套训练文本返回给复刻客户端,由目标应用从多套训练文本中选择一套训练文本提供给目标用户。
在步骤S220,输出用户训练文本。输出用户训练文本可以用于供目标用户查看。
可以通过复刻客户端的输出装置输出用户训练文本。示例性地,输出装置可以包括但不限于显示屏和/或扬声器等。用户训练文本可以以文字、图像或视频等形式显示在显示屏上,也可以以音频形式由扬声器输出,还可以采用文字、图像、视频、音频等形式中的任意多种结合输出。用户训练文本以音频形式输出的方式可以方便视力较差或不方便查看屏幕的用户。
在步骤S230,采集目标用户的语音,以获得用户录音文件。
在输出用户训练文本以供目标用户查看时,可以采集目标用户的语音,获得用户录音文件。可选地,可以将输出用户训练文本后的一段预定时间作为语音采集时间,并在该语音采集时间内采集用户的语音以获得用户录音文件。可选地,复刻客户端可以接收用户输入的录音开始指令和录音完成指令,并将在从接收到录音开始指令的时刻到接收到录音完成指令的时刻之间采集的语音作为所需的用户录音文件。
目标应用可以调用复刻客户端的麦克风,通过麦克风采集目标用户的语音。本领域技术人员可以理解麦克风的调用和采集方式,本文不赘述。
在步骤S240,在用户训练文本所包含的文字信息与用户录音文件所表达的文字信息相匹配的情况下,将用户录音文件直接或经由复刻业务服务器上传到模型训练服务器,以在模型训练服务器上基于用户录音文件训练专属于目标用户的个性化语音合成模型。
在将用户录音文件直接或经由复刻业务服务器上传到模型训练服务器之前或者在将用户录音文件直接或经由复刻业务服务器上传到模型训练服务器的过程中,可以通过复刻客户端或复刻业务服务器执行语音文本匹配操作,所述语音文本匹配操作包括:判断用户训练文本所包含的文字信息与用户录音文件所表达的文字信息是否匹配。比较可取的是,由复刻业务服务器执行上述语音文本匹配操作。
语音文本匹配操作的示例性实现方案将在下文详细描述,此处不赘述。
确定用户训练文本所包含的文字信息与用户录音文件所表达的文字信息相匹配的情况下,可以将完整的用户录音文件上传到模型训练服务器。模型训练服务器可以进行语音合成模型的训练。
在一个示例中,在将用户录音文件直接或经由所述复刻业务服务器上传到模型训练服务器的同时,复刻客户端还可以将用户训练文本一起上传到模型训练服务器。模型训练服务器可以基于用户录音文件和用户训练文本进行语音合成模型的训练。在另一个示例中,模型训练服务器可以对用户录音文件进行语音识别,从中识别出对应的文本、韵律、用户标签等信息,并基于用户录音文件和语音识别结果进行语音合成模型的训练。在这种情况下,可以无需向模型训练服务器上传用户训练文本。
在步骤S250,从模型训练服务器直接或经由复刻业务服务器接收个性化语音合成模型的训练结果信息。
在步骤S260,基于训练结果信息输出关于个性化语音合成模型的训练是否完成的反馈信息。
可以通过复刻客户端的输出装置输出反馈信息。与用户训练文本类似地,反馈信息可以以文字、图像或视频形式显示在显示屏上,也可以以音频形式由扬声器输出,还可以采用文字、图像、视频、音频等形式中的任意多种结合输出。
根据本发明实施例的用于实现个性化语音合成模型训练的交互方法,可以自动从服务器获取用户训练文本,并自动上传用户录音文件,并通过服务器实现对个性化语音合成模型的训练。这种交互方案使得客户端(或客户端上的目标应用)具备支持声音复刻的能力。此外,这种方案有助于支持个性化语音合成模型的云端自动化训练。
模型训练服务器、复刻业务服务器和授权服务器中的一者或多者需要与复刻客户端交互,具体地,是与复刻客户端上的目标应用中集成的复刻SDK(或加载的JS语言模块)进行交互。为了便于描述后续的内容,下面将主要以复刻SDK为例描述复刻客户端与服务器之间的交互流程。
参见图3a-3b,示出了复刻SDK的示例性操作。虚线下方的是Demo,是目标应用感知到的信息或执行的操作。虚线上方的是复刻SDK在后台实际执行的操作。由复刻SDK执行的操作主要包括噪音检测和录音。噪音检测操作是可选的。
首先,目标应用可以与目标用户交互,接收目标用户输入的复刻开启指令。目标应用在接收到复刻开启指令之后,可以首先初始化复刻SDK。对于复刻SDK来说,其在后台进行初始化。初始化完成之后,复刻SDK可以将目标应用的客户端标识符(ClientId)和客户端密码(ClientSecret)上传到授权服务器进行鉴权,鉴权通过的话可以接收到授权服务器返回的复刻令牌(token)。
目标应用的开发商购买复刻SDK的使用权后,语音服务商可以通过邮件、短信或其他方式将ClientId和ClientSecret下发到目标应用。ClientId和ClientSecret用来验证目标应用的身份,并判断其是否有权限使用声音复刻服务。不同的目标应用可以具有不同的权限,授权服务器可以存储每个目标应用的权限内容,并在该目标应用申请使用声音复刻服务时对其权限进行验证。可选地,授权服务器可以采用诸如Oauth2.0 ClientCredentials授权协议来开放授权能力,并且可以面向应用进行授权。
复刻SDK拿到复刻token之后,可以通过该复刻token作为合法性的凭证与服务器进行交互,例如可以到复刻业务服务器申请获取用户训练文本,到复刻业务服务器或模型训练服务器中申请模型训练资源,等等。
复刻SDK可以首先通过复刻token从复刻业务服务器中获取用户训练文本(图3a-3b示出为录音文本)。此外,复刻SDK还可以与获取用户训练文本异步地进行噪音检测。
噪音检测通过之后并在获取到用户训练文本的情况下,复刻SDK可以开始正式的录音。此时可以在复刻客户端输出用户训练文本。同时,目标用户可以按照用户训练文本发出对应的声音,复刻SDK通过麦克风采集此时目标用户的语音,获得用户录音文件(图3a-3b中示出为声音文件)。
复刻SDK将采集到的用户录音文件直接或经由复刻业务服务器上传到模型训练服务器,模型训练服务器可以基于用户录音文件进行模型训练,获得所需的个性化语音合成模型。模型训练服务器可以将训练获得的个性化语音合成模型进行持久化存储,以便在需要为目标用户进行语音合成时,调出对应的个性化语音合成模型并进行合成。
通过以上描述可知,整个声音复刻流程涉及较多的客户端和服务器的交互。交互方法200主要是复刻客户端一侧的操作。下面描述交互方法200的一些具体实现方式。
根据本发明实施例,用户训练文本包括至少一个文本段,用户录音文件包括与至少一个文本段一一对应的至少一个合格语音段文件,
采集目标用户的语音,以获得用户录音文件包括:
步骤a:确定用户训练文本中的第一个文本段为当前文本段;
步骤b:采集目标用户的语音,以获得与当前文本段相对应的临时语音段文件;
步骤c:在当前文本段所包含的文字信息与临时语音段文件所表达的文字信息相匹配的情况下,确定临时语音段文件是与当前文本段相对应的合格语音段文件并判断当前文本段是否是最后一个文本段,如果当前文本段不是最后一个文本段,则确定下一个文本段为新的当前文本段并转至步骤b,如果当前文本段是最后一个文本段,则确定用户录音文件采集完成;
步骤d:在当前文本段所包含的文字信息与临时语音段文件所表达的文字信息不匹配的情况下,如果第一预设条件满足,则丢弃临时语音段文件并转至步骤b,如果第一预设条件不满足,则输出录音失败提示信息。
针对任一当前文本段,如果采集到的临时语音段文件所表达的文字信息与当前文本段所包含的文字信息不匹配,则丢弃该临时语音段文件,直至找到匹配的临时语音段文件,该匹配的临时语音段文件确定为所需的合格语音段文件。所有文本段相对应的所有合格语音段文件组成用户录音文件。
可选地,在步骤d中,在当前文本段所包含的文字信息与临时语音段文件所表达的文字信息不匹配的情况下,如果第一预设条件满足,则可以进一步输出重新录音提示信息,供目标用户查看,以提示目标用户重新进行录音。如果第一预设条件不满足,则可以输出录音失败提示信息,以供目标用户查看。
本文所述的“至少一个”与“一个或多个”等同。示例性地,复刻客户端可以将用户录音文件直接上传到模型训练服务器。在一个实施例中,用户录音文件可以一次性上传到模型训练服务器。在另一个实施例中,用户录音文件也可以分多次分别上传到模型训练服务器。在后一种实施例中,用户录音文件可以边检测边上传。例如,可以将用户录音文件分为多段采集,每采集并上传一段之后,可以由模型训练服务器检测一下该段录音文件(即语音段文件)是否与对应的训练文本(即文本段)匹配,匹配的话再继续采集并上传下一段。例如,可以将用户训练文本分为12段,每段50个字,共600个字,每次复刻客户端显示当前的50个字,用户发出对应的语音,复刻客户端采集用户的语音并上传,检测通过之后,再显示后面的50个字。
示例性地,复刻客户端可以首先将用户录音文件上传到复刻业务服务器,再由复刻业务服务器将用户录音文件上传到模型训练服务器。在一个实施例中,复刻客户端可以将用户录音文件一次性上传到复刻业务服务器。在另一个实施例中,复刻客户端也可以将用户录音文件分多次分别上传到复刻业务服务器。在后一种实施例中,同样可以将用户录音文件分为多段采集,每采集一段之后,可以上传到复刻业务服务器,由复刻业务服务器检测一下该段录音文件(即语音段文件)是否与对应的训练文本(即文本段)匹配,匹配的话再继续采集并上传下一段。最终整个用户录音文件均通过检测之后,可以由复刻业务服务器将该整个用户录音文件上传到模型训练服务器。
可以理解,当用户训练文本仅包括一个文本段,用户录音文件仅包括一个合格语音段文件的情况下,该文本段就是用户训练文本本身,该合格语音段文件则是用户录音文件本身。即,这种情况属于上述一次性上传用户录音文件的实施例。
在步骤b中,可以在当前语音采集时段内采集目标用户的语音,以获得与当前文本段相对应的临时语音段文件。示例性地,每次输出当前文本段之后或者针对当前文本段再次执行步骤b时,可以将后续的一段预定时间确定为当前语音采集时间,并在该语音采集时间内采集用户的语音以获得临时语音段文件。可选地,每次输出当前文本段之后或者针对当前文本段再次执行步骤b时,复刻客户端可以接收用户输入的录音开始指令和录音完成指令,并将在从接收到录音开始指令的时刻到接收到录音完成指令的时刻之间的时段确定为当前语音采集时间,并在该语音采集时间内采集用户的语音以获得临时语音段文件。
分段采集、检测和上传的方案便于及时发现和纠正用户的录音错误,便于减少用户的工作量,以获得较好的用户体验。
根据本发明实施例,第一预设条件包括:针对当前文本段执行步骤b的次数未超过第一次数阈值。
第一次数阈值可以是任何合适的值,其可以根据需要设定。例如,第一次数阈值可以是3次、5次、10次等。对于某一段文字,如果用户多次(即达到第一次数阈值时)录音均不匹配,则可以停止针对该段文字的录音和检测,可以提示用户录音失败,要求用户从头开始重新录音,或者返回初始页面,或者执行其他操作。基于执行步骤b的次数来确定是否停止重复录音的方案仅是示例而非对本发明的限制,第一预设条件可以设定为其他合适的条件。例如,第一预设条件还可以包括:针对当前文本段的总录音时长未超过第一时间阈值。
根据本发明实施例,在采集目标用户的语音,以获得与当前文本段相对应的临时语音段文件之前,步骤b还包括:输出当前文本段。
示例性地,复刻客户端可以一次性地输出用户训练文本,也可以分多次分别输出用户训练文本。在复刻客户端一次性输出用户训练文本的情况下,可以选择一次性采集和上传用户的语音,也可以选择分段采集和上传用户的语音。在复刻客户端多次输出用户训练文本的情况下,可以每次输出一段文本,针对当前这段文本采集用户的语音,并针对采集的当前语音段文件执行语音文本匹配操作,匹配通过才输出下一段文本。
根据本发明实施例,在步骤c之前,采集目标用户的语音,以获得用户录音文件还包括:将临时语音段文件上传到复刻业务服务器,以在复刻业务服务器上对临时语音段文件进行语音识别,并在复刻业务服务器上基于语音识别结果判断当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配;接收复刻业务服务器返回的关于当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配的匹配结果。
如上所述,可以将用户录音文件分段采集并上传到复刻业务服务器,在复刻业务服务器上进行语音文本匹配操作,每段匹配通过再进行下一段录音的采集和上传。最后全部语音段文件通过再由复刻业务服务器将完整的用户录音文件上传到模型训练服务器。图3b示出了这种实施例。
根据本发明实施例,接收复刻业务服务器返回的关于当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配的匹配结果包括:通过第一回调函数对匹配结果进行回调。
目标应用(或说复刻SDK)可以创建回调函数,并向回调函数的调用方(例如复刻业务服务器)发起一个回调请求,同时目标应用(或说复刻SDK)可以去处理其他任务。目标应用(或说复刻SDK)所需的数据(例如上述匹配结果)准备好之后调用方将其塞进回调函数里,塞完之后目标应用(或说复刻SDK)可以立刻获知,并通过回调函数拿到所需的数据。如果目标应用(或说复刻SDK)所需的数据不存在,调用方也可以将空结果放进回调函数里。因此,目标应用(或说复刻SDK)可以检查一下回调函数是否有所需的数据。
通过回调函数对所需的数据进行回调,便于目标应用(或说复刻SDK)能够同步执行其他任务,而无需一直等待结果。这样可以提高目标应用(或说复刻SDK)的处理效率。
根据本发明实施例,在步骤c之前,采集目标用户的语音,以获得用户录音文件还包括:将临时语音段文件上传到复刻业务服务器,以在复刻业务服务器上对临时语音段文件进行语音识别;接收复刻业务服务器返回的语音识别结果;以及基于语音识别结果判断当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配。
根据本发明实施例,接收复刻业务服务器返回的语音识别结果包括:通过第六回调函数对语音识别结果进行回调。
根据本发明实施例,在步骤c之前,采集目标用户的语音,以获得用户录音文件还包括:对临时语音段文件进行语音识别;以及基于语音识别结果判断当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配。
根据本发明实施例,在步骤c之前,采集目标用户的语音,以获得用户录音文件还包括:实时输出临时语音段文件所表达的文字信息。
实时输出临时语音段文件所表达的文字信息可以用于供目标用户查看。在通过语音识别确定临时语音段文件所表达的文字信息之后,可以实时输出该文字信息的识别结果。这样便于目标用户一目了然地确认自己发音是否正确,以便于用户及时纠正发音错误,尽快发出正确的语音。
在通过复刻业务服务器对临时语音段文件进行语音识别的情况下,复刻客户端可以从复刻业务服务器接收语音识别结果(即临时语音段文件所表达的文字信息),并输出该结果。在由复刻客户端自己对临时语音段文件进行语音识别的情况下,可以直接将语音识别结果输出。
根据本发明实施例,在采集目标用户的语音,以获得用户录音文件之前,客户端操作还包括噪音检测操作,噪音检测操作包括:步骤e:采集环境音,以获得环境音数据;步骤f:对环境音数据进行噪音检测;其中,采集目标用户的语音,以获得用户录音文件的步骤在噪音检测通过的情况下执行。可选地,输出用户训练文本的步骤也可以在噪音检测通过的情况下执行。
如图3a所示,在正式录音之前,可以由复刻SDK进行噪音检测。可选地,在噪音检测开启之前以及噪音检测的过程中,可以进行麦克风权限检测,该检测可以是经常进行的。
根据本发明实施例,步骤e包括:每隔预定时间间隔采集一次环境音的分贝值,以获得第一预设数目的分贝值,环境音数据包括第一预设数目的分贝值;步骤f包括:判断第一预设数目的分贝值中是否存在第二预设数目的分贝值超过第一分贝阈值;以及如果存在,则确定噪音检测未通过,否则确定噪音检测通过。
在步骤e,共采集第一预设数目次分贝值,获得第一预设数目的分贝值。第一预设数目和第二预设数目均可以根据需要设定,可以是任意合适的大小,本文不对此进行限定。类似地,第一分贝阈值可以根据需要设定,可以是任意合适的大小,本文不对此进行限定。示例性地,第一分贝阈值可以是60分贝、70分贝、80分贝等等。
下面举例说明。在下面的示例中,第一预设数目是12,第二预设数目是3,第一分贝阈值是70分贝。例如,可以一共检测3秒,每250毫秒采集一次分贝值,共采集12个分贝值。如果12个分贝值中有任意(可以不相邻)3个及以上的分贝值超过70分贝,则认为噪音检测不通过。在这种情况下,可以输出提示信息,告知用户噪音检测未通过。相反,如果12个分贝值中超过70分贝的分贝值没有达到3个(即至少10个分贝值是不大于70分贝的),则可以认为噪音检测通过。此时,同样可以输出提示信息,告知用户噪音检测通过。
根据本发明实施例,在步骤f之后,噪音检测操作还包括:在噪音检测未通过的情况下,对第一预设数目的分贝值中所有超过第一分贝阈值的分贝值求平均,以获得第一平均值;输出第一平均值;和/或在噪音检测通过的情况下,对第一分贝集中的所有分贝值求平均,以获得第二平均值,其中,第一分贝集包括第二分贝集中的至少部分分贝值,第二分贝集包括第一预设数目的分贝值中所有未超过第一分贝阈值的分贝值;输出第二平均值。
在噪音检测未通过的情况下,可以可选地输出未通过的值。可选地,所述未通过的值可以为所有超过第一分贝阈值的分贝值的平均值。例如,假设采集的12个分贝值中有4个分贝值超过了70分贝,则可以将这4个分贝值求平均,并将平均值输出。这样便于用户获知当前的噪音水平,进而便于用户选择更合适的地点和/或时间来进行声音复刻。
类似地,在噪音检测通过的情况下,可以可选地输出通过的值。可选地,所述通过的值可以为第一预设数目的分贝值中所有未超过第一分贝阈值的分贝值的平均值。可选地,所述通过的值还可以为第一预设数目的分贝值中所有未超过第一分贝阈值且高于第二分贝阈值的分贝值的平均值。例如,假设采集的12个分贝值中有10个分贝值均未超过70分贝,则可以将这10个分贝值求平均,并将平均值输出。这样便于用户获知当前的噪音水平。
根据本发明实施例,在对第一分贝集中的所有分贝值求平均,以获得第二平均值之前,噪音检测操作还包括:在噪音检测通过的情况下,从第二分贝集中找出低于第二分贝阈值的分贝值并将找出的分贝值丢弃;以及确定第一分贝集包括第二分贝集中保留的所有分贝值。
第二分贝阈值可以根据需要设定,可以是任意合适的大小,本文不对此进行限定。示例性地,第二分贝阈值可以是10分贝、20分贝、30分贝等等。例如,假设采集的12个分贝值中有10个分贝值均未超过70分贝,并且这10个分贝值中有一个低于20分贝,则可以将这个低的分贝值丢弃,将剩余的9个分贝值求平均,并将平均值输出。过低的分贝值可能是有问题的噪音采集结果,即可能是无效数据,将这样的数据丢弃,可以降低噪音检测的误差。
根据本发明实施例,在步骤e的执行过程中,噪音检测操作还包括:通过第二回调函数对采集到的每个分贝值进行回调;实时输出第二回调函数获得的分贝值。
实时输出第二回调函数获得的分贝值可以用于供目标用户查看,以便于用户更详细地了解当前环境的噪音情况。
参见图3a,可以在噪音检测过程中,将每次采集到的分贝值进行回调,回调的优势可以参考上文描述,此处不赘述。
根据本发明实施例,在噪音检测操作之前,客户端操作还包括:从复刻业务服务器接收噪音配置信息,噪音配置信息包括第一预设数目、第二预设数目和第一分贝阈值中的一项或多项。
在采用上述第二分贝阈值的实施例中,噪音配置信息可以包括第一预设数目、第二预设数目、第一分贝阈值和第二分贝阈值中的一项或多项。
第一预设数目、所述第二预设数目和所述第一分贝阈值这些信息可以作为配置信息由复刻业务服务器设定,复刻SDK可以从复刻业务服务器获取这些信息,并基于获取的信息进行后续的噪音检测处理。
根据本发明实施例,从复刻业务服务器获取用户训练文本包括:从复刻业务服务器获取与目标应用相对应的至少一个预设训练文本,目标应用是用于实现客户端操作的应用;从复刻业务服务器接收噪音配置信息包括:从复刻业务服务器接收与至少一个预设训练文本一一对应的至少一组预设配置信息;在噪音检测操作之前,客户端操作还包括:从至少一个预设训练文本中选择特定的预设训练文本作为用户训练文本;从至少一组预设配置信息中选择与用户训练文本相对应的预设配置信息作为噪音配置信息。
如上所述,可以为每个目标应用分配多套训练文本,由目标应用自行设定为用户分配哪套文本。例如,可以为某些用户分配长一些的用户训练文本,并为其他用户分配短一些的用户训练文本。为目标应用分配多套训练文本的方案可以向目标应用提供更多的选择权,便于目标应用根据自身需要在不同的场合或针对不同的用户提供不同的训练文本。
噪音配置信息可以是统一设置的,即针对所有预设训练文本设置相同的噪音配置信息。噪音配置信息还可以是单独设置的,即每个预设训练文本可以具有自己专有的噪音配置信息,不同的预设训练文本可以具有不同的噪音配置信息。
根据本发明实施例,从复刻业务服务器获取用户训练文本包括:从复刻业务服务器获取与目标应用相对应的至少一个预设训练文本,目标应用是用于实现客户端操作的应用;在噪音检测操作之前,客户端操作还包括:从至少一个预设训练文本中选择特定的预设训练文本作为用户训练文本;将用户训练文本或用户训练文本的标识信息上传到复刻业务服务器,以由复刻业务服务器从与至少一个预设训练文本一一对应的至少一组预设配置信息中选择与用户训练文本相对应的预设配置信息作为噪音配置信息。随后,复刻客户端可以从复刻业务服务器接收选择出的噪音配置信息,而无需接收全部的至少一组预设配置信息。
复刻客户端可以将选择出的用户训练文本上传到复刻业务服务器,也可以将用户训练文本的标识信息上传到复刻业务服务器,只要复刻业务服务器能够获知其最终选择的训练文本即可。用户训练文本的标识信息可以是任何能够用来识别用户训练文本的信息,例如,每个预设训练文本可以具有自己唯一的编号,该编号即为每个预设训练文本的标识信息。
根据本发明实施例,在步骤f之后,噪音检测操作还包括:在噪音检测未通过的情况下,如果第二预设条件满足,则返回步骤e,如果第二预设条件不满足,则输出噪音检测失败信息。
根据本发明实施例,所述第二预设条件包括:噪音检测未通过的次数小于第二次数阈值。
第二次数阈值可以是任何合适的值,其可以根据需要设定。例如,第二次数阈值可以是3次、5次、10次等。噪音检测失败次数太多,超过一定阈值,则可以不再继续进行噪音检测,而是输出噪音检测失败信息,以提示目标用户调整声音采集的地点和/或时间,在更良好的环境下进行声音复刻。基于噪音检测未通过的次数来确定是否停止重复进行噪音检测的方案仅是示例而非对本发明的限制,第二预设条件可以设定为其他合适的条件。例如,第二预设条件还可以包括:噪音检测的总时长未超过第二时间阈值。
根据本发明实施例,噪音检测操作与从复刻业务服务器获取用户训练文本的步骤通过异步线程异步执行。
如图3a所示,噪音检测操作和获取用户训练文本的步骤可以是异步执行的。例如,初始化SDK完成之后,复刻SDK鉴权完成获取复刻token之后,即可以开始获取用户训练文本。与此同时,还可以在后台进行噪音检测操作。两种操作异步执行,可以大大节约时间,从而提高声音复刻的效率。
根据本发明实施例,在步骤e之前和步骤e的执行过程中,客户端操作还包括:检测目标应用是否具有麦克风权限,目标应用是用于实现客户端操作的应用;其中,步骤e在目标应用具有麦克风权限的情况下执行。
根据本发明实施例,在采集目标用户的语音,以获得用户录音文件之前和采集目标用户的语音,以获得用户录音文件的执行过程中,客户端操作还包括:检测目标应用是否具有麦克风权限,目标应用是用于实现客户端操作的应用;其中,采集目标用户的语音,以获得用户录音文件的步骤在目标应用具有麦克风权限的情况下执行。
参见图3a,在噪音检测之前、正式录音之前或在这些步骤的执行过程中,复刻SDK可以不断进行麦克风权限的检测步骤。复刻SDK可以仅检测是否存在麦克风权限,如果不存在,可以告知目标应用麦克风权限检测不通过,由目标应用请求用户开启麦克风权限。
根据本发明实施例,在检测目标应用是否具有麦克风权限之后,客户端操作还包括:如果目标应用没有麦克风权限,则向目标应用返回关于麦克风权限未通过的通知信息,以由目标应用输出权限申请信息,权限申请信息用于向目标用户申请麦克风权限。
本领域技术人员可以理解申请麦克风权限的实现方式,此处不赘述。
根据本发明实施例,在从复刻业务服务器获取用户训练文本之前,客户端操作还包括:将授权请求上传到授权服务器,以在授权服务器上进行鉴权,其中,授权请求包括目标应用的客户端标识符和客户端密码,目标应用是用于实现客户端操作的应用;接收授权服务器发送的复刻令牌,复刻令牌由授权服务器在目标应用鉴权通过的情况下基于客户端标识符和客户端密码生成,复刻令牌用于表示目标应用的合法性;其中,从复刻业务服务器获取用户训练文本的步骤在接收到复刻令牌的情况下执行。
参见图3a,复刻SDK可以首先将目标应用的ClientID和ClientSecret上传到授权服务器。授权服务器通过ClientID和ClientSecret判断目标应用是否具有复刻权限。如果有,则可以将复刻token返回给复刻SDK。每个目标应用的复刻次数可以设定为有限的,例如,针对应用A提供100次复刻次数,而针对应用B仅提供50次复刻次数。一旦复刻次数达到阈值,则不再发放复刻token,或者可以正常发放复刻token,但是后续复刻业务服务器将对复刻次数进行验证,达到复刻次数阈值的应用将无法获得模型训练资源。
根据本发明实施例,在从复刻业务服务器获取用户训练文本之前,客户端操作还包括:将授权请求上传到授权服务器,以在授权服务器上进行鉴权,其中,授权请求包括目标用户的用户标识符和用户密码;接收授权服务器发送的复刻令牌,复刻令牌由授权服务器在目标用户鉴权通过的情况下基于用户标识符和用户密码生成,复刻令牌用于表示目标用户的合法性;其中,从复刻业务服务器获取用户训练文本的步骤在接收到复刻令牌的情况下执行。
在采用JS语言模块实现上述客户端操作的情况下,可以基于用户标识符(UserID)和用户密码(UserSecret)进行鉴权,鉴权通过则发放复刻令牌。UserID和UserSecret可以由目标用户经由浏览器页面输入复刻客户端。
根据本发明实施例,在从复刻业务服务器获取用户训练文本之前,客户端操作还包括:将文本获取请求和复刻令牌一起上传到复刻业务服务器,以由复刻业务服务器自身或通过授权服务器验证复刻令牌是否有效,其中,文本获取请求用于向复刻业务服务器申请获取用户训练文本;以及从复刻业务服务器接收针对文本获取请求的文本反馈结果,其中,在复刻令牌有效的情况下文本反馈结果包括用户训练文本,在复刻令牌无效的情况下文本反馈结果包括请求失败信息;从复刻业务服务器获取用户训练文本包括:在文本反馈结果包括用户训练文本的情况下,从文本反馈结果中获取用户训练文本。
如图3a所示,复刻SDK可以拿着复刻token去复刻业务服务器请求获取用户训练文本。可选地,复刻业务服务器可以将接收到的复刻token上传到授权服务器进行有效性验证。例如,复刻token具有有效期,授权服务器可以将复刻token的使用期限与有效期进行对比,判断复刻token是否过期。验证通过则可以将用户训练文本返回给复刻SDK。验证不通过的话可以将请求失败信息发送给复刻SDK。此处的请求失败信息用于指示文本获取请求失败。该请求失败信息可以是例如空结果。可选地,复刻业务服务器也可以由自身实现对复刻token的有效性验证。例如,授权服务器可以将与复刻token对应的编码信息发送给复刻业务服务器,由复刻业务服务器基于编码信息对复刻token进行有效性验证。
根据本发明实施例,从复刻业务服务器接收针对文本获取请求的文本反馈结果包括:通过第三回调函数对文本反馈结果进行回调。
上文已经描述了回调函数的优势,此处不赘述。
根据本发明实施例,在从复刻业务服务器接收针对文本获取请求的文本反馈结果之后,客户端操作还包括:在文本反馈结果包括请求失败信息的情况下,输出文本获取失败信息。
输出文本获取失败信息可以用于供目标用户查看。如果用户训练文本获取失败,则可以输出对应的提示信息,以使用户获得及时的反馈。
根据本发明实施例,在将用户录音文件直接或经由复刻业务服务器上传到模型训练服务器之前,客户端操作还包括:将模型训练请求和复刻令牌一起上传到复刻业务服务器,以由复刻业务服务器自身或通过授权服务器验证复刻令牌是否有效,其中,模型训练请求用于向复刻业务服务器申请分配模型训练资源;从复刻业务服务器接收针对模型训练请求的资源反馈结果,其中,资源反馈结果包括请求通过信息或请求失败信息;其中,将用户录音文件直接或经由复刻业务服务器上传到模型训练服务器的步骤在资源反馈结果包括请求通过信息的情况下执行。
参见图3b,在正式开始录音之前,复刻SDK可以申请模型训练资源。复刻业务服务器自身或通过授权服务器验证复刻令牌是否有效。可选地,在复刻令牌有效的情况下,还可以进一步判断当前的目标应用或当前的目标用户是否有资格使用新的模型训练资源,并返回对应的资源反馈结果。在当前的目标应用或当前的目标用户有资格使用新的模型训练资源的情况下,资源反馈结果包括请求通过信息,其用于指示模型训练请求通过。反之,在当前的目标应用或当前的目标用户没有资格使用新的模型训练资源的情况下,资源反馈结果包括请求失败信息,其用于指示模型训练请求失败。当然,在复刻令牌无效的情况下,资源反馈结果包括请求失败信息。
可选地,在当前的目标应用或当前的目标用户有资格使用新的模型训练资源的情况下,复刻业务服务器可以生成模型训练标识符(模型SID)。示例性地,模型SID可以包括模型ID和时间戳。模型ID可以是例如32位的标识符,时间戳可以是13位的随机码。模型ID是个性化语音识别模型的模型标识符。模型SID可以视为模型训练任务的标识符,用于作为每个模型训练任务的唯一标识。
复刻业务服务器在接收到模型训练请求时,可以从授权服务器获取当前的目标应用或当前的目标用户的权限信息。所述权限信息可以包括复刻次数信息等。示例性地,复刻次数信息可以包括复刻次数阈值以及已复刻次数。复刻业务服务器获取复刻次数信息之后,可以通过将复刻次数阈值和已复刻次数相减来计算剩余复刻次数。此外,复刻业务服务器还可以缓存当前正在执行的与目标应用或目标用户相关的模型训练任务的数目(简称为训练任务数目),其可以将剩余复刻次数与训练任务数目相比较,如果剩余复刻次数大于训练任务数目,则可以确定当前的目标应用或当前的目标用户有资格使用新的模型训练资源,并生成新的模型SID,将生成的模型SID分配给复刻SDK。反之,如果剩余复刻次数小于或等于训练任务数目,则可以确定当前的目标应用或当前的目标用户没有资格使用新的模型训练资源。
例如,针对应用C,授权服务器存储了10和8两个值,前者是复刻次数阈值,后者是已复刻次数,则此时应用C还可以再复刻两次。如果应用C有两个用户正在进行模型训练,此时出现第三个用户也想利用应用C的声音复刻功能。应用C会将与第三个用户相关的模型训练请求发送到复刻业务服务器。复刻业务服务器从授权服务器获取复刻次数阈值和已复刻次数,发现剩余复刻次数是2,同时,复刻业务服务器还发现当前正在执行的训练任务数目也是2,则确定无法为第三个用户分配模型训练资源。每次一个模型训练任务完成时,可以及时更新授权服务器中存储的已复刻次数这一信息,即将该次数加1。
根据本发明实施例,从复刻业务服务器接收针对模型训练请求的资源反馈结果包括:通过第四回调函数对资源反馈结果进行回调。
上文已经描述了回调函数的优势,此处不赘述。
根据本发明实施例,在将用户录音文件直接或经由复刻业务服务器上传到模型训练服务器之后,并且在从模型训练服务器直接或经由复刻业务服务器接收个性化语音合成模型的训练结果信息之前,客户端操作还包括:将训练开启请求和复刻令牌一起上传到复刻业务服务器,以由复刻业务服务器自身或通过授权服务器验证复刻令牌是否有效,其中,训练开启请求用于向复刻业务服务器申请开启模型训练,模型训练服务器在复刻令牌有效的情况下开始进行个性化语音合成模型的训练。
参见图3b,示出在录音完成之后,复刻SDK可以发送训练开启请求,以控制模型训练的开启。这仅是示例而非对本发明的限制,例如,可以在正式录音完成之后,复刻业务服务器或模型训练服务器可以自动开启模型的训练。
根据本发明实施例,从模型训练服务器直接或经由复刻业务服务器接收个性化语音合成模型的训练结果信息包括:通过第五回调函数对训练结果信息进行回调。
模型训练的结果信息可以由模型训练服务器直接返回给复刻SDK。比较可取的是,模型训练服务器将训练结果信息发送给复刻业务服务器,复刻业务服务器再发送给复刻SDK。
上文已经描述了回调函数的优势,此处不赘述。
根据本发明实施例,训练结果信息包括个性化语音合成模型的模型标识符,模型标识符由复刻业务服务器或模型训练服务器创建。
如图3b所示,可以将模型ID返回给复刻客户端,由复刻客户端存储。模型ID和/或模型SID均可以由复刻业务服务器或模型训练服务器创建。
根据本发明实施例,客户端操作还包括:将目标用户的用户标识符上传到复刻业务服务器,以由复刻业务服务器将用户标识符与模型标识符关联在一起。
用户ID可以用UserID或QueryID(如图3a所示)表示。可以在任意时刻将用户ID上传到复刻业务服务器,比较可取的是将用户ID包含在模型训练请求或训练开启请求中,即在申请模型训练资源或申请开启模型训练时上传。服务器将模型ID与用户ID关联在一起,以记录各语音合成模型属于哪个用户。这样方便后续进行语音合成时检索到与请求合成的用户相关联的个性化语音合成模型。
根据本发明实施例,客户端操作通过集成在目标应用中的复刻软件开发工具包执行,在客户端操作之前,方法还包括:初始化复刻软件开发工具包。
参见图3a,示出了复刻SDK的初始化步骤。
根据本发明实施例,客户端操作通过加载到目标应用中的网页编程语言执行,在客户端操作之前,方法还包括:接收目标用户输入的与目标应用相关的网页浏览指令;基于网页浏览指令向复刻业务服务器发送链接请求;接收复刻业务服务器返回的针对链接请求的响应信息,其中,响应信息包括网页编程语言;基于响应信息渲染与目标应用相关的网页页面;接收目标用户在网页页面中输入的模型训练指令;其中,客户端操作响应于模型训练指令的接收并通过网页编程语言执行。
如上所述,除开发成SDK形式以外,声音复刻功能还可以采用JS语言实现。复刻业务服务器可以用于存储和维护JS语言。目标应用可以提供实现在浏览器中的用户交互界面。当用户通过其中的与声音复刻功能的开启相关的交互接口(例如一些可操作控件等)与目标应用进行交互(即目标应用接收目标用户输入的网页浏览指令)时,可以触发目标应用向复刻业务服务器发送链接请求。链接请求可以链接到与声音复刻功能相关的网址。响应于该链接请求,复刻业务服务器向复刻客户端返回对应的响应信息。基于该响应信息可以渲染网页页面,渲染出的网页页面上可以展示与声音复刻功能相关的各种信息以及辅助用户实现声音复刻功能的用户交互接口(例如一些可操作控件等)。复刻业务服务器返回的响应信息中可以包含JS语言模块,该JS语言模块可以在渲染的过程中加载到目标应用中,进而执行本文所述的客户端操作中的各个步骤。模型训练指令可以包括但不限于复刻开启指令等,用户输入复刻开启指令,响应于复刻开启指令,目标应用可以开始运行JS语言模块。模型训练指令的类型和输入方式可以由目标应用的技术开发人员自行定义。
下面描述复刻业务服务器一侧的操作。
根据本发明另一方面,提供一种用于实现个性化语音合成模型训练的交互方法。图4示出根据本发明一个实施例的用于实现个性化语音合成模型训练的交互方法400的示意性流程图。交互方法400应用于复刻业务服务器。如图4所示,交互方法400包括服务器端操作,所述服务器端操作包括步骤S410-S450。
在步骤S410,将用户训练文本发送到复刻客户端。
在步骤S420,从复刻客户端接收用户录音文件。
在步骤S430,在用户训练文本所包含的文字信息与用户录音文件所表达的文字信息相匹配的情况下,将用户录音文件上传到模型训练服务器,以在模型训练服务器上基于用户录音文件训练专属于目标用户的个性化语音合成模型。
在步骤S440,从模型训练服务器接收个性化语音合成模型的训练结果信息。
在步骤S450,将训练结果信息发送到复刻客户端。
可以结合上文描述理解复刻业务服务器的操作,此处不赘述。
返回参考图1,在模型训练服务器上进行模型训练之前,还可以对采集的用户录音文件进行音频预处理。该音频预处理可以由复刻业务服务器或模型训练服务器执行。该音频预处理可以包括但不限于例如分帧、降噪、滤波、调整音量等,本领域技术人员可以理解音频预处理的方式,此处不赘述。
根据本发明实施例,用户训练文本包括至少一个文本段,用户录音文件包括与至少一个文本段一一对应的至少一个合格语音段文件,客户端用于采集与至少一个文本段中的当前文本段相对应的临时语音段文件,从复刻客户端接收用户录音文件包括:从复刻客户端接收临时语音段文件;在步骤S430之前,服务器端操作还包括:对临时语音段文件进行语音识别;基于语音识别结果判断当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配;将关于当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配的匹配结果发送到复刻客户端;在当前文本段所包含的文字信息与临时语音段文件所表达的文字信息匹配的情况下,确定临时语音段文件是与当前文本段相对应的合格语音段文件。
上文以及描述了在复刻业务服务器端进行语音文本匹配操作的实施例,此处不赘述。
根据本发明实施例,基于语音识别结果判断当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配包括:如果当前文本段所包含的文字信息与临时语音段文件所表达的文字信息之间的匹配率超过特定匹配阈值,则确定当前文本段所包含的文字信息与临时语音段文件所表达的文字信息匹配,否则,确定当前文本段所包含的文字信息与临时语音段文件所表达的文字信息不匹配。
特定匹配阈值可以根据需要设定为任何合适的值,本发明不对此进行设定。例如,特定匹配阈值可以是90%、95%、100%。声音复刻时,可以要求目标用户的发音必须与用户训练文本完全一致,也可以仅要求目标用户的发音与用户训练文本大部分一致,即可以通过语音文本匹配操作,进而进行后续操作。通过特定匹配阈值,可以调整对用户发音的要求严格程度,较小的特定匹配阈值可以对用户提出较宽松的要求,用户体验较好,较大的特定匹配阈值可以获得更准确的用户录音文件,有利于后续训练获得合成精度更高的个性化语音合成模型。
根据本发明实施例,将用户训练文本发送到复刻客户端包括:将与复刻客户端上的目标应用相对应的至少一个预设训练文本发送到复刻客户端,至少一个预设训练文本各自具有对应的预设匹配阈值;在基于语音识别结果判断当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配之前,服务器端操作还包括:从复刻客户端接收用户训练文本或用户训练文本的标识信息,用户训练文本由复刻客户端从至少一个预设训练文本中选择获得;确定与用户训练文本相对应的预设匹配阈值为特定匹配阈值。目标应用是上文所述的与复刻服务器发生交互以实现客户端操作的应用。
如上所述,复刻业务服务器可以为目标应用分配多套训练文本,由目标应用自行设定为用户分配哪套文本。在这种情况下,复刻客户端将用户录音文件上传到复刻业务服务器之前、之后或与此同时地,还可以将目标应用最终提供给目标用户的用户训练文本或用户训练文本的标识信息上传到复刻业务服务器,以便于复刻业务服务器获知目标应用选择了哪套训练文本提供给用户,进而便于复刻业务服务器在进行语音文本匹配操作时能够找出正确的用户训练文本来进行文字对比。
此外,不同的预设训练文本可以采用相同的匹配阈值,也可以采用不同的匹配阈值。不同的预设训练文本采用不同的匹配阈值,这有利于根据文本内容和匹配要求来制定更有针对性的匹配标准,以获得更有针对性、更准确、更高效的匹配结果。复刻业务服务器可以存储与每套预设训练文本相对应的预设匹配阈值。当确定目标应用最终选择的训练文本之后,复刻业务服务器可以找出对应的预设匹配阈值并基于该阈值进行语音文本匹配操作。
根据本发明实施例,将关于当前文本段所包含的文字信息与临时语音段文件所表达的文字信息是否匹配的匹配结果发送到复刻客户端包括:调用复刻客户端提供的第一回调函数,以通过第一回调函数将匹配结果发送到复刻客户端。
根据本发明实施例,将用户训练文本发送到复刻客户端包括:将与复刻客户端上的目标应用相对应的至少一个预设训练文本发送到复刻客户端;在将用户录音文件上传到模型训练服务器之前,服务器端操作还包括:从复刻客户端接收用户训练文本或用户训练文本的标识信息,用户训练文本由复刻客户端从至少一个预设训练文本中选择获得。
如上所述,复刻业务服务器可以为目标应用分配多套训练文本,由目标应用自行设定为用户分配哪套文本。在这种情况下,复刻客户端将用户录音文件上传到复刻业务服务器时,还可以将目标应用最终提供给目标用户的用户训练文本一起上传到复刻业务服务器,以便于复刻业务服务器获知目标应用选择了哪套训练文本提供给用户,进而便于复刻业务服务器在进行语音文本匹配操作时能够找出正确的用户训练文本来进行文字对比。
根据本发明实施例,在将用户训练文本发送到复刻客户端之前,服务器端操作还包括:接收复刻客户端上传的文本获取请求和复刻令牌,其中,文本获取请求用于申请获取用户训练文本,并且其中,复刻令牌由授权服务器在目标用户鉴权通过的情况下基于目标用户的用户标识符和用户密码生成,复刻令牌用于表示目标用户的合法性;或者,复刻令牌由授权服务器在复刻客户端上的目标应用鉴权通过的情况下基于目标应用的客户端标识符和客户端密码生成,复刻令牌用于表示目标应用的合法性;将复刻令牌上传到授权服务器,以由授权服务器验证复刻令牌是否有效;接收授权服务器返回的验证结果信息;其中,将用户训练文本发送到复刻客户端的步骤在验证结果信息表示复刻令牌有效的情况下执行。
根据本发明实施例,将用户训练文本发送到复刻客户端包括:调用复刻客户端提供的第三回调函数,以通过第三回调函数将用户训练文本发送到复刻客户端。
根据本发明实施例,在从复刻客户端接收用户录音文件之前,服务器端操作还包括:接收复刻客户端上传的模型训练请求和复刻令牌,其中,模型训练请求用于申请分配模型训练资源,并且其中,复刻令牌由授权服务器在目标用户鉴权通过的情况下基于目标用户的用户标识符和用户密码生成,复刻令牌用于表示目标用户的合法性;或者,复刻令牌由授权服务器在复刻客户端上的目标应用鉴权通过的情况下基于目标应用的客户端标识符和客户端密码生成,复刻令牌用于表示目标应用的合法性;将复刻令牌上传到授权服务器,以由授权服务器验证复刻令牌是否有效;接收授权服务器返回的验证结果信息;在验证结果信息表示复刻令牌有效的情况下,判断目标应用或目标用户是否有资格获得模型训练资源,以获得资源反馈结果,其中,资源反馈结果包括请求通过信息或请求失败信息;以及将资源反馈结果发送到复刻客户端;其中,从复刻客户端接收用户录音文件的步骤在资源反馈结果包括请求通过信息的情况下执行。
根据本发明实施例,在判断目标应用或目标用户是否有资格获得模型训练资源之前,服务器端应用还包括:从授权服务器接收目标应用或目标用户的复刻权限信息;判断目标应用或目标用户是否有资格获得模型训练资源包括:基于复刻权限信息判断目标应用或目标用户是否有资格获得模型训练资源。
根据本发明实施例,复刻权限信息包括目标应用或目标用户的复刻次数阈值以及已复刻次数,基于复刻权限信息判断目标应用或目标用户是否有资格获得模型训练资源包括:计算复刻次数阈值与已复刻次数之差,以获得剩余复刻次数;将剩余复刻次数与训练任务数目相比较,如果剩余复刻次数大于训练任务数目,则确定目标应用或目标用户有资格获得模型训练资源,否则确定目标应用或目标用户没有资格获得模型训练资源,其中,训练任务数目是当前正在执行的与目标应用或目标用户相关的模型训练任务的数目。
根据本发明实施例,将针对模型训练请求的资源反馈结果发送到复刻客户端包括:调用复刻客户端提供的第四回调函数,以通过第四回调函数将资源反馈结果发送到复刻客户端。
根据本发明实施例,在从复刻客户端接收用户录音文件之前,服务器端操作还包括:在目标应用或目标用户有资格获得模型训练资源的情况下,创建模型训练标识符,其中,模型训练标识符包括个性化语音合成模型的模型标识符和时间戳,模型训练标识符用于标识与个性化语音合成模型的训练相关的模型训练任务。
根据本发明实施例,在从模型训练服务器接收个性化语音合成模型的训练结果信息之前,服务器端操作还包括:接收复刻客户端上传的训练开启请求和复刻令牌,其中,训练开启请求用于申请开启模型训练,并且其中,复刻令牌由授权服务器在目标用户鉴权通过的情况下基于目标用户的用户标识符和用户密码生成,复刻令牌用于表示目标用户的合法性;或者,复刻令牌由授权服务器在复刻客户端上的目标应用鉴权通过的情况下基于目标应用的客户端标识符和客户端密码生成,复刻令牌用于表示目标应用的合法性,复刻令牌用于表示目标应用的合法性;将复刻令牌上传到授权服务器,以由授权服务器验证复刻令牌是否有效;接收授权服务器返回的验证结果信息;在验证结果信息表示复刻令牌有效的情况下,向模型训练服务器发送训练开启通知,以通知模型训练服务器开始进行个性化语音合成模型的训练。
根据本发明实施例,将训练结果信息发送到复刻客户端包括:调用复刻客户端提供的第五回调函数,以通过第五回调函数将训练结果信息发送到复刻客户端。
根据本发明实施例,在将训练结果信息发送到复刻客户端之前,服务器端操作还包括:创建个性化语音合成模型的模型标识符;或者,从模型训练服务器接收模型标识符;其中,训练结果信息包括模型标识符。
根据本发明实施例,服务器端操作还包括:从复刻客户端接收目标用户的用户标识符;以及将用户标识符与模型标识符关联在一起。
下面描述模型训练服务器一侧的操作。
根据本发明一方面,提供一种个性化语音合成模型的训练方法。图5示出根据本发明一个实施例的个性化语音合成模型的训练方法500的示意性流程图。如图5所示,个性化语音合成模型的训练方法500包括步骤S510、S520、S530、S540和S550。
在步骤S510,接收复刻客户端直接或经由复刻业务服务器发送的目标用户的用户录音文件。
图6示出根据本发明一个实施例的语音合成模型自动化训练以及语音合成的流程示意图。
如图6所示,整个语音系统可以示例性而非限制性地划分为至少三个部分:录音采集、自动化训练系统(第一系统部分);云授权服务系统(第二系统部分);语音合成系统(第三系统部分)。第一系统部分可以通过上述复刻客户端、复刻业务服务器和模型训练服务器实现;第二系统部分可以通过上述授权服务器实现;第三系统部分可以通过合成业务服务器(结合模型训练服务器)实现。云授权服务系统是可选的。
可选地,复刻业务服务器、模型训练服务器、授权服务器和合成业务服务器中的任一者或多者可以采用同一服务器实现。例如,模型训练服务器和授权服务器可以是同一个服务器,模型训练服务器和复刻业务服务器可以是同一个服务器,等等。可选地,复刻业务服务器、模型训练服务器、授权服务器和合成业务服务器可以各自采用单独的服务器实现,当然,复刻业务服务器、模型训练服务器、授权服务器和合成业务服务器中的任一者也可以进一步划分为多个子服务器,由这些子服务器互相配合实现所属服务器的功能。
如图6所示,在第一系统部分,复刻客户端(具体可以是复刻客户端上的集成在目标应用中的复刻SDK或者加载到目标应用中的JS语言模块)通过网关入口向复刻业务服务器(对应于图6中的“复刻服务”)上传用户录音文件。用户录音文件是复刻客户端在输出用户训练文本时对目标用户进行语音采集获得的。具体地,用户训练文本可以是预设好的,由复刻客户端提供给目标用户,即向目标用户展示。目标用户根据展示的用户训练文本发出对应的语音,复刻客户端对用户的语音进行录音,以获得用户录音文件。因此,用户录音文件的语音内容与用户训练文本的文本内容,应当是匹配的。如上所述,在将用户录音文件上传到模型训练服务器之前,可以可选地由复刻客户端或复刻业务服务器对用户录音文件和用户训练文本的内容进行对比,如果二者不匹配,则可以提示用户重新录音,直至用户录音文件和用户训练文本的内容匹配为止。
在步骤S520,调度容器集群中的动态新增的特定计算节点。
可选地,模型训练服务器可以响应于用户录音文件的接收,开始进行模型训练,即开始执行步骤S520以及后续步骤。可选地,模型训练服务器也可以在接收到复刻业务服务器或复刻客户端的训练开启通知之后,才开始进行模型训练,即开始执行步骤S520以及后续步骤。
模型训练服务器可以是云计算系统,所述云计算系统可以采用任何现有或将来可能出现的集群技术实现,包括但不限于docker集群等。如图6所示,云计算系统可以包括镜像仓库、容器集群、存储系统等部分。镜像仓库用于存储训练镜像,所述训练镜像通过打包标准语音合成模型的训练环境生成,所述标准语音合成模型基于样本录音文件和对应的样本文本进行训练。样本录音文件可以是任何人的录音文件,其是预先录制好的,且其对应的样本文本也是已知的。本领域技术人员可以理解样本录音文件和样本文本的意义及使用方式,本文不赘述。
如图6所示,后台研发人员可以预先通过样本人员的样本录音文件和样本文本进行标准语音合成模型的训练,训练合格之后,将标准语音合成模型的整个训练环境打包成镜像文件(即训练镜像),随后将训练镜像发布到镜像仓库中进行存储。所述训练镜像可以构建为任何合适格式的镜像文件,示例性地而非限制性地,其可以构建为docker镜像。本领域技术人员可以理解,上述训练环境可以包括语音合成模型训练时所采用的应用程序、所执行的各种代码、所涉及的各种参数的配置方式等等信息。
云计算系统接收到复刻业务服务器的训练开启通知之后,可以通过集群管理器调用容器集群中的动态新增的特定计算节点。容器集群是可以实现计算力弹性伸缩的集群,即容器集群可以在有新增计算任务时自动扩展获得新的计算节点,在某一计算任务完成时则可以自动释放用于完成该任务的计算节点。这样,训练用的容器集群可以实现弹性伸缩,使得训练系统的计算力能够动态扩展,从而能够支持大规模的自动化训练任务。
示例性地,每个计算节点可以对应于一个机器,其可以是实际的硬件设备,也可以是虚拟机。
在步骤S530,通过特定计算节点从镜像仓库中拉取训练镜像,其中,训练镜像通过打包标准语音合成模型的训练环境生成,标准语音合成模型基于样本录音文件和对应的样本文本进行训练。
大量的模型训练任务需要大量服务器,每台服务器都单独安装训练环境的话工作量大且无法实现自动化,而打包成训练镜像则可以实现自动化的训练环境安装。
集群管理器调度新的计算节点之后,可以利用该计算节点从镜像仓库中拉取(pull)训练镜像。本领域技术人员可以理解镜像文件的拉取方式,本文不做赘述。
在步骤S540,在特定计算节点上运行训练镜像以展开训练环境。
拉取训练镜像之后,可以自动在特点计算节点上运行该训练镜像,进而展开语音合成模型的训练环境。
步骤S550:在特定计算节点上利用训练环境和用户录音文件进行语音合成模型训练,以获得专属于目标用户的个性化语音合成模型。
利用特定计算节点进行语音合成模型的训练。具体地,可以在特定计算节点上运行训练镜像以展开训练环境的同时,将用户录音文件对应的文本(还可以加入韵律、用户标签等信息)作为语音合成模型的输入,将用户录音文件作为语音合成模型的目标输出,对语音合成模型进行训练。输入模型的文本可以是上述用户训练文本,也可以是通过对用户录音文件进行识别获得的语音识别结果。通过训练,可以获得目标用户专属的个性化语音合成模型(也可以称为定制语音合成模型)。通过该个性化语音合成模型,可以将任意输入的文本转换为与目标用户音色、韵律一致的语音。
随后,特定计算节点可以可选地将训练获得的个性化语音合成模型存储在存储系统中,该存储为持久化存储。语音合成系统可以在需要时从存储系统中读取个性化语音合成模型进行语音合成。在特定计算节点完成目标用户的个性化语音合成模型的训练任务之后,集群管理器可以释放该特定计算节点。
根据本发明实施例的方法,将语音合成模型的训练环境打包成训练镜像,在需要时动态增加新的计算节点,并利用该计算节点自动拉取训练镜像进行专属目标用户的个性化语音合成模型的训练,这种方式可以实现模型训练时的计算力的自动扩展,因此可以支持大规模的自动化训练任务。这种方案在语音处理领域有极大的应用前景和市场价值。
根据本发明实施例,在步骤S550之后,方法500还可以包括:将个性化语音合成模型推送至存储系统中进行存储;以及从容器集群中删除特定计算节点。
一旦个性化语音合成模型训练完成,即可以释放特点计算节点,这样有助于更好地实现计算力的弹性伸缩。容器技术结合云端弹性计算能力,将训练需要的计算力实现动态调取,随用随取,用完即释放,既可以满足高峰时期大量计算需求,又可以避免低峰期不必要的资源浪费。
根据本发明实施例,方法500还可以包括:接收镜像生成设备发送的新的训练镜像;将新的训练镜像推送到镜像仓库中,以对镜像仓库中的训练镜像进行更新。
镜像生成设备是后台研发人员使用的设备,其可以是任何合适的设备,包括但不限于个人计算机、智能手机、平板电脑、或某种服务器设备等等。
当需要更新语音合成模型的训练环境时,后台研发人员可以将新的训练环境打包成新的训练镜像,测试通过后,将新的训练镜像发布至云端的镜像仓库。模型训练服务器接收到新的训练镜像,将其推送到镜像仓库中,替换掉原来的训练镜像,即对原来的训练镜像进行更新。
通过上述方案,可以非常方便地对训练镜像进行更新。
根据本发明实施例,步骤S550包括:对用户录音文件进行语音识别,以获得用户录音文件所对应的语音识别结果,语音识别结果包括文本、韵律、用户标签;通过用户录音文件和语音识别结果进行语音合成模型训练,以获得个性化语音合成模型。
韵律是指声韵母、停顿等信息。用户标签可以包括例如用户的年龄、性别等标签信息。
如上所述,可以由模型训练服务器对用户录音文件进行语音识别,之后基于识别结果和用户录音文件进行模型训练。
根据本发明实施例,在步骤S510之后,方法500还可以包括:将用户录音文件推送至存储系统中进行存储。
除训练好的个性化语音合成模型之外,训练采用的用户录音文件也可以进行持久化存储。这样便于在训练过程中随时读取和使用该用户录音文件,也便于后续将其用于更多的应用场景。
根据本发明实施例,在调度容器集群中的动态新增的特定计算节点之前,方法500还包括:接收复刻业务服务器发送的训练开启通知;调度容器集群中的动态新增的特定计算节点的步骤响应于训练开启通知的接收而执行。可以参考上文描述理解此实施例,此处不赘述。
根据本发明实施例,在在特定计算节点上利用训练环境和用户录音文件进行语音合成模型训练之后,方法500还包括:将个性化语音合成模型的训练结果信息发送到复刻客户端或复刻业务服务器。
当目标用户的个性化语音合成模型训练完成之后,可以训练结果信息发送到复刻客户端或复刻业务服务器,以由复刻客户端向目标用户输出关于训练是否完成的反馈信息。随后,目标用户可以在任意时刻经由合成客户端(例如集成在合成客户端上的目标应用中的合成SDK)进行语音合成。合成客户端可以与上述复刻客户端是同一客户端或不同客户端。合成客户端上的目标应用和上述复刻客户端上的目标应用可以是同一应用或不同应用。
根据本发明另一方面,提供一种语音合成方法。图7示出根据本发明一个实施例的语音合成方法700的示意性流程图。如图7所示,语音合成方法700包括步骤S710和S720。可选地,语音合成方法700可以应用于模型训练服务器,即由模型训练服务器完成,此时合成业务服务器的作用类似于复刻业务服务器,主要用于分别与合成客户端以及模型训练服务器进行交互和信息传递。可选地,语音合成方法700还可以应用于合成业务服务器,即由合成业务服务器自己完成。
在步骤S710,接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本。
在步骤S720,将待合成文本输入上述训练方法500训练获得的目标用户的个性化语音合成模型进行语音合成,以获得与待合成文本对应的目标语音。
如图6所示,在语音合成系统中,可以由合成客户端上的合成SDK经由网关入口向合成业务服务器(图6示出为“合成服务”)发送合成请求。合成业务服务器可以调用合成引擎,合成引擎从存储系统读取个性化语音合成模型进行语音合成。
根据本发明实施例,在将待合成文本输入训练方法500训练获得的目标用户的个性化语音合成模型进行语音合成之前,方法700还包括:接收合成客户端直接或经由合成业务服务器发送的合成请求和合成令牌,其中,合成请求用于申请语音合成权限,并且其中,合成令牌由授权服务器在目标用户鉴权通过的情况下基于目标用户的用户标识符和用户密码生成,合成令牌用于表示目标用户的合法性;或者,合成令牌由授权服务器在合成客户端上的目标应用鉴权通过的情况下基于目标应用的客户端标识符和客户端密码生成,合成令牌用于表示目标应用的合法性;将合成令牌上传到授权服务器,以由授权服务器验证合成令牌是否有效;接收授权服务器返回的验证结果信息;其中,将待合成文本输入训练方法500训练获得的目标用户的个性化语音合成模型进行语音合成的步骤在合成令牌有效的情况下执行。
如图6所示,语音合成时也可以通过授权服务器进行目标应用或目标用户的合法性验证。在初始,合成客户端可以直接或经由合成业务服务器向授权服务器发送其目标应用的客户端标识符和客户端密码或者目标用户的用户标识符和用户密码,以对目标应用或者目标用户进行鉴权,鉴权通过才发放合成token。可以参考上述关于复刻token的发放以及验证的方式理解合成token的发放以及验证方式,此处不赘述。
合成客户端获得合成token之后,可以将合成token和合成请求一起上传到合成业务服务器。合成业务服务器在合成token验证有效之后,可以自己进行语音合成,或者进一步将待合成文本上传到模型训练服务器,由模型训练服务器进行语音合成。
根据本发明实施例,在将待合成文本输入训练方法500训练获得的目标用户的个性化语音合成模型进行语音合成之前,方法700还包括:从授权服务器接收与合成客户端上的目标应用或目标用户相关的合成权限信息,合成权限信息包括合成次数阈值、已合成次数、合成字数阈值、合成接口并发处理量、合成接口调用次数上限中的一项或多项;基于合成权限信息判断目标应用或目标用户是否有资格进行语音合成;将待合成文本输入训练方法500训练获得的目标用户的个性化语音合成模型进行语音合成的步骤在目标应用或目标用户有资格进行语音合成的情况下执行。
可以根据上述复刻次数阈值和已复刻次数阈值的意义以及使用方法理解合成次数阈值和已合成次数的意义以及使用方法,此处不赘述。
合成字数阈值是指对目标应用或者目标用户能够合成的最多字数的限制。例如,某个应用或该应用中的某个用户被限定为最多合成1000个字,那么如果针对该应用或该用户的已合成字数达到这个字数,则之后不再为该应用或该用户分配合成资源,即不允许其继续合成。
合成接口并发处理量(合成QPS)、合成接口调用次数是对语音合成服务器的合成接口的使用上限的限定。本领域技术人员可以理解合成QPS和合成接口调用次数的含义,此处不赘述。所述语音合成服务器是用于执行步骤S710和S720的服务器,其可以是上述合成业务服务器、上述模型训练服务器和其他单独的服务器中的一者或多者的结合,只要其能够调用个性化语音合成模型进行语音合成即可。
此外,如图6所示,授权服务器(包括图6示出的鉴权服务和授权管理后台)可以存储授权信息。授权信息可以包括上述复刻权限信息和/或合成权限信息。
根据本发明实施例,将待合成文本输入训练方法500训练获得的目标用户的个性化语音合成模型进行语音合成包括:调用合成引擎;由合成引擎从存储系统中获取个性化语音合成模型;通过合成引擎将待合成文本输入个性化语音合成模型进行语音合成。
参见图6,示出了合成引擎的调用及通过合成引擎进行语音合成的示例,此处不赘述。
示例性地,本文所述的服务器(包括模型训练服务器、复刻业务服务器、合成业务服务器、授权服务器等)可以向客户端(包括复刻客户端、合成客户端)提供SDK、超文本传输协议(HTTP)、媒体资源控制协议(MRCP)、表现层状态转移应用程序接口(Rest API)、Websocket API等各种接入能力。
根据本发明另一方面,提供一种用于训练个性化语音合成模型的方法,其用于服务器(包括复刻业务服务器和/或模型训练服务器),可以包括上述用于实现个性化语音合成模型训练的交互方法400以及上述个性化语音合成模型的训练方法500。
根据本发明另一方面,提供一种语音合成方法,其包括:接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本;将待合成文本输入根据上述用于训练个性化语音合成模型的方法训练获得的目标用户的个性化语音合成模型进行语音合成,以获得与待合成文本对应的目标语音。本实施例中的语音合成方法与上述语音合成方法700的区别仅在于:前者采用的个性化语音合成模型是通过上述用于训练个性化语音合成模型的方法训练获得,而后者采用的个性化语音合成模型是通过上述个性化语音合成模型的训练方法500训练获得,二者在其他特征部分均可以保持一致。
根据本发明另一方面,提供一种用于实现个性化语音合成模型训练的交互装置。图8示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互装置800的示意性框图。
如图8所示,根据本发明实施例的用于实现个性化语音合成模型训练的交互装置800包括客户端操作模块(未明确示出),客户端操作模块包括获取子模块810、第一输出子模块820、采集子模块830、上传子模块840、接收子模块850和第二输出子模块860。所述各个模块可分别执行上文中结合图1-3b描述的用于实现个性化语音合成模型训练的交互方法200的各个步骤/功能。以下仅对该用于实现个性化语音合成模型训练的交互装置800的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取子模块810用于从复刻业务服务器获取用户训练文本。
第一输出子模块820用于输出所述用户训练文本。
采集子模块830用于采集目标用户的语音,以获得用户录音文件。
上传子模块840用于在所述用户训练文本所包含的文字信息与所述用户录音文件所表达的文字信息相匹配的情况下,将所述用户录音文件直接或经由所述复刻业务服务器上传到模型训练服务器,以在所述模型训练服务器上基于所述用户录音文件训练专属于所述目标用户的个性化语音合成模型。
接收子模块850用于从所述模型训练服务器直接或经由所述复刻业务服务器接收所述个性化语音合成模型的训练结果信息。
第二输出子模块860用于基于所述训练结果信息输出关于所述个性化语音合成模型的训练是否完成的反馈信息。
根据本发明另一方面,提供一种用于实现个性化语音合成模型训练的交互系统。图9示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互系统900的示意性框图。用于实现个性化语音合成模型训练的交互系统900包括处理器910和存储器920。
所述存储器920存储用于实现根据本发明实施例的用于实现个性化语音合成模型训练的交互方法200中的相应步骤的计算机程序指令。
所述处理器910用于运行所述存储器920中存储的计算机程序指令,以执行根据本发明实施例的用于实现个性化语音合成模型训练的交互方法200的相应步骤。
根据本发明另一方面,提供一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的用于实现个性化语音合成模型训练的交互方法200的相应步骤,并且用于实现根据本发明实施例的用于实现个性化语音合成模型训练的交互装置800中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
根据本发明另一方面,提供一种用于实现个性化语音合成模型训练的交互装置。图10示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互装置1000的示意性框图。
如图10所示,根据本发明实施例的用于实现个性化语音合成模型训练的交互装置1000包括服务器端操作模块(未明确示出),服务器端操作模块包括第一发送子模块1010、第一接收子模块1020、上传子模块1030、第二接收子模块1040和第二发送子模块1050。所述各个模块可分别执行上文中结合图4描述的用于实现个性化语音合成模型训练的交互方法400的各个步骤/功能。以下仅对该用于实现个性化语音合成模型训练的交互装置1000的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
第一发送子模块1010用于将用户训练文本发送到复刻客户端。
第一接收子模块1020用于从所述复刻客户端接收用户录音文件。
上传子模块1030用于在所述用户训练文本所包含的文字信息与所述用户录音文件所表达的文字信息相匹配的情况下,将所述用户录音文件上传到模型训练服务器,以在所述模型训练服务器上基于所述用户录音文件训练专属于所述目标用户的个性化语音合成模型。
第二接收子模块1040用于从所述模型训练服务器接收所述个性化语音合成模型的训练结果信息。
第二发送子模块1050用于将所述训练结果信息发送到所述复刻客户端。
根据本发明另一方面,提供一种用于实现个性化语音合成模型训练的交互系统。图11示出了根据本发明一个实施例的用于实现个性化语音合成模型训练的交互系统1100的示意性框图。用于实现个性化语音合成模型训练的交互系统1100包括处理器1110和存储器1120。
所述存储器1120存储用于实现根据本发明实施例的用于实现个性化语音合成模型训练的交互方法400中的相应步骤的计算机程序指令。
所述处理器1110用于运行所述存储器1120中存储的计算机程序指令,以执行根据本发明实施例的用于实现个性化语音合成模型训练的交互方法400的相应步骤。
根据本发明另一方面,提供一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的用于实现个性化语音合成模型训练的交互方法400的相应步骤,并且用于实现根据本发明实施例的用于实现个性化语音合成模型训练的交互装置1000中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
根据本发明另一方面,提供一种个性化语音合成模型的训练装置。图12示出了根据本发明一个实施例的个性化语音合成模型的训练装置1200的示意性框图。
如图12所示,根据本发明实施例的个性化语音合成模型的训练装置1200包括接收模块1210、调度模块1220、拉取模块1230、运行模块1240和训练模块1250。所述各个模块可分别执行上文中结合图5描述的个性化语音合成模型的训练方法500的各个步骤/功能。以下仅对该个性化语音合成模型的训练装置1200的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
接收模块1210用于接收复刻客户端直接或经由复刻业务服务器发送的目标用户的用户录音文件。
调度模块1220用于调度容器集群中的动态新增的特定计算节点。
拉取模块1230用于通过所述特定计算节点从镜像仓库中拉取训练镜像,其中,所述训练镜像通过打包标准语音合成模型的训练环境生成,所述标准语音合成模型基于样本录音文件和对应的样本文本进行训练。
运行模块1240用于在所述特定计算节点上运行所述训练镜像以展开所述训练环境。
训练模块1250用于在所述特定计算节点上利用所述训练环境和所述用户录音文件进行语音合成模型训练,以获得专属于所述目标用户的个性化语音合成模型。
根据本发明另一方面,提供一种个性化语音合成模型的训练系统。图13示出了根据本发明一个实施例的个性化语音合成模型的训练系统1300的示意性框图。个性化语音合成模型的训练系统1300包括处理器1310和存储器1320。
所述存储器1320存储用于实现根据本发明实施例的个性化语音合成模型的训练方法500中的相应步骤的计算机程序指令。
所述处理器1310用于运行所述存储器1320中存储的计算机程序指令,以执行根据本发明实施例的个性化语音合成模型的训练方法500的相应步骤。
根据本发明另一方面,提供一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的个性化语音合成模型的训练方法500的相应步骤,并且用于实现根据本发明实施例的个性化语音合成模型的训练装置1200中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
根据本发明另一方面,提供一种语音合成装置。图14示出了根据本发明一个实施例的语音合成装置1400的示意性框图。
如图14所示,根据本发明实施例的语音合成装置1400包括接收模块1410和合成模块1420。所述各个模块可分别执行上文中结合图7描述的语音合成方法700的各个步骤/功能。以下仅对该语音合成装置1400的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
接收模块1410用于接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本。
合成模块1420用于将所述待合成文本输入根据上述训练方法500训练获得的所述目标用户的所述个性化语音合成模型进行语音合成,以获得与所述待合成文本对应的目标语音。
根据本发明另一方面,提供一种语音合成系统。图15示出了根据本发明一个实施例的语音合成系统1500的示意性框图。语音合成系统1500包括处理器1510和存储器1520。
所述存储器1520存储用于实现根据本发明实施例的语音合成方法700中的相应步骤的计算机程序指令。
所述处理器1510用于运行所述存储器1520中存储的计算机程序指令,以执行根据本发明实施例的语音合成方法700的相应步骤。
根据本发明另一方面,提供一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的语音合成方法700的相应步骤,并且用于实现根据本发明实施例的语音合成装置1400中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于实现个性化语音合成模型训练的交互系统、个性化语音合成模型的训练系统或语音合成系统中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种个性化语音合成模型的训练方法,包括:
接收复刻客户端在资源反馈结果包括请求通过信息的情况下直接或经由复刻业务服务器发送的目标用户的用户录音文件;
调度容器集群中的动态新增的特定计算节点,所述特定计算节点为所述容器集群在有新增计算任务时自动扩展获得的新的计算节点;
通过所述特定计算节点从镜像仓库中拉取训练镜像,其中,所述训练镜像通过打包标准语音合成模型的训练环境生成,所述标准语音合成模型基于样本录音文件和对应的样本文本进行训练;
在所述特定计算节点上运行所述训练镜像以展开所述训练环境;
在所述特定计算节点上利用所述训练环境和所述用户录音文件进行语音合成模型训练,以获得专属于所述目标用户的个性化语音合成模型;
其中,所述资源反馈结果为所述复刻客户端从所述复刻业务服务器接收到的针对模型训练请求的反馈结果,所述复刻业务服务器用于基于从授权服务器接收的目标应用或所述目标用户的复刻权限信息判断所述目标应用或所述目标用户是否有资格获得模型训练资源以获得所述资源反馈结果,所述目标应用为安装在所述复刻客户端上的需要声音复刻功能的应用,所述目标用户为使用所述目标应用的用户;
所述复刻权限信息包括所述目标应用或所述目标用户的复刻次数阈值以及已复刻次数,所述复刻业务服务器具体通过以下方式判断所述目标应用或所述目标用户是否有资格获得模型训练资源:
计算所述复刻次数阈值与已复刻次数之差,以获得剩余复刻次数;
将所述剩余复刻次数与训练任务数目相比较,如果所述剩余复刻次数大于所述训练任务数目,则确定所述目标应用或所述目标用户有资格获得模型训练资源,否则确定所述目标应用或所述目标用户没有资格获得模型训练资源,其中,所述训练任务数目是当前正在执行的与所述目标应用或所述目标用户相关的模型训练任务的数目。
2. 根据权利要求1所述的方法,其中,在所述在所述特定计算节点上利用所述训练环境和所述用户录音文件进行语音合成模型训练之后,所述方法还包括:
将所述个性化语音合成模型推送至存储系统中进行存储;以及
从所述容器集群中删除所述特定计算节点。
3.根据权利要求1所述的方法,其中,所述方法还包括:
接收镜像生成设备发送的新的训练镜像;
将所述新的训练镜像推送到所述镜像仓库中,以对所述镜像仓库中的训练镜像进行更新。
4.根据权利要求1所述的方法,其中,所述在所述特定计算节点上利用所述训练环境和所述用户录音文件进行语音合成模型训练包括:
对所述用户录音文件进行语音识别,以获得所述用户录音文件所对应的语音识别结果,所述语音识别结果包括文本、韵律、用户标签;
通过所述用户录音文件和所述语音识别结果进行语音合成模型训练,以获得所述个性化语音合成模型。
5.根据权利要求1所述的方法,其中,在所述接收复刻客户端在资源反馈结果包括请求通过信息的情况下直接或经由复刻业务服务器发送的目标用户的用户录音文件之后,所述方法还包括:
将所述用户录音文件推送至存储系统中进行存储。
6.根据权利要求1所述的方法,其中,在所述调度容器集群中的动态新增的特定计算节点之前,所述方法还包括:
接收所述复刻业务服务器发送的训练开启通知;
所述调度容器集群中的动态新增的特定计算节点的步骤响应于所述训练开启通知的接收而执行。
7.根据权利要求1至6任一项所述的方法,其中,在所述在所述特定计算节点上利用所述训练环境和所述用户录音文件进行语音合成模型训练之后,所述方法还包括:
将所述个性化语音合成模型的训练结果信息发送到所述复刻客户端或所述复刻业务服务器。
8.一种语音合成方法,包括:
接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本;
将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成,以获得与所述待合成文本对应的目标语音。
9.根据权利要求8所述的方法,其中,在所述将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成之前,所述方法还包括:
接收所述合成客户端直接或经由所述合成业务服务器发送的合成请求和合成令牌,其中,所述合成请求用于申请语音合成权限,并且其中,所述合成令牌由授权服务器在所述目标用户鉴权通过的情况下基于所述目标用户的用户标识符和用户密码生成,所述合成令牌用于表示所述目标用户的合法性;或者,所述合成令牌由授权服务器在所述合成客户端上的目标应用鉴权通过的情况下基于所述目标应用的客户端标识符和客户端密码生成,所述合成令牌用于表示所述目标应用的合法性;
将所述合成令牌上传到授权服务器,以由所述授权服务器验证所述合成令牌是否有效;
接收所述授权服务器返回的验证结果信息;
其中,所述将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成的步骤在所述合成令牌有效的情况下执行。
10.根据权利要求8所述的方法,其中,在所述将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成之前,所述方法还包括:
从授权服务器接收与所述合成客户端上的目标应用或所述目标用户相关的合成权限信息,所述合成权限信息包括合成次数阈值、已合成次数、合成字数阈值、合成接口并发处理量、合成接口调用次数上限中的一项或多项;
基于所述合成权限信息判断所述目标应用或所述目标用户是否有资格进行语音合成;
所述将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成的步骤在所述目标应用或所述目标用户有资格进行语音合成的情况下执行。
11.根据权利要求8至10任一项所述的方法,其中,所述将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成包括:
调用合成引擎;
由所述合成引擎从存储系统中获取所述个性化语音合成模型;
通过所述合成引擎将所述待合成文本输入所述个性化语音合成模型进行语音合成。
12.一种个性化语音合成模型的训练装置,包括:
接收模块,用于接收复刻客户端在资源反馈结果包括请求通过信息的情况下直接或经由复刻业务服务器发送的目标用户的用户录音文件;
调度模块,用于调度容器集群中的动态新增的特定计算节点,所述特定计算节点为所述容器集群在有新增计算任务时自动扩展获得的新的计算节点;
拉取模块,用于通过所述特定计算节点从镜像仓库中拉取训练镜像,其中,所述训练镜像通过打包标准语音合成模型的训练环境生成,所述标准语音合成模型基于样本录音文件和对应的样本文本进行训练;
运行模块,用于在所述特定计算节点上运行所述训练镜像以展开所述训练环境;
训练模块,用于在所述特定计算节点上利用所述训练环境和所述用户录音文件进行语音合成模型训练,以获得专属于所述目标用户的个性化语音合成模型;
其中,所述资源反馈结果为所述复刻客户端从所述复刻业务服务器接收到的针对模型训练请求的反馈结果,所述复刻业务服务器用于基于从授权服务器接收的目标应用或所述目标用户的复刻权限信息判断所述目标应用或所述目标用户是否有资格获得模型训练资源以获得所述资源反馈结果,所述目标应用为安装在所述复刻客户端上的需要声音复刻功能的应用,所述目标用户为使用所述目标应用的用户;
所述复刻权限信息包括所述目标应用或所述目标用户的复刻次数阈值以及已复刻次数,所述复刻业务服务器具体通过以下方式判断所述目标应用或所述目标用户是否有资格获得模型训练资源:
计算所述复刻次数阈值与已复刻次数之差,以获得剩余复刻次数;
将所述剩余复刻次数与训练任务数目相比较,如果所述剩余复刻次数大于所述训练任务数目,则确定所述目标应用或所述目标用户有资格获得模型训练资源,否则确定所述目标应用或所述目标用户没有资格获得模型训练资源,其中,所述训练任务数目是当前正在执行的与所述目标应用或所述目标用户相关的模型训练任务的数目。
13.一种个性化语音合成模型的训练系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至7任一项所述的个性化语音合成模型的训练方法。
14.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至7任一项所述的个性化语音合成模型的训练方法。
15.一种语音合成装置,包括:
接收模块,用于接收合成客户端直接或经由合成业务服务器发送的目标用户的待合成文本;
合成模块,用于将所述待合成文本输入根据权利要求1至7任一项所述的训练方法训练获得的所述目标用户的所述个性化语音合成模型进行语音合成,以获得与所述待合成文本对应的目标语音。
16.一种语音合成系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求8至11任一项所述的语音合成方法。
17.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求8至11任一项所述的语音合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110452252.8A CN113241056B (zh) | 2021-04-26 | 2021-04-26 | 语音合成模型的训练与语音合成方法、装置、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110452252.8A CN113241056B (zh) | 2021-04-26 | 2021-04-26 | 语音合成模型的训练与语音合成方法、装置、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113241056A CN113241056A (zh) | 2021-08-10 |
CN113241056B true CN113241056B (zh) | 2024-03-15 |
Family
ID=77129205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110452252.8A Active CN113241056B (zh) | 2021-04-26 | 2021-04-26 | 语音合成模型的训练与语音合成方法、装置、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113241056B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115223541A (zh) * | 2022-06-21 | 2022-10-21 | 深圳市优必选科技股份有限公司 | 文本转语音的处理方法、装置、设备及存储介质 |
WO2024001307A1 (zh) * | 2022-06-29 | 2024-01-04 | 华为云计算技术有限公司 | 一种语音克隆方法、装置及相关设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202635A (zh) * | 2006-12-11 | 2008-06-18 | 中兴通讯股份有限公司 | 基于媒体服务器实现按资源类型计费的方法 |
CN104766603A (zh) * | 2014-01-06 | 2015-07-08 | 安徽科大讯飞信息科技股份有限公司 | 构建个性化歌唱风格频谱合成模型的方法及装置 |
CN105185372A (zh) * | 2015-10-20 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 个性化多声学模型的训练方法、语音合成方法及装置 |
CN107733977A (zh) * | 2017-08-31 | 2018-02-23 | 北京百度网讯科技有限公司 | 一种基于Docker的集群管理方法及装置 |
CN107766940A (zh) * | 2017-11-20 | 2018-03-06 | 北京百度网讯科技有限公司 | 用于生成模型的方法和装置 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN109408062A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种自动部署模型训练环境的方法和装置 |
CN110060656A (zh) * | 2019-05-05 | 2019-07-26 | 标贝(深圳)科技有限公司 | 模型管理和语音合成方法、装置和系统及存储介质 |
CN110534089A (zh) * | 2019-07-10 | 2019-12-03 | 西安交通大学 | 一种基于音素和韵律结构的中文语音合成方法 |
CN111612168A (zh) * | 2020-06-30 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种机器学习任务的管理方法以及相关装置 |
CN112188627A (zh) * | 2020-09-27 | 2021-01-05 | 重庆邮电大学 | 一种基于状态预测的动态资源分配策略 |
CN112700004A (zh) * | 2020-12-25 | 2021-04-23 | 南方电网深圳数字电网研究院有限公司 | 基于容器技术的深度学习模型训练方法、设备及存储介质 |
-
2021
- 2021-04-26 CN CN202110452252.8A patent/CN113241056B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202635A (zh) * | 2006-12-11 | 2008-06-18 | 中兴通讯股份有限公司 | 基于媒体服务器实现按资源类型计费的方法 |
CN104766603A (zh) * | 2014-01-06 | 2015-07-08 | 安徽科大讯飞信息科技股份有限公司 | 构建个性化歌唱风格频谱合成模型的方法及装置 |
CN105185372A (zh) * | 2015-10-20 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 个性化多声学模型的训练方法、语音合成方法及装置 |
CN107733977A (zh) * | 2017-08-31 | 2018-02-23 | 北京百度网讯科技有限公司 | 一种基于Docker的集群管理方法及装置 |
CN107766940A (zh) * | 2017-11-20 | 2018-03-06 | 北京百度网讯科技有限公司 | 用于生成模型的方法和装置 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN109408062A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种自动部署模型训练环境的方法和装置 |
CN110060656A (zh) * | 2019-05-05 | 2019-07-26 | 标贝(深圳)科技有限公司 | 模型管理和语音合成方法、装置和系统及存储介质 |
CN110534089A (zh) * | 2019-07-10 | 2019-12-03 | 西安交通大学 | 一种基于音素和韵律结构的中文语音合成方法 |
CN111612168A (zh) * | 2020-06-30 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种机器学习任务的管理方法以及相关装置 |
CN112188627A (zh) * | 2020-09-27 | 2021-01-05 | 重庆邮电大学 | 一种基于状态预测的动态资源分配策略 |
CN112700004A (zh) * | 2020-12-25 | 2021-04-23 | 南方电网深圳数字电网研究院有限公司 | 基于容器技术的深度学习模型训练方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113241056A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11955125B2 (en) | Smart speaker and operation method thereof | |
US20170046124A1 (en) | Responding to Human Spoken Audio Based on User Input | |
KR100597670B1 (ko) | 멀티미디어 콘텐츠의 갱신 및 재생이 가능한이동통신단말기 및 그 재생방법 | |
CN113241056B (zh) | 语音合成模型的训练与语音合成方法、装置、系统及介质 | |
CN110555321B (zh) | 智能家居系统中的数据处理方法、装置及存储介质 | |
CN110175012B (zh) | 技能推荐方法、装置、设备及计算机可读存储介质 | |
JP6785904B2 (ja) | 情報プッシュ方法及び装置 | |
CN105551488A (zh) | 语音控制方法及系统 | |
US10645464B2 (en) | Eyes free entertainment | |
CN107205097B (zh) | 移动终端查找方法、装置以及计算机可读存储介质 | |
CN110060656B (zh) | 模型管理和语音合成方法、装置和系统及存储介质 | |
CN107911386B (zh) | 获取服务授权信息的方法及装置 | |
US11520806B1 (en) | Tokenized voice authenticated narrated video descriptions | |
EP3920181B1 (en) | Text independent speaker recognition | |
CN108322791B (zh) | 一种语音评测方法及装置 | |
CN110047497B (zh) | 背景音频信号滤除方法、装置及存储介质 | |
CN105141427A (zh) | 一种基于声纹识别的登录认证方法、装置及系统 | |
CN113241057B (zh) | 用于语音合成模型训练的交互方法、装置、系统及介质 | |
CN114121028A (zh) | 语音播放方法、装置、设备以及存储介质 | |
CN113672748A (zh) | 多媒体信息播放方法及装置 | |
CN108650521A (zh) | 一种直播方法、装置以及多媒体播放系统 | |
CN111741350A (zh) | 文件展示方法、装置、电子设备及计算机可读存储介质 | |
CN104581348A (zh) | 伴唱视觉特效系统及伴唱视觉特效处理方法 | |
CN113628622A (zh) | 语音交互方法、装置、电子设备及存储介质 | |
CN111276144A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 1201, Building B, Phase 1, Innovation Park, No. 1 Keyuan Weiyi Road, Laoshan District, Qingdao City, Shandong Province, 266101 Applicant after: Beibei (Qingdao) Technology Co.,Ltd. Address before: 100192 a203a, 2 / F, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Applicant before: DATABAKER (BEIJNG) TECHNOLOGY Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |