CN117373432A - 一种语音克隆方法、装置及相关设备 - Google Patents
一种语音克隆方法、装置及相关设备 Download PDFInfo
- Publication number
- CN117373432A CN117373432A CN202211071940.0A CN202211071940A CN117373432A CN 117373432 A CN117373432 A CN 117373432A CN 202211071940 A CN202211071940 A CN 202211071940A CN 117373432 A CN117373432 A CN 117373432A
- Authority
- CN
- China
- Prior art keywords
- target
- scene
- corpus
- voice
- text
- 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
- 238000010367 cloning Methods 0.000 title claims abstract description 264
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000009826 distribution Methods 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 45
- 238000012360 testing method Methods 0.000 claims description 26
- 230000015572 biosynthetic process Effects 0.000 claims description 21
- 238000003786 synthesis reaction Methods 0.000 claims description 21
- 230000008451 emotion Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 22
- 230000033764 rhythmic process Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000005129 volume perturbation calorimetry Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/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
- G10L13/10—Prosody rules derived from text; Stress or intonation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请提供了一种语音克隆方法,包括:确定目标场景,并根据该目标场景,确定属于目标场景的目标语料文本,然后根据该目标语料文本,确定目标对象的音频,该音频的语音内容与目标语料文本的内容相匹配,从而利用该目标语料文本以及目标对象的音频,训练目标场景对应的语音克隆模型,该语音克隆模型用于输出模拟目标对象在目标场景下发音的音频。由于语音克隆模型是基于目标对象针对目标场景下的语料文本的发音音频进行训练得到,这使得语音克隆模型根据文本所输出的新的语音,在音色、韵律和发音风格等方面的特征,能够更加符合目标对象在目标场景下的真实发音情况,以此可以有效提高语音克隆效果。此外,本申请还提供了对应的装置及相关设备。
Description
本申请要求于2022年06月29日提交中国国家知识产权局、申请号为202210778187.2、申请名称为“一种语音克隆方法、装置及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能技术领域,尤其涉及一种语音克隆方法、装置及相关设备。
背景技术
语音克隆,是一种根据目标对象(如克隆人类)的原始语音,生成与原始语音在音色等发音特征上相似的新语音的技术,达到克隆目标对象发音的效果,在虚拟人、有声读物、视频创作等场景中存在广泛应用。
但是,目前的语音克隆技术,仅能在生成的新语音中实现克隆目标对象发音的音色,难以比拟目标对象在真实场景中的发音效果,从而导致克隆效果较差。
发明内容
有鉴于此,本申请实施例提供了一种语音克隆方法,以提升针对目标对象的语音克隆效果。本申请还提供了对应的装置、计算设备集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请实施例提供了一种语音克隆方法,该方法可以由语音克隆装置执行,具体地,语音克隆装置确定目标场景,如将用户指定的故事场景确定为目标场景等,并根据该目标场景,确定属于目标场景的目标语料文本,然后根据该目标语料文本,确定目标对象的音频,该音频的语音内容与目标语料文本的内容相匹配,从而语音克隆装置利用该目标语料文本以及目标对象的音频,训练目标场景对应的语音克隆模型,该语音克隆模型用于输出模拟目标对象在目标场景下发音的音频。
由于语音克隆模型是基于目标对象针对目标场景下的语料文本的发音音频进行训练得到,这使得语音克隆模型根据文本所输出的新的语音,在音色、韵律和发音风格等方面的特征,能够更加符合目标对象在目标场景下的真实发音情况,以此可以有效提高语音克隆效果。
实际应用时,可以利用上述方式生成用于模拟输出各个对象在各个场景下发音韵律和风格的语音克隆模型,以便利用这些语音克隆模型提高语音克隆的真实性和多样性。
进一步地,语音克隆装置在训练得到的语音克隆模型后,可以利用该语音克隆模型输出一段文本对应的音频,以实现对目标对象的语音克隆。
在一种可能的实施方式中,目标语料文本的内容语境与目标场景所指示的语境相匹配,比如,当目标场景为故事场景时,目标语料文本例如可以是故事内容的语料文本。示例性地,目标场景可以是对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、或演讲场景中任意一种,或者,目标对象为根据情绪类型进行划分所得到的场景,如悲伤场景、高兴场景等。实际应用时,目标场景也可以是其它可适用的场景。
在一种可能的实施方式中,语音克隆装置在确定属于目标场景的语料文本时,具体可以是先获取属于目标场景的多个语料文本的拼音分布,该拼音分布例如可以是该多个语料文本中各个拼音的数量分布等,从而语音克隆装置可以根据该多个语料文本的拼音分布,从多个语料文本中选取目标语料文本,该目标语料文本的数量少于多个语料文本的数量,并且,该目标语料文本的拼音分布与该多个语料文本的拼音分布满足预设条件,如两个拼音分布之间的方差或者标准差小于阈值等。由于不同场景下的语料文本的拼音分布之间通常存在差异,因此,每个场景下的拼音分布可以作为该场景的代表性特征,从而基于拼音分布选取目标语料文本,可以使得该目标语料文本也能符合该场景下的语料特征,进而基于该目标语料文本训练语音克隆模型,可以提高该语音克隆模型的语音克隆效果。
在一种可能的实施方式中,语音克隆装置在确定属于目标场景的语料文本时,具体可以是从属于该目标场景的多个语料文本中选取目标语料文本,该目标语料文本中专业术语的占比大于比例阈值。这样,利用所选取的目标语料文本训练语音克隆模型后,该语音克隆模型所输出的音频中对于专业术语的发音表达内容可以更加流畅,符合目标对象在真实针对该专业术语的真实发音,从而可以提高语音克隆效果。
在一种可能的实施方式中,语音克隆装置在根据目标语料文本确定属于该目标场景的目标对象的音频时,具体可以是生成录音界面,该录音界面用于将目标语料文本呈现给目标对象,从而目标对象可以根据录音界面所呈现的目标语料文本进行发音。相应地,语音克隆装置对目标对象的发音进行录音,得到该目标对象的音频。如此,语音克隆装置可以通过采集目标对象发音的方式,获得该目标对象的音频,以便后续基于获取的音频实现对语音克隆模型的训练。
在一种可能的实施方式中,语音克隆装置在根据目标语料文本确定属于该目标场景的目标对象的音频时,具体可以是获取目标对象中在目标场景下发音的多个音频,从而语音克隆装置可以从多个音频中确定语音内容与该目标语料文本的内容相匹配的音频。比如,语音克隆装置可以从网络中获取目标对象在公共场合下(并且属于目标场景)的多个音频,从而语音克隆装置可以通过内容匹配的方式,确定与该目标语料文本在内容上相匹配的目标对象的音频。如此,在用户指示目标场景后,目标对象可以无需再通过录音的方式与语音克隆装置进行交互,以此简化实现语音克隆所需执行的交互操作,提高用户体验。
在一种可能的实施方式中,语音克隆装置在确定目标场景时,具体可以是生成场景配置界面,该场景配置界面用于将多个候选场景呈现给用户,以便用户对该多个候选场景进行选择,从而语音克隆装置可以从多个候选场景中确定该用户选择的目标场景。如此,语音克隆装置可以基于用户的指定,确定语音克隆的发音场景,从而可以提高语音克隆场景的可选性,提高用户体验。
在一种可能的实施方式中,语音克隆装置在确定目标场景时,具体可以是生成场景配置界面,该场景配置界面用于提示用户输入其所定义的目标场景的标识(如名称)以及属于该目标场景的语料文本,从而语音克隆装置可以响应于用户针对该场景配置界面的操作,获取该用户定义的目标场景的标识以及属于该目标场景的语料文本。如此,语音克隆装置可以支持用户对于语音克隆的发音场景的自定义,从而可以提高语音克隆的灵活性,提高用户体验。
在一种可能的实施方式中,语音克隆装置还可以生成测试界面,该测试界面用户提示用户输入文本,然后,语音克隆装置可以响应于用户针对该测试界面的操作,获取用户输入的目标文本,并将该目标文本输入至该语音克隆模型,得到该语音克隆模型输出的音频。如此,用户可以根据语音克隆模型输出的音频评判语音克隆模型对于目标对象在目标场景下发音的克隆效果,以便在克隆效果较差时通过模型再训练等方式来进一步提高语音克隆效果。
第二方面,本申请实施例还提供了一种语音克隆方法,该方法可以由语音克隆装置执行,具体地,语音克隆装置接收用户输入的目标场景的目标文本,如接收用户输入的故事场景以及该故事文本等,然后,语音克隆可以根据该目标场景确定该目标场景对应的语音克隆模型,并基于该语音克隆模型输出和该目标文本对应的目标音频,该语音克隆模型用于输出模拟目标对象在目标场景下发音的音频。
如此,语音克隆模型根据目标文本所输出的新的语音,在音色、韵律和发音风格等方面的特征,能够更加符合目标对象在目标场景下的真实发音情况,以此可以有效提高语音克隆效果。
在一种可能的实施方式中,目标语料文本的内容语境与目标场景所指示的语境相匹配,比如,当目标场景为故事场景时,目标语料文本例如可以是故事内容的语料文本。示例性地,目标场景可以是对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、或演讲场景中任意一种,或者,目标对象为根据情绪类型进行划分所得到的场景,如悲伤场景、高兴场景等。实际应用时,目标场景也可以是其它可适用的场景。
在一种可能的实施方式中,语音克隆装置在接收用户输入的目标场景以及目标文本时,可以生成语音合成界面,该语音合成界面用于将多个候选场景呈现给用户,从而语音克隆装置可以从多个候选场景中确定用户选择的目标场景,并接收该用户在语音合成界面上输入的目标文本。如此,语音克隆装置可以支持用户对场景以及文本的自定义,从而场景和文本的可选性。
在一种可能的实施方式中,语音克隆装置所呈现的语音合成界面,还可以用于将多个候选对象呈现给用户,从而用户可以从多个对象中选择其中一个对象作为目标对象。如此,语音克隆装置可以根据用户所选择的对象,对该对象进行语音克隆,以此可以提高语音克隆的灵活性和可选性,提高用户体验。
第三方面,本申请实施例还提供了一种语音克隆装置,包括:数据获取模块,用于确定目标场景,并根据所述目标场景,确定属于所述目标场景的目标语料文本,并根据所述目标语料文本,确定目标对象的音频,所述音频的语音内容与所述目标语料文本的内容相匹配;模型训练模块,用于利用所述目标语料文本以及所述音频,训练所述目标场景对应的语音克隆模型,所述语音克隆模型用于输出模拟所述目标对象在所述目标场景下发音的音频。
在一种可能的实施方式中,所述目标语料文本的语境与所述目标场景所指示的语境相匹配;所述目标场景包括以下中任意一种:对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景;或者,所述目标场景为根据情绪类型进行划分所得到的场景。
在一种可能的实施方式中,所述数据获取模块,用于:获取属于所述目标场景的多个语料文本的拼音分布;根据所述多个语料文本的拼音分布,从所述多个语料文本中选取所述目标语料文本,所述目标语料文本的数量少于所述多个语料文本的数量,所述目标语料文本的拼音分布与所述多个语料文本的拼音分布满足预设条件。
在一种可能的实施方式中,所述数据获取模块,用于:从多个语料文本中选取所述目标语料文本,所述目标语料文本中专业术语的占比大于比例阈值,所述多个语料文本属于所述目标场景。
在一种可能的实施方式中,所述数据获取模块,用于:生成录音界面,所述录音界面用于将所述目标语料文本呈现给所述目标对象;对所述目标对象根据所述目标语料文本的发音进行录音,得到所述目标对象的音频。
在一种可能的实施方式中,所述数据获取模块,用于:获取所述目标对象在所述目标场景下发音的多个音频;从所述多个音频中确定语音内容与所述目标语料文本的内容相匹配的音频。
在一种可能的实施方式中,所述数据获取模块,用于:生成场景配置界面,所述场景配置界面用于将多个候选场景呈现给用户;从所述多个候选场景中确定所述用户选择的目标场景。
在一种可能的实施方式中,所述数据获取模块,用于:生成场景配置界面,所述场景配置界面用于提示输入用户定义的目标场景的标识以及属于所述目标场景的语料文本;响应于所述用户针对所述场景配置界面的操作,获取所述用户定义的目标场景的标识以及属于所述目标场景的语料文本。
在一种可能的实施方式中,所述语音克隆装置还包括语音克隆模块,用于:生成测试界面,所述测试界面用于提示用户输入文本;响应于所述用户针对所述测试界面的操作,获取所述用户输入的目标文本;将所述目标文本输入至所述语音克隆模型,得到所述语音克隆模型输出的音频。
值得注意的是,第三方面提供的语音克隆装置,对应于第一方面提供的语音克隆方法,故第三方面以及第三方面中任一实施方式所具有的技术效果,可参见第一方面或者第一方面的相应实施方式所具有的技术效果。
第四方面,本申请实施例还提供了一种语音克隆装置,所述语音克隆装置包括:数据获取模块,用于接收用户输入的目标场景和目标文本;语音克隆模块,用于根据所述目标场景,确定所述目标场景对应的语音克隆模型,并基于所述语音克隆模型,输出和所述目标文本对应的目标音频,所述语音克隆模型用于输出模拟目标对象在所述目标场景下发音的音频。
在一种可能的实施方式中,所述目标语料文本的语境与所述目标场景所指示的语境相匹配;所述目标场景包括以下中任意一种:对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景;或者,所述目标场景为根据情绪类型进行划分所得到的场景。
在一种可能的实施方式中,所述数据获取模块,用于:生成语音合成界面,所述语音合成界面用于将多个候选场景呈现给用户;从所述多个候选场景中确定所述用户选择的所述目标场景;接收所述用户在所述语音合成界面上输入的所述目标文本。
在一种可能的实施方式中,所述语音合成界面,还用于将多个候选对象呈现给所述用户;所述数据获取模块,还用于:从所述多个候选对象中,确定所述用户选择的所述目标对象。
值得注意的是,第四方面提供的语音克隆装置,对应于第二方面提供的语音克隆方法,故第四方面以及第四方面中任一实施方式所具有的技术效果,可参见第二方面或者第二方面的相应实施方式所具有的技术效果。
第五方面,本申请提供一种计算设备,所述计算设备包括处理器和存储器;所述存储器用于存储指令,所述处理器执行所述存储器存储的该指令,以使所述计算设备执行上述第一方面或第一方面任一种可能实现方式中的语音克隆方法,或者执行上述第二方面或第二方面任一种可能实现方式中的语音克隆方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。所述计算设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
第六方面,本申请提供一种计算设备集群,所述计算设备包括至少一个计算设备,所述至少一个计算设备包括至少一个处理器和至少一个存储器;所述至少一个存储器用于存储指令,所述至少一个处理器执行所述至少一个存储器存储的该指令,以使所述计算设备集群执行上述第一方面或第一方面任一种可能实现方式中的语音克隆方法,或者执行上述第二方面或第二方面任一种可能实现方式中的语音克隆方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。所述至少一个计算设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第一方面或第一方面的任一种实现方式所述的方法,或者执行上述第二方面或第二方面任一种可能实现方式中的语音克隆方法。
第八方面,本申请提供了一种包含指令的计算机程序产品,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第一方面或第一方面的任一种实现方式所述的方法,或者执行上述第二方面或第二方面任一种可能实现方式中的语音克隆方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请提供的一示例性应用场景的示意图;
图2为本申请提供的另一示例性应用场景的示意图;
图3为本申请提供的一种语音克隆方法的流程示意图;
图4为本申请提供的一种场景配置界面的示意图;
图5为本申请提供的另一种场景配置界面的示意图;
图6为本申请提供的新闻场景以及财经场景下的语料文本对应的拼音分布示意图;
图7为本申请提供的一种录音界面的示意图;
图8为本申请提供的一种测试界面的示意图;
图9为本申请提供的一种计算设备的结构示意图;
图10为本申请提供的一种计算设备集群的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的实施例中的方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
目前,在进行语音克隆时,会利用通用的语料文本以及目标对象针对该语料文本的录音音频,训练语音克隆模型。这样,语音克隆模型可以学习目标对象的发音的音色,根据新提供的文本,生成与该目标对象发音的音色相符的语音并输出,实现目标对象的语音克隆。其中,目标对象,是指具有能够发音的对象,如人类等。
实际应用场景中,目标对象在不同场景中发音的韵律、风格等,通常存在差异。其中,韵律以及风格可以反映目标对象发音时的特点。韵律,可以包括发音的语调、时域分布和重音等方面的特征。风格,可以包括目标对象说话的语速等特征。
以故事场景和新闻播报场景为例,人在故事场景(如在讲述故事内容等)中的发音,通常语速较为平缓(如每分钟说120字)、音量变化较大,而在新闻播报场景中的发音,通常语速较快(如每分钟说200字)、音量变化较小等。但是,基于通用文本的语料以及相应的录音音频所训练出的语音克隆模型,仅能克隆目标对象发音的音色,难以克隆出目标对象在不同场景下发音的不同韵律和风格,从而影响语音克隆效果。
基于此,本申请实施例提供了一种语音克隆方法,该方法可以由语音克隆装置执行,用于提升针对目标对象的语音克隆效果。具体实现时,语音克隆装置先确定所要克隆的目标对象发音时的目标场景,并根据该目标场景,获取属于该目标场景的目标语料文本,并进一步根据该目标语料,确定目标对象的音频,该目标对象的音频的语音内容与该目标语料文本的内容相匹配,如该音频可以是对目标对象根据该目标语料文本的发音进行录音得到的音频等,从而语音克隆装置利用该目标语料文本以及该音频,训练得到用于输出模拟所述目标对象在目标场景下发音的音频的语音克隆模型,实现针对目标对象在目标场景下发音的语音克隆。
由于语音克隆模型,基于目标对象针对目标场景下的语料文本的发音音频进行训练得到,这使得语音克隆模型根据文本所输出的新的语音,在音色、韵律和发音风格等方面的特征,能够更加符合目标对象在目标场景下的真实发音情况,以此可以有效提高语音克隆效果。
实际应用时,针对每种场景,均可以利用上述方式克隆目标对象在该场景下的语音,从而可以实现克隆目标对象在不同场景下发音所具有的不同韵律和风格,提高语音克隆的真实性和多样性。进一步地,语音克隆装置还可以针对多个对象中的每个对象,均采用上述方式克隆该对象在各个场景下的语音,从而可以提高语音克隆的灵活性以及丰富性。
作为一种示例,上述语音克隆装置可以被部署于云端,用于为用户提供语音克隆的云服务。例如,在图1所示的应用场景中,语音克隆装置100可以部署于云端,例如可以是由云端的计算设备或者计算设备集群实现。并且,语音克隆装置100可以对外提供客户端200,用于实现与用户300的交互,如接收用户300输入的场景信息、文本或者音频数据,或者向用户300反馈克隆的音频等。实际应用时,客户端200例如可以是运行在用户侧设备上的应用程序,或者可以是语音克隆装置100对外提供的网络浏览器等。语音克隆装置100可以包括数据获取模块101、模型训练模块102。其中,数据获取模块101,用于确定目标场景,如可以将用户300选择的场景或者用户300自定义的场景确定为目标场景等,并获取属于该目标场景的目标语料文本以及目标对象的音频,将目标语料文本以及音频提供给模型训练模块102;模型训练模块102,用于利用目标语料文本以及该目标对象的音频,训练该目标场景对应的语音克隆模型。进一步地,语音克隆装置100还可以包括语音克隆模块103,则,模型训练模块102可以将该语音克隆模型提供给语音克隆模块103;语音克隆模块103,用于利用该语音克隆模型输出目标文本对应的音频,该音频即为模拟目标对象在目标场景下发音的音频,其中,该目标文本可以是预先配置的文本,或者可以是用户300新提供的文本等。进一步地,语音克隆模块103还可以将目标文本对应的音频发送给客户端200,以便客户端200将该音频播放给用户300。
作为另一种示例,上述语音克隆装置可以被部署于本地,从而可以为用户提供本地的语音克隆服务。例如,在图2所示的应用场景中,上述语音克隆装置具体可以是本地的终端400,从而用户300可以向终端400输入目标场景、目标语料文本以及目标对象的音频,终端400利用该目标语料文本以及音频,训练目标场景对应的语音克隆模型,并利用该语音克隆模型输出目标文本对应的音频,并向用户300播放该音频。
实际应用时,上述语音克隆装置可以通过软件实现,或者可以通过硬件实现。
语音克隆装置作为软件功能单元的一种举例,可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,语音克隆装置可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
语音克隆装置作为硬件功能单元的一种举例,语音克隆装置可以包括至少一个计算设备,如服务器等。或者,语音克隆装置也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logicdevice,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD)、现场可编程门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
语音克隆装置包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。语音克隆装置包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,语音克隆装置包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
接下来,对语音克隆过程的各种非限定性的具体实施方式进行详细描述。
参阅图3,为本申请实施例中一种语音克隆方法的流程示意图。该方法可以应用于上述图1或者图2所示的应用场景中,或者也可以是应用于其它可适用的应用场景中。下面以应用于图1所示的应用场景为例进行说明。在图1所示的应用场景中,语音克隆装置100中的数据获取模块101、模型训练模块102以及语音克隆模块103的功能,具体参见下述实施例的相关描述。并且,语音克隆装置100能够用于生成克隆一个或者多个对象在各个场景下发音的语音克隆模型,为便于说明,图3所示实施例中以生成用于模拟输出一个对象(即下述目标对象)在一个场景(即下述目标场景)下发音的音频的语音克隆模型为例进行说明,关于语音克隆装置100生成用于模拟其他对象在其它各个场景下发音的语音克隆模型的实现过程,可参照图3所示实施例进行理解。
图3所示的语音克隆方法具体可以包括:
S301:数据获取模块101确定目标场景。
通常情况下,目标对象在多种不同的场景下发音的韵律、风格可能存在差异,因此,在克隆目标对象的发音时,可以先确定所要克隆的目标对象的发音所属场景,以下称之为目标场景。
其中,目标对象发音所属的场景,可以根据实际应用场景中的发音环境进行划分,如可以划分为对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景等多个场景,目标场景即为其中一种场景。或者,目标对象发音所属的场景,也可以是根据人物情绪的类型进行划分,如可以按照人物情绪的不同,划分为高兴场景、悲伤场景、崇拜场景、冷静场景、平淡场景等。实际应用时,也可以是采用其它方式划分得到多种不同的场景,本实施例对此并不进行限定。
进一步地,目标场景,还可以是用户自定义的场景,如用户可以自定义睡前故事场景、演讲场景等。
在一种确定目标场景的实现方式中,数据获取模块101可以生成场景配置界面,并将该场景配置界面发送给客户端200,以便客户端200将其呈现给用户300。其中,客户端200所呈现的场景配置界面中可以包括多个候选场景,例如可以是图4所示的对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景等,该多个候选场景可以预先由技术人员进行配置。这样,用户300可以在客户端200上,从呈现的多个候选场景中选择一种场景,如选择故事场景等,以便指定语音克隆装置100基于该场景进行语音克隆。相应地,客户端200可以将用户所选择的场景反馈给数据获取模块101,以便数据获取模块101将其确定为目标场景。
另外,语音克隆装置100还可以支持用户300自定义场景。比如,在图4所示的场景配置界面中,当用户300选择“自定义”场景,数据获取模块101还可以生成图5所示的场景配置界面,并将该场景配置界面通过客户端200呈现给用户300。此时,用户300可以在该场景配置界面中输入自定义的场景的名称(或者其它用于标识该场景的信息);相应地,数据获取模块101可以根据用户输入的场景的名称,创建新的场景,并将其确定为目标场景。
需要说明的是,上述数据获取模块101确定目标场景的实现方式仅作为示例性说明,实际应用时,数据获取模块101也可以通过其它方式确定目标场景,本实施例对此并不进行限定。
S302:数据获取模块101根据目标场景,确定获取属于该目标场景的目标语料文本。
在确定目标场景后,数据获取模块101可以进一步获取实现语音克隆所需的目标语料文本。
在一种获取目标语料文本的实施方式中,数据获取模块101可以在进行语音克隆之前,预先针对多种候选场景分别配置有相应的语料库,每个语料库用于存储属于同一候选场景的多个语料文本,不同语料库中存储的语料文本属于不同候选场景。其中,每个语料库中存储的语料文本的内容的语境与该候选场景所指示的语境相匹配。比如,在演讲场景对应的语料库中,所存储的语料文本例如可以是多份不同的演讲稿等。当目标场景为多个候选场景的其中一种候选场景时,数据获取模块101可以访问该目标场景对应的语料库,并从该语料库中筛选出部分语料文本作为用于训练语音克隆模型的目标语料文本。
本实施例中,提供了以下几种从语料库筛选出目标语料文本的实现示例。
在第一种实现示例中,数据获取模块101可以根据拼音分布从语料库中筛选出目标语料文本。
具体地,以语料文本为中文文本为例,目标场景对应的语料库在存储多个语料文本时,还存储该多个语料文本包括的各个中文字符的拼音分布,如各个中文字符对应的拼音在语料库中出现次数的分布,以下称之为第一拼音分布。然后,数据获取模块101可以从该语料库中筛选出预设数量(如30、或50、或100等)的语料文本,将其添加至语料文本集合中,并统计该语料文本集合中的多个语料文本对应的拼音分布,以下称之为第二拼音分布。
接着,数据获取模块101可以计算第一拼音分布与第二拼音分布之间的方差(或者标准差等)。通常情况下,不同场景下的语料文本对应的拼音分布通常存在较大差异。比如,对于新闻场景下的500条语料文本以及财经场景下的500条语料文本,其拼音分布中数量最多的前10个拼音的分布可以如图6所示。因此,每个场景下的语料文本对应的拼音分布,可以作为指示该场景下语料文本特性的特征。相应地,在选取用于训练该场景下的目标语料文本时,可以选取拼音分布与语料库的拼音分布相同的多个语料文本作为目标语料文本,以保留该场景下的文本内容特征。
并且,当第一拼音分布与第二拼音分布之间的方差小于或者等于预设阈值时,数据获取模块101可以将语料文本集合中的多个语料文本确定为用于训练语音克隆模型的目标语料文本。而当第一拼音分布与第二拼音分布之间的方差大于预设阈值时,数据获取模块101可以根据第一拼音分布,确定第二拼音分布中拼音占比过大的目标拼音,并从语料文本集合中删除该目标拼音重复率相对较高的一个或者多个语料文本,然后随机从数据库中剩余的语料文本中选择一个或者多个语料文本,并将其添加至语料文本集合中。
然后,数据获取模块101可以重新计算该语料文本集合对应的拼音分布与第一拼音分布之间的方差(或者标准差等)小于预设阈值。如果是,则将当前语料文本集合中的多个语料文本确定为目标语料文本;如果不是,则可以重复上述步骤更新语料文本集合,直至语料文本集合对应的拼音分布与第一拼音分布之间的方差(或者标准差等)小于预设阈值。
在第二种实现示例中,数据获取模块101可以根据专业术语的占比,从语料库中筛选出目标语料文本。其中,专业术语,是指在特定领域中对一些特定事物的统一称谓,如计算机领域中的复杂程序逻辑器件(CPLD)等。
具体地,目标场景对应的语料库所存储多个语料文本中,可以携带有各个语料文本分别包括的专业术语的标识(或者称之为标签)。这样,数据获取模块101可以先从语料库中随机筛选预设数量的语料文本,将其添加至语料文本集合中,并根据这些语料文本携带的专业术语的标识,确定语料文本集合中专业术语的数量相对于该语料文本集合包括的所有词汇的数量的占比。当占比大于或者等于预设的比例阈值时,数据获取模块101可以将语料文本集合中的多个语料文本确定为目标语料文本;而当占比小于预设的比例阈值时,数据获取模块101可以删除语料文本集合中专业术语数量较少的部分语料文本,或者删除语料集合中重复率较高的部分语料文本,然后随机从数据库中剩余的语料文本中选择一个或者多个语料文本,并将其添加至语料文本集合中。
然后,数据获取模块101可以重新计算语料文本集合中专业术语的数量相对于该语料文本集合中所有词汇的数量的占比。当占比大于或者等于预设的比例阈值时,数据获取模块101可以将当前语料文本集合中的多个语料文本确定为目标语料文本;而当占比小于预设的比例阈值时,数据获取模块101可以重复上述步骤更新语料文本集合,直至语料文本集合中专业术语的数量相对于该语料文本集合中所有词汇的数量的占比大于或者等于预设的比例阈值。
在第三种实现示例中,数据获取模块101可以综合上述拼音分布以及专业术语的占比,从数据库中筛选出目标语料文本,即所筛选出的目标语料文本中,不仅拼音分布与数据库对应的拼音分布之间的方差小于或者等于预设阈值,而且,专业术语的数量相对于目标语料文本中所有词汇的数量的占比大于或者等于比例阈值。
上述数据获取模块101从语料库筛选出目标语料文本仅作为一些示例性说明,实际应用时,数据获取模块101也可以通过其它方式从语料库筛选出目标语料文本,本实施例对此并不进行限定。
在另一种获取目标语料文本的实施方式中,当目标场景为用户300自定义的场景时,数据获取模块101可以从用户300上传的语料文本中确定出用于训练适用于该场景下的语音克隆模型的目标语料文本。
具体地,数据获取模块101在通过客户端200呈现场景配置界面时,除了可以提示用户300输入自定义的场景的名称,还可以在该场景配置界面上提示用户300上传语料文本,如图5所示。其中用户300可以在该场景配置界面上导入语料文本,或者在该场景配置界面上输入语料文本的路径、文件名或者网络地址等,以便数据获取模块101根据用户300输入的信息访问得到语料文本等。进一步地,图5所示的场景配置界面还可以提示用户300输入自定义场景下的专业术语。
然后,数据获取模块101可以从用户300上传的语料文本中确定出目标语料文本。其中,当用户300上传的语料文本的数量较多时,数据获取模块101可以参照前述实施方式,根据拼音分布或专业术语从多个语料文本中确定目标语料文本,在此不做重述;而当用户300上传的语料文本的数量较少时,如用户300上传的语料文本的数量不超过上述预设数量等,数据获取模块101可以将用户300上传的所有语料文本确定为目标语料文本,本实施例对此并不进行限定。
实际应用时,数据获取模块101也可以通过其它方式获取目标语料文本,本实施例对此并不进行限定。
S303:数据获取模块101根据目标语料文本,确定目标对象的音频,该音频的语音内容与该目标语料文本的内容相匹配。
其中,目标对象例如可以是用户300,或者目标对象也可以是除用户300之外的其它对象,如公众人物等。
数据获取模块101在获取到目标语料文本后,还可以进一步获取目标对象的音频,该目标对象的音频的语音内容与目标语料文本的内容相匹配,如音频的语音内容与目标语料文本的内容相同。
本实施例中,提供了以下几种获取目标对象的音频的实现示例。
在第一种实现示例中,当目标对象为用户300时,数据获取模块101可以生成录音界面,该录音界面中可以包括已确定的目标语料文本,从而数据获取模块101可以通过客户端200呈现该录音界面。进一步地,该录音界面中还可以进一步呈现该目标语料文本对应的拼音和音调信息,该拼音和音调信息可以预先由技术人员对目标语料文本完成人工标注。比如,在图7所示的录音界面中,所呈现的目标语料文本可以是属于财经场景的文本:“今年房地产价格走势是涨是落”,所呈现的拼音和音调信息为“jin1 nian2 fang2 di4 chan3jia4 ge2 zou3shi4 shi4 zhang3 shi4 luo4”,其中,“jin1”中的“jin”为目标语料文本中字符“今”的拼音,“jin1”中的“1”指示目标语料文本中字符“今”的发音音调为一声;类似地,“nian2”中的“nian”为字符“年”的拼音,“nian2”中的“2”指示字符“年”的发音音调为二声。
这样,用户300可以根据录音界面所呈现的目标语料文本(以及相应的拼音和音调)进行发音。相应地,数据获取模块101可以利用客户端200对用户300的发音进行录音,得到用户300的音频,也即目标对象的音频。
进一步地,由于在对目标对象的发音进行录音时,容易受到噪声环境干扰,因此,数据获取模块101还可以对录音得到的音频进行噪声检测,并计算该音频的信噪比。当信噪比大于噪声阈值时,表征该音频受到较大的噪声干扰,此时,数据获取模块101可以删除该录音,并可以提示用户300重新针对该目标语料文本进行录音过程,直至所得到的音频中的信噪比不超过该噪声阈值。另外,数据获取模块101还可以校验录音得到的音频中的语音内容是否与目标语料文本相匹配,如校验该音频中的语音内容与目标语料文本的内容是否一致,或者用户300发音的正确率是否达到门限值,如果是,则数据获取模块101可以确定音频中的语音内容与目标语料文本相匹配,而如果不是,则数据获取模块101可以提示用户300重新针对该目标语料文本进行录音过程。
在第二种实现示例中,当目标对象与用户300不一致时,数据获取模块101可以获取目标对象在目标场景下的多段音频。比如,当目标场景为演讲场景下时,数据获取模块101可以获取目标对象在各种公开演讲场景下录制的演讲音频等。实际应用时,目标对象可以预先由用户300进行指定。比如,在图4所示的场景配置界面中,该场景配置界面可以呈现多个不同的对象,包括对象1至对象4,从而用户300可以多个对象中选择其中一个对象作为目标对象,以指示语音克隆装置300对该目标对象进行语音克隆。相应的,数据获取模块101可以从数据库或者网络中获取用户300指定的目标对象的多段音频。然后,数据获取模块101可以将目标语料文本与获取的目标对象的多段音频进行内容匹配,以此可以从多段音频中确定出与目标语料文本相匹配的音频。
数据获取模块101在获取到目标语料文本以及目标对象的音频后,可以将其转发给模型训练模块102。
S304:模型训练模块102利用目标语料文本以及目标对象的音频,训练目标场景对应的语音克隆模型,其中,该语音克隆模型用于输出模拟目标对象在该目标场景下发音的音频。
本实施例中,语音克隆模型,例如可以基于PortaSpeech模型、或Tacotron模型、或FastSpeech模型等进行构建,或者可以基于其它语音合成模型进行构建,本实施例对此并不进行限定。
作为一种实现示例,在获取目标语料文本以及目标对象的音频后,可以将其作为训练样本,对语音克隆模型进行迭代训练,直至语音克隆模型满足训练终止条件,如损失值小于阈值等。如此,语音克隆模型可以学习到目标对象在该目标场景下发音的音色、韵律和风格。
而在另一种实现示例中,由于目标语料文本以及目标对象的音频的数量通常较少,因此,模型训练模块101可以获取通用语料文本(即未区分其所属场景)以及该通用语料文本对应的音频,对语音克隆模型进行初步训练。当满足初步训练的终止条件时,语音克隆模型能够根据输入的文本输出相应的音频,也即能够实现语音合成的基本功能。然后,数据获取模块101再利用目标语料文本以及目标对象的音频,进一步训练该语音克隆模型直至其满足训练终止条件。如此,即使目标语料文本以及目标对象的音频的数量较少(也即模型训练样本较少),数据处理模块101最终所训练出的语音克隆模型也能较好的克隆目标对象在目标场景下发音的音色、韵律和风格。
在进一步可能的实施方式中,模型训练模块102在训练得到的语音克隆模型后,可以将其发送给语音克隆模块103,以便利用语音克隆模块103输出模拟目标对象发音的音频,实现对目标对象的语音克隆。为此,本实施例还可以进一步包括:
S305:语音克隆模块103利用语音克隆模型,输出目标文本对应的音频。
其中,目标文本,可以是用于向用户300呈现语音克隆模型的克隆效果的测试文本,或者,可以是用户预先指定的、需要合成语音的文本。
作为一种实现示例,当目标文本为测试文本时,语音克隆模块103可以将固定配置的测试文本输入至语音克隆模型中,由该语音克隆模型根据该测试文本输出相应的音频,该音频为模拟目标对象在目标场景下针对该测试文本进行发音的音频。然后,语音克隆模块103可以将该音频进行输出,具体可以是将该音频发送至客户端200,并由客户端200将该音频播放给用户300,以便用户300可以基于播放的音频感知语音克隆模型对于目标对象在该目标场景下发音的克隆效果。
作为另一种实现示例,当目标文本为测试文本时,该目标文本可以由用户300进行提供,则,语音克隆模块103可以生成测试界面,例如可以是如图8所示的测试界面,并将该测试界面通过客户端呈现给用户300,以提示用户300输入测试文本。相应地,语音克隆模块103可以响应于用户针对该测试界面的操作,获取用户300输入的测试文本,并将该测试文本输入至语音克隆模型,得到该语音克隆模型输出的音频。接着,语音克隆模块103可以将该音频发送至客户端200,并由客户端200将该音频播放给用户300,以便用户300可以基于播放的音频感知语音克隆模型对于目标对象在该目标场景下发音的克隆效果。
作为又一种实现示例,目标文本为用户300预先指定的、需要合成语音的文本。比如,当目标场景具体为故事场景时,用户300可以预先指定一个故事的名称或者文本,从而语音克隆模块103可以将用户300指定的文本(如故事文本等)输入至语音克隆模型中,得到语音克隆模型根据该文本输出相应的音频。然后,语音克隆模块103可以将该音频发送至客户端200,并由客户端200将该音频播放给用户300,以满足用户300针对该文本的语音克隆的需求,如用户300可以听到模拟目标对象讲故事的音频。
作为再一种实现示例,目标文本为用户300输入的、需要合成语音的文本,相应地,语音克隆模块103在接收到语音克隆模型后,可以生成语音合成界面,并将该语音合成界面通过客户端200呈现给用户300。然后,语音克隆装置103可以通过客户端200接收用户300输入的需要进行语音合成的目标文本,并将其输入至语音克隆模型,得到语音克隆模型根据该目标文本输出的音频。然后,语音克隆模块103可以将该音频发送至客户端200,并由客户端200将该音频播放给用户300,以满足用户300针对该目标文本的语音克隆的需求。
值得注意的是,图3所示的实施例中,是以语音克隆装置100生成用于克隆目标对象在目标场景下发音的音频的过程进行示例性说明,实际应用时,语音克隆装置100可以基于上述类似方式,针对每个场景训练得到该场景对应的语音克隆模型,每个场景对应的语音克隆模型生成用于克隆目标对象该场景下发音的音频。并且,针对不同的对象,均可以基于上述类似方式训练得到每个对象在每个场景下所对应的语音克隆模型。如此,语音克隆装置100可以针对不同场景、不同对象训练得到多个不同的语音克隆模型,用于支持用户对所要克隆的发音场景以及对象进行选择,从而可以提高语音克隆的灵活性以及丰富性。
这样,当用户300指定一个场景以及一个对象后,语音克隆装置100可以利用用户300指定场景以及指定对象所对应的语音克隆模型,生成相应的音频并反馈给用户300。示例性地,语音克隆模块103可以生成语音合成界面,该语音合成界面可以将多个候选场景以及多个候选对象呈现给用户,从而用户可以在该语音合成界面上从多种候选场景中选择其中一种候选场景,从多个候选对象中选择其中一个候选对象。相应的,语音克隆模块103可以将用户所选择的候选场景确定为目标场景,将用户所选择的候选对象确定为目标对象,并进一步确定该目标场景对应的、用于模拟目标对象发音的语音克隆模型。然后,语音克隆模型103可以利用所确定的语音克隆模型,根据预先配置的目标文本或者用户在该语音合成界面上输入目标文本,合成模拟目标对象在该目标场景下发音的音频。
在其它实现方式中,语音克隆模块103所生成的语音合成界面也可以是仅支持用户从多个场景中选择一种场景作为目标场景,或者可以仅支持用户从多个候选对象中选择一个对象作为目标对象,本实施例对此并不进行限定。
上述图3所示实施例中,针对语音克隆过程中所涉及到的语音克隆装置(包括上述数据获取模块101、模型训练模块102、语音克隆模块103)可以是配置于计算设备或者计算设备集群上的软件,并且,通过在计算设备或者计算设备集群上运行该软件,可以使得计算设备或者计算设备集群实现上述语音克隆装置所具有的功能。下面,基于硬件设备实现的角度,对语音克隆的过程中所涉及的语音克隆装置进行详细介绍。
图9示出了一种计算设备的结构示意图,上述语音克隆装置可以部署在该计算设备上,该计算设备可以是云环境中的计算设备(如服务器),或边缘环境中的计算设备,或终端设备等具体可以用于实现上述图3所示实施例中交互模块201、处理模块202的功能。
如图9所示,计算设备900包括处理器910、存储器920、通信接口930和总线940。处理器910、存储器920和通信接口930之间通过总线940通信。总线940可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口930用于与外部通信,例如接收用户提供的原始数据以及待训练的特征提取网络模型等。
其中,处理器910可以为中央处理器(central processing unit,CPU)、专用集成电路(application specific integrated circuit,ASIC)、图形处理器(graphicsprocessing unit,GPU)或者一个或多个集成电路。处理器910还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,语音克隆装置中各个模块的功能可以通过处理器910中的硬件的集成逻辑电路或者软件形式的指令完成。处理器910还可以是通用处理器、数据信号处理器(digital signal process,DSP)、现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,分立硬件组件,可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器920,处理器910读取存储器920中的信息,结合其硬件完成语音克隆装置中的部分或全部功能。
存储器920可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器920还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器920中存储有可执行代码,处理器910执行该可执行代码以执行前述语音克隆装置所执行的方法。
具体地,在实现图3所示实施例的情况下,且图3所示实施例中所描述的数据获取模块101、模型训练模块102以及语音克隆模块103为通过软件实现的情况下,执行图3中的数据获取模块101、模型训练模块102以及语音克隆模块103的功能所需的软件或程序代码存储在存储器920中,数据获取模块101与其它设备的交互通过通信接口930实现,处理器用于执行存储器920中的指令,实现语音克隆装置所执行的方法。
图10示出的一种计算设备集群的结构示意图。其中,图10所示的计算设备集群10包括多个计算设备,上述语音克隆装置可以分布式地部署在该计算设备集群10中的多个计算设备上。如图10所示,计算设备集群100包括多个计算设备1000,每个计算设备1000包括存储器1020、处理器1010、通信接口1030以及总线1040,其中,存储器1020、处理器1010、通信接口1030通过总线1040实现彼此之间的通信连接。
处理器1010可以采用CPU、GPU、ASIC或者一个或多个集成电路。处理器1010还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,语音克隆装置的部分功能可用通过处理器1010中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1010还可以是DSP、FPGA、通用处理器、其他可编程逻辑器件,分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的部分方法、步骤及逻辑框图。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1020,在每个计算设备1000中,处理器1010读取存储器1020中的信息,结合其硬件可以完成语音克隆装置的部分功能。
存储器1020可以包括ROM、RAM、静态存储设备、动态存储设备、硬盘(例如SSD、HDD)等。存储器1020可以存储程序代码,例如,用于实现数据获取模块101的部分或者全部程序代码、用于实现模型训练模块102的部分或者全部程序代码、用于实现语音克隆模块103的部分或者全部程序代码等。针对每个计算设备1000,当存储器1020中存储的程序代码被处理器1010执行时,处理器1010基于通信接口1030执行语音克隆装置所执行的部分方法,如其中一部分计算设备1000可以用于执行上述数据获取模块101所执行的方法,另一部分计算设备1000用于执行上述模型训练模块102所执行的方法,又一部分计算设备1000用于执行上述语音克隆模块103所执行的方法。存储器1020还可以存储数据,例如:处理器1010在执行过程中产生的中间数据或结果数据,例如,上述目标语料文本、音频、语音克隆模型等。
每个计算设备1000中的通信接口1003用于与外部通信,例如与其它计算设备1000进行交互等。
总线1040可以是外设部件互连标准总线或扩展工业标准结构总线等。为便于表示,图10中每个计算设备1000内的总线1040仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述多个计算设备1000之间通过通信网络建立通信通路,以实现语音克隆装置的功能。任一计算设备可以是云环境中的计算设备(例如,服务器),或边缘环境中的计算设备,或终端设备。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在一个或者多个计算设备上运行时,使得该一个或者多个计算设备执行上述实施例语音克隆装置的各个模块所执行的方法。
此外,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被一个或者多个计算设备执行时,所述一个或者多个计算设备执行前述语音克隆方法中的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述语音克隆方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (29)
1.一种语音克隆方法,其特征在于,所述方法包括:
确定目标场景;
根据所述目标场景,确定属于所述目标场景的目标语料文本;
根据所述目标语料文本,确定目标对象的音频,所述音频的语音内容与所述目标语料文本的内容相匹配;
利用所述目标语料文本以及所述音频,训练所述目标场景对应的语音克隆模型,所述语音克隆模型用于输出模拟所述目标对象在所述目标场景下发音的音频。
2.根据权利要求1所述的方法,其特征在于,所述目标语料文本的内容语境与所述目标场景所指示的语境相匹配;
所述目标场景包括以下中任意一种:
对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景;
或者,所述目标场景为根据情绪类型进行划分所得到的场景。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标场景,确定属于所述目标场景的语料文本,包括:
获取属于所述目标场景的多个语料文本的拼音分布;
根据所述多个语料文本的拼音分布,从所述多个语料文本中选取所述目标语料文本,所述目标语料文本的数量少于所述多个语料文本的数量,所述目标语料文本的拼音分布与所述多个语料文本的拼音分布满足预设条件。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述目标场景,确定属于所述目标场景的语料文本,包括:
从多个语料文本中选取所述目标语料文本,所述目标语料文本中专业术语的占比大于比例阈值,所述多个语料文本属于所述目标场景。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述目标语料文本,确定属于所述目标场景的目标对象的音频,包括:
生成录音界面,所述录音界面用于将所述目标语料文本呈现给所述目标对象;
对所述目标对象根据所述目标语料文本的发音进行录音,得到所述目标对象的音频。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述目标语料文本,确定属于所述目标场景的目标对象的音频,包括:
获取所述目标对象在所述目标场景下发音的多个音频;
从所述多个音频中确定语音内容与所述目标语料文本的内容相匹配的音频。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述确定目标场景,包括:
生成场景配置界面,所述场景配置界面用于将多个候选场景呈现给用户;
从所述多个候选场景中确定所述用户选择的目标场景。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述确定目标场景,包括:
生成场景配置界面,所述场景配置界面用于提示输入用户定义的目标场景的标识以及属于所述目标场景的语料文本;
响应于所述用户针对所述场景配置界面的操作,获取所述用户定义的目标场景的标识以及属于所述目标场景的语料文本。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
生成测试界面,所述测试界面用于提示用户输入文本;
响应于所述用户针对所述测试界面的操作,获取所述用户输入的目标文本;
将所述目标文本输入至所述语音克隆模型,得到所述语音克隆模型输出的音频。
10.一种语音克隆方法,其特征在于,所述方法包括:
接收用户输入的目标场景和目标文本;
根据所述目标场景,确定所述目标场景对应的语音克隆模型;
基于所述语音克隆模型,输出和所述目标文本对应的目标音频,所述语音克隆模型用于输出模拟目标对象在所述目标场景下发音的音频。
11.根据权利要求10所述的方法,其特征在于,所述目标语料文本的内容语境与所述目标场景所指示的语境相匹配;
所述目标场景包括以下中任意一种:
对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景;
或者,所述目标场景为根据情绪类型进行划分所得到的场景。
12.根据权利要求10或11所述的方法,其特征在于,所述接收用户输入的目标场景和目标文本,包括:
生成语音合成界面,所述语音合成界面用于将多个候选场景呈现给用户;
从所述多个候选场景中确定所述用户选择的所述目标场景;
接收所述用户在所述语音合成界面上输入的所述目标文本。
13.根据权利要求12所述的方法,其特征在于,所述语音合成界面,还用于将多个候选对象呈现给所述用户;
所述方法还包括:
从所述多个候选对象中,确定所述用户选择的所述目标对象。
14.一种语音克隆装置,其特征在于,所述语音克隆装置包括:
数据获取模块,用于确定目标场景,并根据所述目标场景,确定属于所述目标场景的目标语料文本,并根据所述目标语料文本,确定目标对象的音频,所述音频的语音内容与所述目标语料文本的内容相匹配;
模型训练模块,用于利用所述目标语料文本以及所述音频,训练所述目标场景对应的语音克隆模型,所述语音克隆模型用于输出模拟所述目标对象在所述目标场景下发音的音频。
15.根据权利要求14所述的装置,其特征在于,所述目标语料文本的语境与所述目标场景所指示的语境相匹配;
所述目标场景包括以下中任意一种:
对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景;
或者,所述目标场景为根据情绪类型进行划分所得到的场景。
16.根据权利要求14或15所述的装置,其特征在于,所述数据获取模块,用于:
获取属于所述目标场景的多个语料文本的拼音分布;
根据所述多个语料文本的拼音分布,从所述多个语料文本中选取所述目标语料文本,所述目标语料文本的数量少于所述多个语料文本的数量,所述目标语料文本的拼音分布与所述多个语料文本的拼音分布满足预设条件。
17.根据权利要求14至16任一项所述的装置,其特征在于,所述数据获取模块,用于:
从多个语料文本中选取所述目标语料文本,所述目标语料文本中专业术语的占比大于比例阈值,所述多个语料文本属于所述目标场景。
18.根据权利要求14至17任一项所述的装置,其特征在于,所述数据获取模块,用于:
生成录音界面,所述录音界面用于将所述目标语料文本呈现给所述目标对象;
对所述目标对象根据所述目标语料文本的发音进行录音,得到所述目标对象的音频。
19.根据权利要求14至17任一项所述的装置,其特征在于,所述数据获取模块,用于:
获取所述目标对象在所述目标场景下发音的多个音频;
从所述多个音频中确定语音内容与所述目标语料文本的内容相匹配的音频。
20.根据权利要求14至19任一项所述的装置,其特征在于,所述数据获取模块,用于:
生成场景配置界面,所述场景配置界面用于将多个候选场景呈现给用户;
从所述多个候选场景中确定所述用户选择的目标场景。
21.根据权利要求14至19任一项所述的装置,其特征在于,所述数据获取模块,用于:
生成场景配置界面,所述场景配置界面用于提示输入用户定义的目标场景的标识以及属于所述目标场景的语料文本;
响应于所述用户针对所述场景配置界面的操作,获取所述用户定义的目标场景的标识以及属于所述目标场景的语料文本。
22.根据权利要求14至21任一项所述的装置,其特征在于,所述语音克隆装置还包括语音克隆模块,用于:
生成测试界面,所述测试界面用于提示用户输入文本;
响应于所述用户针对所述测试界面的操作,获取所述用户输入的目标文本;
将所述目标文本输入至所述语音克隆模型,得到所述语音克隆模型输出的音频。
23.一种语音克隆装置,其特征在于,所述语音克隆装置包括:
数据获取模块,用于接收用户输入的目标场景和目标文本;
语音克隆模块,用于根据所述目标场景,确定所述目标场景对应的语音克隆模型,并基于所述语音克隆模型,输出和所述目标文本对应的目标音频,所述语音克隆模型用于输出模拟目标对象在所述目标场景下发音的音频。
24.根据权利要求23所述的装置,其特征在于,所述目标语料文本的语境与所述目标场景所指示的语境相匹配;
所述目标场景包括以下中任意一种:
对话场景、新闻场景、财经场景、直播场景、故事场景、教育场景、演讲场景;
或者,所述目标场景为根据情绪类型进行划分所得到的场景。
25.根据权利要求23或24所述的装置,其特征在于,所述数据获取模块,用于:
生成语音合成界面,所述语音合成界面用于将多个候选场景呈现给用户;
从所述多个候选场景中确定所述用户选择的所述目标场景;
接收所述用户在所述语音合成界面上输入的所述目标文本。
26.根据权利要求25所述的装置,其特征在于,所述语音合成界面,还用于将多个候选对象呈现给所述用户;
所述数据获取模块,还用于:从所述多个候选对象中,确定所述用户选择的所述目标对象。
27.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述计算设备集群执行权利要求1至7中任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行如权利要求1至9任一项所述的方法,或者,使得所述至少一个计算设备执行如权利要求10至13任一项所述的方法。
29.一种包含指令的计算机程序产品,其特征在于,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行如权利要求1至9中任一项所述的方法,或者,使得所述至少一个计算设备执行如权利要求10至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/081526 WO2024001307A1 (zh) | 2022-06-29 | 2023-03-15 | 一种语音克隆方法、装置及相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022107781872 | 2022-06-29 | ||
CN202210778187 | 2022-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117373432A true CN117373432A (zh) | 2024-01-09 |
Family
ID=89397142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211071940.0A Pending CN117373432A (zh) | 2022-06-29 | 2022-09-02 | 一种语音克隆方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117373432A (zh) |
-
2022
- 2022-09-02 CN CN202211071940.0A patent/CN117373432A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110473525B (zh) | 获取语音训练样本的方法和装置 | |
CN111741326B (zh) | 视频合成方法、装置、设备及存储介质 | |
US10971125B2 (en) | Music synthesis method, system, terminal and computer-readable storage medium | |
JP2019211747A (ja) | 音声接続合成の処理方法及び装置、コンピュータ設備及び読取り可能な媒体 | |
US11511200B2 (en) | Game playing method and system based on a multimedia file | |
CN110867177A (zh) | 音色可选的人声播放系统、其播放方法及可读记录介质 | |
CN109817244B (zh) | 口语评测方法、装置、设备和存储介质 | |
CN112614478B (zh) | 音频训练数据处理方法、装置、设备以及存储介质 | |
WO2017059694A1 (zh) | 一种语音模仿方法和装置 | |
CN104992703A (zh) | 语音合成方法和系统 | |
CN104505103B (zh) | 语音质量评价设备、方法和系统 | |
CN109190879B (zh) | 一种训练改编水平评价模型、评价改编水平的方法及装置 | |
CN108053696A (zh) | 一种根据阅读内容进行声音播放的方法、装置和终端设备 | |
CN113691909A (zh) | 具有音频处理推荐的数字音频工作站 | |
JP2021101252A (ja) | 情報処理方法、情報処理装置およびプログラム | |
CN110797001B (zh) | 电子书语音音频的生成方法、装置及可读存储介质 | |
US11775070B2 (en) | Vibration control method and system for computer device | |
CN111160051B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20210043188A1 (en) | Personal avatar memorial | |
CN117373432A (zh) | 一种语音克隆方法、装置及相关设备 | |
CN114760274B (zh) | 在线课堂的语音交互方法、装置、设备及存储介质 | |
CN111105781A (zh) | 语音处理方法、装置、电子设备以及介质 | |
CN115963963A (zh) | 互动小说生成方法、呈现方法、装置、设备及介质 | |
WO2024001307A1 (zh) | 一种语音克隆方法、装置及相关设备 | |
CN112825245A (zh) | 实时修音方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |