CN117373463A - 用于语音处理的模型训练方法、设备、介质及程序产品 - Google Patents
用于语音处理的模型训练方法、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN117373463A CN117373463A CN202311319480.3A CN202311319480A CN117373463A CN 117373463 A CN117373463 A CN 117373463A CN 202311319480 A CN202311319480 A CN 202311319480A CN 117373463 A CN117373463 A CN 117373463A
- Authority
- CN
- China
- Prior art keywords
- voice
- speech
- speaker
- sample
- representation
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 207
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012549 training Methods 0.000 title claims abstract description 65
- 230000006870 function Effects 0.000 claims description 145
- 238000002372 labelling Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008447 perception Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 230000008569 process Effects 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 23
- 238000006243 chemical reaction Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 238000010801 machine learning Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 8
- 238000001228 spectrum Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请公开了一种用于语音处理的模型训练方法、设备、介质及程序产品,涉及人工智能技术领域。该方法包括:将第一语音样本和第二语音样本输入语音处理模型进行处理,获得第二生成语音,第二生成语音由语音处理模型对第一生成语音中的语音内容的特征以及第一语音样本中的音色的特征进行提取并解码得到,第一生成语音由所述语音处理模型对第一语音样本中的语音内容的特征以及第二语音样本中的音色的特征进行提取并解码得到;通过第一语音样本和第二生成语音之间的差异,对语音处理模型的模型参数进行更新。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种用于语音处理的模型训练方法、设备、介质及程序产品。
背景技术
随着人工智能AI技术的不断发展,目前很多应用提供基于AI的音色转换功能,具体来说,就是将一个用户的语音,通过语音处理模型转换成某个特定的对象发出的语音。
在相关技术中,上述语音处理模型可以包含语音内容编码器、说话人编码器以及一个解码器;在训练过程中,将语音样本分别输入语音内容编码器和说话人编码器,得到语音内容编码器输出的语音内容的表示,以及说话人编码器输出的音色的表示,然后,通过解码器对上述语音内容的表示和音色的表示进行解码处理,得到合成语音,再根据合成语音和语音样本之间的差异对语音处理模型进行参数更新。
发明内容
本申请实施例提供了一种用于语音处理的模型训练方法、设备、介质及程序产品,能够提高用于进行音色转换的语音处理模型的准确性。所述技术方案如下:
一方面,提供了一种用于语音处理的模型训练方法,所述方法包括:
获取第一语音样本和第二语音样本,所述第一语音样本是第一说话人的语音,所述第二语音样本是第二说话人的语音,所述第一说话人不同于所述第二说话人;
将所述第一语音样本和所述第二语音样本输入语音处理模型进行处理,获得第二生成语音;所述第二生成语音由所述语音处理模型对第一生成语音中的语音内容的特征以及所述第一语音样本中的音色的特征进行提取并解码得到;所述第一生成语音由所述语音处理模型对所述第一语音样本中的语音内容的特征以及所述第二语音样本中的音色的特征进行提取并解码得到;
通过所述第一语音样本和所述第二生成语音之间的差异,对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练;
其中,在所述模型参数训练至收敛的情况下,所述语音处理模型用于将一个说话人的语音转换为具有相同语音内容的另一个说话人的语音。
一方面,提供了一种用于语音处理的模型训练装置,所述装置包括:
样本获取模块,用于获取第一语音样本和第二语音样本,所述第一语音样本是第一说话人的语音,所述第二语音样本是第二说话人的语音,所述第一说话人不同于所述第二说话人;
模型处理模块,用于将所述第一语音样本和所述第二语音样本输入语音处理模型进行处理,获得第二生成语音;所述第二生成语音由所述语音处理模型对第一生成语音中的语音内容的特征以及所述第一语音样本中的音色的特征进行提取并解码得到;所述第一生成语音由所述语音处理模型对所述第一语音样本中的语音内容的特征以及所述第二语音样本中的音色的特征进行提取并解码得到;
更新模块,用于通过所述第一语音样本和所述第二生成语音之间的差异,对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练;
其中,在所述模型参数训练至收敛的情况下,所述语音处理模型用于将一个说话人的语音转换为具有相同语音内容的另一个说话人的语音。
在所记载的实施例中,本申请可能被设置为,所述语音处理模型包括语音内容编码器、说话人编码器以及解码器;
所述模型处理模块,用于,
通过所述语音内容编码器对所述第一语音样本进行编码,获得第一内容表示,所述第一内容表示是用于表征所述第一语音样本中的语音内容的特征;
通过所述说话人编码器对所述第一语音样本进行编码,获得第一说话人表示,所述第一说话人表示是用于表征所述第一语音样本中的音色的特征;
通过所述说话人编码器对所述第二语音样本进行编码,获得第二说话人表示,所述第二说话人表示是用于表征所述第二语音样本中的音色的特征;
通过所述解码器对所述第一内容表示和所述第二说话人表示进行解码处理,获得所述第一生成语音;
通过所述语音内容编码器对所述第一生成语音进行编码,获得第二内容表示;所述第二内容表示是用于表征所述第一生成语音中的语音内容的特征;
通过所述解码器对所述第二内容表示和所述第一说话人表示进行解码处理,获得所述第二生成语音。
在所记载的实施例中,本申请可能被设置为,所述更新模块,用于,
获取所述第一语音样本和所述第二生成语音之间的第一语音差值;
通过第一函数对所述第一语音差值进行处理,获得第一损失函数值;
通过所述第一损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
在所记载的实施例中,本申请可能被设置为,所述第一函数用于计算所述第一语音差值的2范数。
在所记载的实施例中,本申请可能被设置为,所述更新模块,还用于,
获取感知损失函数值,所述感知损失函数值包括第二损失函数值和第三损失函数值中的至少一项,所述第二损失函数值指示所述第二语音样本和所述第一生成语音的音色之间的差异,所述第三损失函数值指示所述第二语音样本和所述第一生成语音的语音内容之间的差异;
通过所述感知损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
在所记载的实施例中,本申请可能被设置为,所述更新模块,用于在所述感知损失函数值包括第二损失函数值的情况下,
通过所述说话人编码器对所述第一生成语音进行编码处理,获得第三说话人表示,所述第三说话人表示是用于表征所述第一生成语音中的音色的特征;
获取所述第二说话人表示与所述第三说话人表示之间的说话人表示差值;
通过第二函数对所述说话人表示差值进行处理,获得所述第二损失函数值。
在所记载的实施例中,本申请可能被设置为,所述更新模块,用于在所述感知损失函数值包括第三损失函数值的情况下,
获取所述第一内容表示与所述第二内容表示之间的内容表示差值;
通过第三函数对所述内容表示差值进行处理,获得所述第三损失函数值。
在所记载的实施例中,本申请可能被设置为,所述更新模块,还用于,
获取语音样本对,以及所述语音样本对的标注信息,所述语音样本对包含第三语音样本和第四语音样本,所述标注信息用于指示所述第三语音样本和所述第四语音样本是否是同一个说话人的语音;
通过所述说话人编码器对所述第三语音样本进行编码处理,获得第四说话人表示,所述第四说话人表示是用于表征所述第三语音样本中的音色的特征;
通过所述说话人编码器对所述第四语音样本进行编码处理,获得第五说话人表示,所述第五说话人表示是用于表征所述第四语音样本中的音色的特征;
通过第四函数对所述第四说话人表示、所述第五说话人表示以及所述标注信息进行处理,获得第四损失函数值;
通过所述第四损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
在所记载的实施例中,本申请可能被设置为,所述第四函数包括第一函数项和第二函数项,所述第一函数项用于计算所述第四说话人表示的停止梯度操作的操作结果与所述第五说话人表示之间的差值,所述第二函数项用于计算所述第五说话人表示的停止梯度操作的操作结果与所述第四说话人表示之间的差值。
在所记载的实施例中,本申请可能被设置为,所述第四函数用于通过所述第四说话人表示和所述第五说话人表示之间的差值,计算得到所述第四损失函数值。
在所记载的实施例中,本申请可能被设置为,所述第二说话人包含两个或者两个以上的说话人,所述第三语音样本和所述第四语音样本各自的说话人,是所述两个或者两个以上的说话人中的同一个说话人,或者,所述第三语音样本和所述第四语音样本各自的说话人,是所述两个或者两个以上的说话人中的不同的说话人。
在所记载的实施例中,本申请可能被设置为,所述更新模块,还用于,
通过所述解码器对所述第一内容表示和所述第一说话人表示进行解码处理,获得第三生成语音;
获取所述第一语音样本和所述第三生成语音之间的第二语音差值;
通过第五函数对所述第二语音差值进行处理,获得第五损失函数值;
通过所述第五损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例所述的用于语音处理的模型训练方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例所述的用于语音处理的模型训练方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例所述的用于语音处理的模型训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
获取对应不同说话人的第一语音样本和第二语音样本,先通过语音处理模型对第一语音样本中的语音内容的特征以及第二语音样本中的音色的特征进行提取并解码得到第一生成语音,然后再通过语音处理模型对第一生成语音中的语音内容的特征以及第一语音样本中的音色的特征进行提取并解码得到第二生成语音,再通过第二生成语音与第一语音样本之间的差异进行模型的参数更新,在上述训练过程中,通过语音处理模型合成语音时,解码使用的语音内容的特征和音色特征分别来自不同的说话人的语音样本,而在上述语音处理模型的推理过程中,解码使用的语音内容的特征和音色的特征也分别来自于不同的说话人的语音,因此,能够使得模型的推理过程和训练过程保持一致,从而提高语音处理模型的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请涉及的一种语音处理系统的系统构成图;
图2是根据一示例性实施例示出的一种用于语音处理的模型训练方法的流程示意图;
图3是本申请涉及的一种音色选择页面;
图4是本申请涉及的一种虚拟人直播设置界面;
图5是本申请涉及的一种语音音色转换服务的框架图;
图6是根据一示例性实施例示出的一种用于语音处理的模型训练方法的流程示意图;
图7是本申请一个示例性的实施例所提出的模型架构图;
图8是本申请涉及的循环重建过程示意图;
图9是根据一示例性实施例示出的一种用于语音处理的模型训练方法的流程示意图;
图10是本申请涉及的对比学习示意图;
图11是本申请一个示例性实施例提供的用于语音处理的模型训练装置的结构框图;
图12是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍。
1)AI(Artificial Intelligence,人工智能)
AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
2)语音技术(Speech Technology)
语音技术的关键技术有自动语音识别技术和语音合成技术以及声纹处理技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
3)ML(Machine Learning,机器学习)
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
请参考图1,其示出了本申请各个实施例涉及的一种语音处理系统的系统构成图。如图1所示,该系统包括终端140、以及服务器160;可选的,该系统还可以包括数据库180。
终端140可以是具有声音采集功能或者外接声音采集设备的终端设备,比如,终端140可以是手机、平板电脑、电子书阅读器、智能眼镜、膝上型便携计算机和台式计算机等等。
终端140可以包括开发人员使用的终端,以及用户(比如游戏玩家或者直播应用的主播)使用的终端。
当终端140实现为开发人员使用的终端时,开发人员可以通过终端140开发用于对语音进行音色转换的机器学习模型,并将机器学习模型部署到服务器160或者用户使用的终端中。
当终端140实现为用户使用的终端时,终端140中可以安装有获取当前用户的语音并进行音色转换的应用程序,终端140获取到用户(比如游戏玩家或者主播)的语音后,可以通过上述应用程序对用户的语音进行转换并发布到游戏场景中,或者发布到直播间中。
其中,服务器160可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,上述服务器160可以是为终端140中安装的应用程序提供后台服务的服务器,该后台服务器可以是应用程序的版本管理、对应用程序获取到的语音进行后台的音色转换处理、对开发人员开发的机器学习模型进行后台训练等等。
上述数据库180可以是Redis数据库,或者,也可以是其它类型数据库。其中,数据库180用于存储各类数据。
可选的,终端140与服务器160之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器160之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
请参考图2,其是根据一示例性实施例示出的一种用于语音处理的模型训练方法的流程示意图。该方法可以由计算机设备执行,比如,该计算机设备可以是服务器,或者,该计算机设备也可以是终端,或者,该计算机设备可以包括服务器和终端,其中,该服务器可以是上述图1所示的实施例中的服务器160,该终端可以是上述图1所示的实施例中由开发人员使用的终端140。该计算机设备可以实现为进行模型训练的模型训练设备。如图2所示,该用于语音处理的模型训练方法可以包括如下步骤。
步骤201:获取第一语音样本和第二语音样本,第一语音样本是第一说话人的语音,第二语音样本是第二说话人的语音,第一说话人不同于第二说话人。
在本申请实施例中,上述第一语音样本和第二语音样本是不同的说话人的语音,也就是说,上述第一语音样本和第二语音样本具有不同的音色。
其中,上述第一语音样本和第二语音样本的语音内容可以不同,或者,上述第一语音样本和第二语音样本的语音内容也可以相同。
步骤202:将第一语音样本和第二语音样本输入语音处理模型进行处理,获得第二生成语音,第二生成语音由语音处理模型对第一生成语音中的语音内容的特征以及第一语音样本中的音色的特征进行提取并解码得到,第一生成语音由语音处理模型对第一语音样本中的语音内容的特征以及第二语音样本中的音色的特征进行提取并解码得到。
在本申请实施例中,语音处理模型首先从第一语音样本提取语音内容的特征,并从第二语音样本中提取音色的特征,对提取的语音内容的特征和音色的特征解码得到第一生成语音(也就是合成具有提取到的语音内容和音色的新的语音),然后,语音处理模型再从该第一生成语音中提取语音内容的特征,并从第一语音样本中提取音色的特征,对提取的语音内容的特征和音色的特征解码得到第二生成语音。
在所记载的实施例中,本申请可能被设置为,语音处理模型包括语音内容编码器、说话人编码器以及解码器;上述步骤202可以实现为如下步骤:
步骤202a:通过语音处理模型的语音内容编码器对第一语音样本进行编码,获得第一内容表示,第一内容表示是用于表征第一语音样本中的语音内容的特征。
在本申请实施例中,语音处理模型至少可以包括两个编码器和一个解码器,其中,两个编码器分别为语音内容编码器和说话人编码器,上述语音内容编码器用于对输入的语音进行编码处理,输出表征语音内容的内容表示。
其中,上述语音内容可以是语音中的语言内容。
在训练过程中,计算机设备可以将第一语音样本输入语音内容编码器,通过语音内容编码器对第一语音样本进行编码后,得到语音编码器输出的第一内容表示。
其中,上述第一内容表示可以是一个多维特征矩阵或者特征向量。
比如,上述语音内容编码器可以是基于自动语音识别(Automatic SpeechRecognition,ASR)网络构建的编码器,比如,上述ASR网络可以分为编码部分和解码部分,其中,编码部分用于从输入的语音中提取编码特征,解码部分用于将编码部分提取的编码特征解码为文本,上述语音内容编码器可以是ASR网络中的编码部分。
或者,上述语音内容编码器也可以是基于其它网络构建的编码器,比如,上述语音内容编码器可以是基于wenet,kaldi,wav2vec2,whisper等模型中的特征提取部分构建的编码器。
步骤202b:通过语音处理模型的说话人编码器对第一语音样本进行编码,获得第一说话人表示,第一说话人表示是用于表征第一语音样本中的音色的特征。
上述说话人编码器用于对输入的语音进行编码处理,输出表征说话人的音色的特征表示。
在训练过程中,计算机设备可以将第一语音样本输入说话人编码器,通过说话人编码器对第一语音样本进行编码后,得到语音编码器输出的第一说话人表示。
其中,上述第一说话人表示可以是一个多维特征矩阵或者特征向量。
步骤202c:通过语音处理模型的说话人编码器对第二语音样本进行编码,获得第二说话人表示,第二说话人表示是用于表征第二语音样本中的音色的特征。
在训练过程中,计算机设备还可以将第二语音样本输入说话人编码器,通过说话人编码器对第二语音样本进行编码后,得到语音编码器输出的第二说话人表示。
其中,上述第二说话人表示可以是一个多维特征矩阵或者特征向量。
其中,上述说话人编码器可以是基于神经网络构建的编码器。
比如,该说话人编码器可以是AutoVC模型中用于产生说话人风格的编码器,该编码器可以由两个LSTM堆叠构成。
或者,上述说话人编码器也可以是其它结构的编码器,比如,上述说话人编码器可以是基于深度神经网络、注意力机制网络等构建的编码器。
步骤202d:通过语音处理模型的解码器对第一内容表示和第二说话人表示进行解码处理,获得第一生成语音。
在本申请实施例中,上述解码器用于对输入的内容表示和说话人表示进行处理,得到生成语音。
在训练过程中,计算机设备可以将第一内容表示和第二说话人表示输入至语音处理模型的解码器,由解码器对第一内容表示和第二说话人表示进行解码处理,得到第一生成语音。也就是说,解码器通过输入的第一内容表示和第二说话人表示,合成同时具有第一内容表示和第二说话人表示的第一生成语音,或者说,该第一生成语音是一个同时具有第一内容表示和第二说话人表示的语音。
其中,上述解码器可以是通过上采样层、卷积层、归一化层、激活层、LSTM层等网络层构成的神经网络;比如,上述是AutoVC模型中的解码器。
步骤202e:通过语音内容编码器对第一生成语音进行编码,获得第二内容表示;第二内容表示是用于表征第一生成语音中的语音内容的特征。
在训练过程中,计算机设备还进一步的将第一生成语音输入语音内容编码器,通过语音内容编码器对解码器生成的第一生成语音进行编码,得到表征第一生成语音中的语音内容的第二内容表示。
步骤202f:通过解码器对第二内容表示和第一说话人表示进行解码处理,获得第二生成语音。
在训练过程中,计算机设备还将第二内容表示和第一说话人表示输入解码器,得到第二生成语音。也就是说,解码器通过输入的第二内容表示和第一说话人表示,合成同时具有第二内容表示和第一说话人表示的第二生成语音,或者说,该第二生成语音是一个同时具有第二内容表示和第一说话人表示的语音。
步骤203:通过第一语音样本和第二生成语音之间的差异,对语音处理模型的模型参数进行更新,以对语音处理模型进行训练。
其中,在模型参数训练至收敛的情况下,语音处理模型用于将一个说话人的语音转换为具有相同语音内容的另一个说话人的语音,具体的,语音处理模型可以用于从一个说话人的语音中提取语音内容的特征,从另一个说话人的语音中提取音色的特征,并对提取到的语音内容的特征和音色的特征解码得到新的语音。
在语音处理模型足够准确的情况下,上述第一生成语音中的语音内容应该与第一语音样本的语音内容一致,此时,将第一生成语音输入语音内容编码器,语音内容编码器提取出的第二内容表示与第一语音样本中的第一说话人表示一起输出解码器后,解码器生成的第二生成语音应该与第一语音样本相接近,因此,在训练过程中,第一语音样本和第二生成语音之间的差异可以用来表示语音处理模型根据第一语音样本和第二语音样本生成具有第一语音样本的语音内容和第二语音样本的音色的语音的过程中的损失,将该损失反向传播到语音处理模型,即可以对语音处理模型的模型参数进行更新,以使得语音处理模型后续根据第一语音样本和第二语音样本生成具有第一语音样本的语音内容和第二语音样本的音色的语音的过程中的损失更小,迭代执行上述过程,可以逐渐提高语音处理模型的准确性,直至语音处理模型的模型参数训练至收敛。其中,上述语音处理模型的模型参数,可以是语音处理模型中的各个网路层中的权重参数,上述语音处理模型的模型参数训练至收敛,可以是指训练迭代的次数达到预先设定的迭代次数,或者,语音处理模型的模型参数训练至收敛,也可以是指最近一次迭代训练后,权重参数的变化量小于变化量阈值。
在一种可能的实现方式中,上述第二语音样本中可以包含一个或者多个指定的说话人分别对应的至少一条语音样本;上述第一语音样本中可以包含一个或者多个除了上述指定的说话人之外的其它说话人分别对应的至少一条语音样本,在每一轮迭代过程的每一次模型输入过程中,取第一语音样本中的一条语音样本,以及第二语音样本中的一条语音样本作为模型的输入,通过上述步骤计算出对应输入的两条语音样本的损失,并通过计算出的损失进行模型训练。
其中,在推理过程中,模型应用设备可以将用户的语音输入语音处理模型中的语音内容编码器提取语音的内容表示,并将目标说话人的语音输入语音处理模型中的说话人编码器提取目标说话人的说话人表示,再通过解码器对语音的内容表示和目标说话人的说话人表示进行解码,即可以得到具有用户语音的内容,且音色为目标说话人的音色的语音,从而实现将当前用户的语音的音色转化为目标说话人的音色,同时保持语音内容不变的效果。
可选的,上述模型参数训练至收敛的语音处理模型,用于将一个说话人的语音转换为第二说话人的声音。也就是说,在推理过程中,目标说话人可以是训练过程中的第二说话人。
综上所述,本申请实施例所示的方案,获取对应不同说话人的第一语音样本和第二语音样本,先通过语音处理模型对第一语音样本中的语音内容的特征以及第二语音样本中的音色的特征进行提取并解码得到第一生成语音,然后再通过语音处理模型对第一生成语音中的语音内容的特征以及第一语音样本中的音色的特征进行提取并解码得到第二生成语音,再通过第二生成语音与第一语音样本之间的差异进行模型的参数更新,在上述训练过程中,通过语音处理模型合成语音时,解码使用的语音内容的特征和音色特征分别来自不同的说话人的语音样本,而在上述语音处理模型的推理过程中,解码使用的语音内容的特征和音色的特征也分别来自于不同的说话人的语音,因此,能够使得模型的推理过程和训练过程保持一致,从而提高语音处理模型的准确性。
本申请可以在人工智能自动生成内容(Artificial Intelligence GeneratedContent,AIGC)领域中,使用变声的方法来为影视作品,游戏动画等内容配音。通过本申请实施例所示的方案,在传统的配音软件中,可以增加一个音色选择模块,用户可以选择不同的音色配置音频,结合文字生成和图像生成,创造有趣的影视作品。
本申请上述实施例所示的方案可以在虚拟现实,游戏等场景使用。用户可以在虚拟现实场景或者游戏世界中选定自己想要的音色,配合耳麦等设备即可在虚拟世界中实现用不同的音色和其他人交流。比如在网游中,玩家可以用指定类型角色的音色和其他玩家进行交流,增加游戏的沉浸感。在可以进行语音交流的游戏或者虚拟世界中,可以增加如图3的音色选择页面,让玩家可以用任意的音色和其他人交流。
本申请上述实施例所示的方案还可以用于虚拟人直播。虚拟人直播时可以使用类似上述虚拟现实中的音色选择界面,确定好自己直播需要的音色,然后通过麦克风等迎接设备捕捉中之人的语音,将语音发向服务器进行转换,得到目标音色和口音的音频后与直播视频流进行合并,对观看直播的用户进行输出,以达到有趣的虚拟人直播效果。虚拟人直播设置界面可以如图4所示。
其中,上述在虚拟世界,游戏场景,或者虚拟人直播等相关产品的语音音色转换服务的框架图可以如图5所示,以本申请上述实施例所示的方案用于虚拟现实或游戏等场景为例,用户选择好目标的口音及音色后,用户说的语音通过如麦克风,VR设备等硬件设备(即图5中的音频采集设备51)捕捉,经过客户端52发送到服务器端53,由服务器端53通过音色口音转换模块(即上述语音处理模型)处理后,返回转换过音色的音频54,并由客户端52在虚拟世界中向用户交流的对象进行播放。
基于上述图2所示的实施例,请参考图6,其是根据一示例性实施例示出的一种用于语音处理的模型训练方法的流程示意图。如图6所示,上述步骤203可以包括步骤203a、步骤203b、步骤203c。
步骤203a:获取第一语音样本和第二生成语音之间的第一语音差值。
其中,上述第一语音样本和第二生成语音之间的第一语音差值,可以是第一语音样本的频谱(比如梅尔频谱)与第二生成语音的频谱之间的差值。
或者,上述第一语音样本和第二生成语音之间的第一语音差值,可以是第一语音样本的频谱的特征向量,与第二生成语音的频谱的特征向量之间的差值,其中,第一语音样本的频谱的特征向量,与第二生成语音的频谱的特征向量,可以是通过同一个语音特征向量提取模块提取的向量。
步骤203b:通过第一函数对第一语音差值进行处理,获得第一损失函数值。
在一种可能的实现方式中,第一函数用于计算第一语音差值的2范数。
可选的,该第一函数也可以用于计算其它类型的损失,比如,该第一函数可以用于计算L1损失、交叉熵损失等等。
步骤203c:通过第一损失函数值对语音处理模型的模型参数进行更新,以对语音处理模型进行训练。
在本申请实施例,计算机设备可以通过第一损失函数值,采用梯度下降等方式对语音处理模型的模型参数进行更新。
本申请上述实施例所示的方案,可以通过第一语音样本和第二生成语音之间的语音差值来计算损失函数值,并通过计算出的损失函数值对语音处理模型的模型参数进行更新,从而提供了一种通过第一语音样本和第二生成语音之间的差异对语音处理模型进行训练的方案,保证了通过第一语音样本和第二生成语音之间的差异对语音处理模型进行训练的有效性。
在一种可能的实现方式中,上述方法还包括:
获取感知损失函数值,感知损失函数值包括第二损失函数值和第三损失函数值中的至少一项,第二损失函数值指示第二语音样本和第一生成语音的音色之间的差异,第三损失函数值指示第一语音样本和第一生成语音的语音内容之间的差异;
通过感知损失函数值对语音处理模型的模型参数进行更新,以对语音处理模型进行训练。
在本申请实施例中,语音处理模型的训练目标,是使得第二语音样本和第一生成语音之间的音色相同,同时,第二语音样本和第一生成语音的语音内容相同;基于上述原因,第二语音样本和第一生成语音的音色之间的差异越大,语音处理模型准确性越低,第一语音样本和第一生成语音的语音内容之间的差异越大,语音处理模型准确性越低;反之,第二语音样本和第一生成语音的音色之间的差异越小,语音处理模型准确性越高,第一语音样本和第一生成语音的语音内容之间的差异越小,语音处理模型准确性越高;对此,本申请实施例所示的方案中,计算机设备可以通过指示第二语音样本和第一生成语音的音色之间的差异的第二损失函数值,以及,指示第一语音样本和第一生成语音的语音内容之间的差异的第三损失函数值中的至少一项,对语音处理模型的模型参数进行更新,从而进一步提高语音处理模型的准确性。
比如,计算机设备可以通过第二损失函数值,对语音处理模型中的语音内容编码器、说话人编码器以及解码器的参数进行更新;或者,计算机设备可以通过第二损失函数值,对语音处理模型中的说话人编码器以及解码器的参数进行更新。
再比如,计算机设备可以通过第三损失函数值,对语音处理模型中的语音内容编码器、说话人编码器以及解码器的参数进行更新;或者,计算机设备可以通过第三损失函数值,对语音处理模型中的语音内容编码器以及解码器的参数进行更新。
在一种可能的实现方式中,在感知损失函数值包括第二损失函数值的情况下,获取感知损失函数值,包括:
通过说话人编码器对第一生成语音进行编码处理,获得第三说话人表示,第三说话人表示是用于表征第一生成语音中的音色的特征;
获取第二说话人表示与第三说话人表示之间的说话人表示差值;
通过第二函数对说话人表示差值进行处理,获得第二损失函数值。
其中,在上述图2所示的方案中,在说话人编码器足够准确的情况下,第二说话人表示与第三说话人表示之间应该是足够小的,或者说,第二说话人表示与第三说话人表示之间的差异越小,说话人编码器越准确,相应的,包含该说话人编码器的语音处理模型的准确性也越高,反之,第二说话人表示与第三说话人表示之间的差异越大,说话人编码器越不准确,相应的,包含该说话人编码器的语音处理模型的准确性也越低,基于上述原理,计算机设备可以将第二说话人表示与第三说话人表示之间的说话人表示差值第二函数,计算得到第二损失函数值,从而提供了一种通过第二语音样本和第一生成语音的音色之间的差异对语音处理模型进行训练的具体实现方案,保证了通过第二语音样本和第一生成语音的音色之间的差异对语音处理模型进行训练的有效性。
在一种可能的实现方式中,在感知损失函数值包括第三损失函数值的情况下,获取感知损失函数值,包括:
获取第一内容表示与第二内容表示之间的内容表示差值;
通过第三函数对内容表示差值进行处理,获得第三损失函数值。
其中,在上述图2所示的方案中,在语音内容编码器足够准确的情况下,第二内容表示与第一内容表示之间应该是足够小的,或者说,第二内容表示与第一内容表示之间的差异越小,语音内容编码器越准确,相应的,包含该语音内容编码器的语音处理模型的准确性也越高,反之,第二内容表示与第一内容表示之间的差异越大,语音内容编码器越不准确,相应的,包含该语音内容编码器的语音处理模型的准确性也越低,基于上述原理,计算机设备可以将第一内容表示与第二内容表示之间的内容表示差值输入第三函数,计算得到第三损失函数值,从而提供了一种通过第一语音样本和第一生成语音的语音内容之间的差异对语音处理模型进行训练的具体实现方案,保证了通过第一语音样本和第一生成语音的语音内容之间的差异对语音处理模型进行训练的有效性。
本申请一个示例性的实施例所提出的模型架构图可以如图7所示。该框架由一个内容编码器C(701),一个说话人编码器S(702)和一个解码器D(703)组成。如图7所示,本申请实施例中,X是输入的语音,其中,语音704是用户A的语音,比如语音内容为“今天天气不错”,语音705是另一个用户B的语音,语音内容不限,在推理过程中,用户A的语音704被输入内容编码器C(701),用户B的语音705被输入说话人编码器S(702),Y是语音的内容表示(也就是语音704的内容表示),Z是语音的说话人表示(也就是语音705的说话人表示)。内容编码器C(701)即为上述的语音内容编码器,其可以使用提前预训练好的语音识别(ASR)模型,利用其提取输入音频(语音704)的内容特征,即Ysrc=C(Xsrc)。其中下标src表示来源于源语者。而说话人编码器S(702)则是用来编码目标语者的音频(语音705),即Zref=S(Xref)。其中下标ref用于表示来自目标语者。而解码器D(703)基于这两种表示,生成新的语音706,即Xgen=D(Ysrc,Zref)。下标gen表示生成的音频。生成的结果保留了和源音频相同的内容,同时使得语音是目标说话人的音色,也就是说,上述语音706可以是以用户B的音色说出的,内容为“今天天气不错”的合成语音。
基于图2所示的方案,请参考图8,其示出了本申请涉及的循环重建过程示意图。为了解决训练和推理不匹配的问题,本申请引入了图8所示的循环重建过程。如图8所示,首先,源说话人的语音Xsrc输入内容编码器C(801)得到Xsrc的内容表示(即上述第一内容表示),目标说话人的语音Xref输入说话人编码器S(802)得到Xref的说话人表示(即上述第二说话人表示);然后Xsrc的内容表示和Xref的说话人表示一起输入解码器D(803),得到合成语音Xgen(即上述第一生成语音);然后,合成语音Xgen在输入内容编码器C(801)和说话人编码器S(802),得到Xgen的内容表示(即上述第二内容表示)和Xgen的说话人表示(即上述第三说话人表示),并且,源说话人的语音Xsrc会被输入说话人编码器S(802)得到Xsrc的说话人表示(即上述第一说话人表示),然后,Xgen的内容表示与Xsrc的说话人表示会一起输入解码器D(803),得到合成语音其中,合成语音/>与Xref之间的差异用于计算Lcyc(即上述第一损失函数),Xref的说话人表示与Xgen的说话人表示之间的差异用于计算Lspkr(即上述第二损失函数),Xsrc的内容表示与Xgen的内容表示之间的差异用于计算Lcont(即上述第三损失函数)。
其中,图8所示的框架的原理是,在训练阶段强制模型将不同说话人的语音作为输入,以缩小训练和推理之间的差距。由于不同说话人之前没有平行数据,所以需要找到一种有效的监督信号来训练模型。本申请实施例通过将源音频的编码和目标说话人的编码输入模型,得到转换后的语音,然后将转换后的语音再次输入模型,结合源音频的说话人编码特征,再次转换音频。这样可以认为二次转换出来的音频应当与源音频一致。本申请实施例通过循环一致性损失对这个过程进行监督。令Xsrc和Xref分别表示来自源说话人的音频和目标说话人的音频,则循环一致性损失定义为:
Lcyc=||Xsrc-D(C(Xgen),S(Xsrc))||2
其中,
Xgen=D(C(Xsrc),S(Xref))
循环重建方法打破了语音转换模型传统训练过程的限制。在此之前的训练方法,要求在训练过程中源语音和目标语音是来自同一人,并进行自重建训练。
为了避免模型只依赖音频的信息进行训练,本申请实施例还进一步添加了两个高级别感知损失来提高语音转换的质量。其一是,可以认为转换后的语音Xgen的音色应当与目标说话人的参考语音Xref的音色一致,因此,本申请实施例定义说话人损失如下:
Lspkr=||S(Xref)-S(Xgen)||2
同理,应当认为Xgen的内容应当与源音频的内容保持一致,因此本申请实施例定义内容损失如下:
Lcont=||C(Xsrc)-C(Xgen)||2
基于上述图2或图6所示的实施例,请参考图9,其是根据一示例性实施例示出的一种用于语音处理的模型训练方法的流程示意图。如图9所示,上述图2或图6所示的实施例还可以包括以下步骤204至步骤208。
步骤204:获取语音样本对,以及语音样本对的标注信息,语音样本对包含第三语音样本和第四语音样本,标注信息用于指示第三语音样本和第四语音样本是否是同一个说话人的语音。
在本申请实施例中,每个语音样本对中包含两个语音样本,按照语音样本对应的说话人是否相同,该语音样本对可以分为正样本和负样本,其中,正样本表示语音样本对中的两个语音样本是同一个说话人的语音,负样本表示语音样本对中的两个语音样本不是同一个说话人的语音。
步骤205:通过说话人编码器对第三语音样本进行编码处理,获得第四说话人表示,第四说话人表示是用于表征第三语音样本中的音色的特征。
步骤206:通过说话人编码器对第四语音样本进行编码处理,获得第五说话人表示,第五说话人表示是用于表征第四语音样本中的音色的特征。
其中,说话人编码器对第三语音样本和第四语音样本进行编码处理的过程,与上述实施例中的说话人编码器对语音样本的处理方式类似,此处不再赘述。
步骤207:通过第四函数对第四说话人表示、第五说话人表示以及标注信息进行处理,获得第四损失函数值。
在本申请实施例中,对于说话人编码器来说,在其准确性足够高的情况下,其对于同一个说话人的两条不同的语音,应该提取到足够相似的说话人表示,或者说,对于同一个说话人的两条不同的语音,说话人编码器提取到的说话人表示的相似度越高,该说话人编码器的准确性也越高,反之,对于同一个说话人的两条不同的语音,说话人编码器提取到的说话人表示的相似度越低,该说话人编码器的准确性也越低;相应的,对于说话人编码器来说,在其准确性足够高的情况下,其对于不同说话人的两条不同的语音,应该提取到差距足够大的说话人表示,或者说,对于不同说话人的两条不同的语音,说话人编码器提取到的说话人表示的相似度越低,该说话人编码器的准确性也越高,反之,对于不同的说话人的两条不同的语音,说话人编码器提取到的说话人表示的相似度越高,该说话人编码器的准确性也越低;基于上述原理,在本申请实施例中,可以按照第四说话人表示、第五说话人表示以及语音样本对的正负性,计算出第四损失函数值,用于对语音处理模型的模型参数进行更新。
步骤208:通过第四损失函数值对语音处理模型的模型参数进行更新,以对语音处理模型进行训练。
其中,计算机设备可以通过该第四损失函数值,对语音处理模型中的说话人编码器进行参数更新,以提高说话人编码器的准确性,进而提高语音处理模型的准确性。
在一种可能的实现方式中,在标注信息用于指示第三语音样本和第四语音样本是同一个说话人的语音的情况下,第四函数包括第一函数项和第二函数项,第一函数项用于计算第四说话人表示的停止梯度操作的操作结果与第五说话人表示之间的差值,第二函数项用于计算第五说话人表示的停止梯度操作的操作结果与第四说话人表示之间的差值。
说话人编码器提取的表示应该包含说话人的身份特征,并且在同一人的不同语音中应该保持不变。来自不同说话人的表示应该是容易被区分的。这对应于对比学习的思想,即来自同一说话人的语音提取出的说话人表示应当距离越近越好,而不同说话人的表示距离应该越远越好。因此,我们将同一说话人的语音作为对比学习中的正样本,不同说话人的语音作为对比学习中的负样本,构建对比学习,请参考图10,其示出了本申请涉及的对比学习示意图,其损失定义如下:
其中S1和A2是将同一个说话人的两条不同音频输入说话人编码器S(1001)后得到的说话人表示。Stopgrad(停止梯度)表示在计算当前损失时,该部分内容不进行梯度的回传。深度学习是基于梯度回传来更新模型的参数。在计算损失后,正常情况下,与S1和S2计算相关的参数都会从S1和S2获得一个回传的梯度用于更新参数。这里stopgrad(S1)可以理解为S1计算完损失后,不会将梯度回传给与计算它相关的参数,这些参数不会得到更新。该公式可以理解为,在计算S1对S2的损失时,S2是不希望更新的,只希望更新S1相关的参数。同理计算S2对S1的损失后,只更新S2相关的参数。
Dist表示距离函数,我们使用余弦相似性来计算,定义为:
此外,在计算说话人表示的距离时,除了使用余弦相似度的算法之外,还可以使用其它算法,比如,可以替换为其他的例如L2,L1距离的相似性算法。
在一种可能的实现方式中,第四函数用于按照标注信息,通过第四说话人表示和第五说话人表示之间的差值,计算得到第四损失函数值。
可选的,第四函数按照标注信息,对第四说话人表示、第五说话人表示进行处理,获得第四损失函数值的过程中,当标注信息指示第三语音样本和所第四语音样本是同一个说话人的语音时,第四说话人表示和第五说话人表示之间的差值越大,第四函数计算出的第四损失函数值越大,也就是说,当第三语音样本和所第四语音样本是同一个说话人的语音时,第四说话人表示和第五说话人表示之间的差值越大,表示说话人编码器的准确性越低,反之,第四说话人表示和第五说话人表示之间的差值越小,表示说话人编码器的准确性越高。
可选的,第四函数按照标注信息,对第四说话人表示、第五说话人表示进行处理,获得第四损失函数值的过程中,当标注信息指示第三语音样本和所第四语音样本不是同一个说话人的语音时,第四说话人表示和第五说话人表示之间的差值越大,第四函数计算出的第四损失函数值越小,也就是说,当第三语音样本和所第四语音样本不是同一个说话人的语音时,第四说话人表示和第五说话人表示之间的差值越大,表示说话人编码器的准确性越高,反之,第四说话人表示和第五说话人表示之间的差值越小,表示说话人编码器的准确性越低。
通过上述方案,计算机设备可以通过第四说话人表示和第五说话人表示之间的差值来确定第四损失函数,从而提高了一种准确获取说话人编码器对相同或不同用户的语音的音色提取差异的方案,保证第四损失函数值的准确性,进而保证后续训练出的模型的准确性。
在一种可能的实现方式中,第二说话人包含两个或者两个以上的说话人,第三语音样本和第四语音样本各自的说话人,是两个或者两个以上的说话人中的同一个说话人,或者,第三语音样本和第四语音样本各自的说话人,是两个或者两个以上的说话人中的不同的说话人。
在本申请实施例中,在第二说话人包含两个或者两个以上的说话人的情况下,语音处理模型可以在应用过程中,将用户输入的语音的音色转换为上述两个或者两个以上的说话人的音色(取决于用户选择上述两个或者两个以上的说话人作为目标说话人),为了进一步的提高语音处理模型中的说话人编码器提取目标说话人的说话人表示的准确性,在本申请实施例中,获取语音样本对时,可以通过上述两个或者两个以上的说话人的语音构建语音样本对,其中,上述两个或者两个以上的说话人中,同一个说话人的两条语音构成的语音样本对为正样本,不同的两条语音构成的语音样本对为负样本。
在一种可能的实现方式中,上述方法还包括:
通过解码器对第一内容表示和第一说话人表示进行解码处理,获得第三生成语音;
获取第一语音样本和第三生成语音之间的第二语音差值;
通过第五函数对第二语音差值进行处理,获得第五损失函数值;
通过第五损失函数值对语音处理模型的模型参数进行更新,以对语音处理模型进行训练。
除了循环重建损失外,本申请还是使用自重建损失,以保证模型的准确性,其表示用源音频的内容特征和说话人特征合成的音频应该和源音频一致:
Lrecon=‖Xsrc-D(C(Xsrc),S(Xsrc))‖2
可选的,在本申请实施例中,可以结合上述Lspkr、Lcont、Lcontra、Lcyc以及Lrecon对语音处理模型进行训练,其最终的损失函数可以表示为:
Ltotal=λspkrLspkr+λcontLcont+λcontraLcontra+λcycLcyc+λreconLrecon
其中,λspkr,λcont,λcontra,λcyc,λrecon为超参数,用于表示每项损失的权重。
近年来,AIGC的火热程度不断上升,其中文本生成、图像生成和音频生成领域都取得了优异的进展。语音转换作为AIGC的一项技术,可以将原始音频转换成目标音色。目前,语音转换技术可应用于影视配音、游戏玩家交流、短视频制作以及虚拟人歌唱等多个领域,拥有广阔的应用前景。
然而,现有的语音转换方案仍存在音频质量较差和与目标语者相似度不高等问题。这是因为传统的语音转换在训练过程中,训练目标并不是直接将源语者音色转换为目标语者音色。该不一致的训练目标限制了模型的泛化能力,导致不同说话人之间转换出的语音音质差异较大。
鉴于上述场景和相关方案的缺陷,本申请提出一种基于循环重建和对比学习的新训练框架。其特点在于,对传统的语音转换模型的训练方法进行改进,引入了循环重建损失训练以及对比学习训练,能有效缓解语音转换方法音质差,与目标语者相似度低的问题。
本申请上述实施例提供的语音转换方法在AIGC领域有较高的应用价值,可以用于语音内容的创作。同时,该方案还可以用在虚拟世界,游戏中的实时交互。用户可以用不同的声音与其他玩家对话交流,增加了游戏的沉浸感,同时可以保护用户的隐私。该方案还可以用于虚拟人直播等场景,满足不同中之人直播时共用相同音色的特点。
本技术方案采用了循环重建和对比学习的方法,相较于传统的基于自编码器的语音转换模型,有更高的音质和更好的说话人相似度。
图11是本申请一个示例性实施例提供的用于语音处理的模型训练装置的结构框图,如图11所示,该装置包括如下部分:
样本获取模块1101,用于获取第一语音样本和第二语音样本,所述第一语音样本是第一说话人的语音,所述第二语音样本是第二说话人的语音,所述第一说话人不同于所述第二说话人;
模型处理模块1102,用于将所述第一语音样本和所述第二语音样本输入语音处理模型进行处理,获得第二生成语音,所述第二生成语音由所述语音处理模型对第一生成语音中的语音内容的特征以及所述第一语音样本中的音色的特征进行提取并解码得到,所述第一生成语音由所述语音处理模型对所述第一语音样本中的语音内容的特征以及所述第二语音样本中的音色的特征进行提取并解码得到;
更新模块1103,用于通过所述第一语音样本和所述第二生成语音之间的差异,对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练;
其中,在所述模型参数训练至收敛的情况下,所述语音处理模型,用于将一个说话人的语音转换为具有相同语音内容的另一个说话人的语音。
在所记载的实施例中,本申请可能被设置为,所述语音处理模型包括语音内容编码器、说话人编码器以及解码器;
所述模型处理模块1102,用于,
通过所述语音内容编码器对所述第一语音样本进行编码,获得第一内容表示,所述第一内容表示是用于表征所述第一语音样本中的语音内容的特征;
通过所述说话人编码器对所述第一语音样本进行编码,获得第一说话人表示,所述第一说话人表示是用于表征所述第一语音样本中的音色的特征;
通过所述说话人编码器对所述第二语音样本进行编码,获得第二说话人表示,所述第二说话人表示是用于表征所述第二语音样本中的音色的特征;
通过所述解码器对所述第一内容表示和所述第二说话人表示进行解码处理,获得所述第一生成语音;
通过所述语音内容编码器对所述第一生成语音进行编码,获得第二内容表示;所述第二内容表示是用于表征所述第一生成语音中的语音内容的特征;
通过所述解码器对所述第二内容表示和所述第一说话人表示进行解码处理,获得所述第二生成语音。
在一种可能的实现方式中,所述更新模块1103,用于,
获取所述第一语音样本和所述第二生成语音之间的第一语音差值;
通过第一函数对所述第一语音差值进行处理,获得第一损失函数值;
通过所述第一损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
在一种可能的实现方式中,所述第一函数用于计算所述第一语音差值的2范数。
在一种可能的实现方式中,所述更新模块1103,还用于,
获取感知损失函数值,所述感知损失函数值包括第二损失函数值和第三损失函数值中的至少一项,所述第二损失函数值指示所述第二语音样本和所述第一生成语音的音色之间的差异,所述第三损失函数值指示所述第一语音样本和所述第一生成语音的语音内容之间的差异;
通过所述感知损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
在一种可能的实现方式中,所述更新模块1103,用于在所述感知损失函数值包括第二损失函数值的情况下,
通过所述说话人编码器对所述第一生成语音进行编码处理,获得第三说话人表示,所述第三说话人表示是用于表征所述第一生成语音中的音色的特征;
获取所述第二说话人表示与所述第三说话人表示之间的说话人表示差值;
通过第二函数对所述说话人表示差值进行处理,获得所述第二损失函数值。
在一种可能的实现方式中,所述更新模块1103,用于在所述感知损失函数值包括第三损失函数值的情况下,
获取所述第一内容表示与所述第二内容表示之间的内容表示差值;
通过第三函数对所述内容表示差值进行处理,获得所述第三损失函数值。
在一种可能的实现方式中,所述更新模块1103,还用于,
获取语音样本对,以及所述语音样本对的标注信息,所述语音样本对包含第三语音样本和第四语音样本,所述标注信息用于指示所述第三语音样本和所述第四语音样本是否是同一个说话人的语音;
通过所述说话人编码器对所述第三语音样本进行编码处理,获得第四说话人表示,所述第四说话人表示是用于表征所述第三语音样本中的音色的特征;
通过所述说话人编码器对所述第四语音样本进行编码处理,获得第五说话人表示,所述第五说话人表示是用于表征所述第四语音样本中的音色的特征;
通过第四函数对所述第四说话人表示、所述第五说话人表示以及所述标注信息进行处理,获得第四损失函数值;
通过所述第四损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
在一种可能的实现方式中,在所述标注信息用于指示所述第三语音样本和所述第四语音样本是同一个说话人的语音的情况下,所述第四函数包括第一函数项和第二函数项,所述第一函数项用于计算所述第四说话人表示的停止梯度操作的操作结果与所述第五说话人表示之间的差值,所述第二函数项用于计算所述第五说话人表示的停止梯度操作的操作结果与所述第四说话人表示之间的差值。
在一种可能的实现方式中,所述第四函数用于按照标注信息,通过所述第四说话人表示和所述第五说话人表示之间的差值,计算得到所述第四损失函数值。
在一种可能的实现方式中,所述第二说话人包含两个或者两个以上的说话人,所述第三语音样本和所述第四语音样本各自的说话人,是所述两个或者两个以上的说话人中的同一个说话人,或者,所述第三语音样本和所述第四语音样本各自的说话人,是所述两个或者两个以上的说话人中的不同的说话人。
在一种可能的实现方式中,所述更新模块1103,还用于,
通过所述解码器对所述第一内容表示和所述第一说话人表示进行解码处理,获得第三生成语音;
获取所述第一语音样本和所述第三生成语音之间的第二语音差值;
通过第五函数对所述第二语音差值进行处理,获得第五损失函数值;
通过所述第五损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
综上所述,本申请实施例所示的方案,分别通过语音内容编码器和说话人编码器对不同说话人的第一语音样本和第二语音样本进行处理后,通过解码器进行解码得到第一生成语音,然后,再分别通过语音内容编码器和说话人编码器对第一生成语音和第一语音样本进行处理后,通过解码器进行解码得到第二生成语音,然后,通过第二生成语音与第一语音样本之间的差异进行模型的参数更新,在此过程中,通过不同说话人的两个语音样本进行处理,能够使得模型的推理过程和训练过程保持一致,从而提高语音处理模型的准确性。
需要说明的是:上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。
图12示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲:
服务器1200包括中央处理单元(Central Processing Unit,CPU)1201、包括随机存取存储器(Random Access Memory,RAM)1202和只读存储器(Read Only Memory,ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。服务器1200还包括用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1206。
大容量存储设备1206通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1206及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1206可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1206可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的图像处理方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的图像处理方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的图像处理方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种用于语音处理的模型训练方法,其特征在于,所述方法包括:
获取第一语音样本和第二语音样本,所述第一语音样本是第一说话人的语音,所述第二语音样本是第二说话人的语音,所述第一说话人不同于所述第二说话人;
将所述第一语音样本和所述第二语音样本输入语音处理模型进行处理,获得第二生成语音,所述第二生成语音由所述语音处理模型对第一生成语音中的语音内容的特征以及所述第一语音样本中的音色的特征进行提取并解码得到,所述第一生成语音由所述语音处理模型对所述第一语音样本中的语音内容的特征以及所述第二语音样本中的音色的特征进行提取并解码得到;
通过所述第一语音样本和所述第二生成语音之间的差异,对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练;
其中,在所述模型参数训练至收敛的情况下,所述语音处理模型用于从一个说话人的语音中提取语音内容的特征,从另一个说话人的语音中提取音色的特征,并对提取到的语音内容的特征和音色的特征解码得到新的语音。
2.根据权利要求1所述的方法,其特征在于,所述语音处理模型包括语音内容编码器、说话人编码器以及解码器;
所述将所述第一语音样本和所述第二语音样本输入语音处理模型进行处理,获得第二生成语音,包括:
通过所述语音内容编码器对所述第一语音样本进行编码,获得第一内容表示,所述第一内容表示是用于表征所述第一语音样本中的语音内容的特征;
通过所述说话人编码器对所述第一语音样本进行编码,获得第一说话人表示,所述第一说话人表示是用于表征所述第一语音样本中的音色的特征;
通过所述说话人编码器对所述第二语音样本进行编码,获得第二说话人表示,所述第二说话人表示是用于表征所述第二语音样本中的音色的特征;
通过所述解码器对所述第一内容表示和所述第二说话人表示进行解码处理,获得所述第一生成语音;
通过所述语音内容编码器对所述第一生成语音进行编码,获得第二内容表示;所述第二内容表示是用于表征所述第一生成语音中的语音内容的特征;
通过所述解码器对所述第二内容表示和所述第一说话人表示进行解码处理,获得所述第二生成语音。
3.根据权利要求1或2所述的方法,其特征在于,所述通过所述第一语音样本和所述第二生成语音之间的差异,对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练,包括:
获取所述第一语音样本和所述第二生成语音之间的第一语音差值;
通过第一函数对所述第一语音差值进行处理,获得第一损失函数值;
通过所述第一损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取感知损失函数值,所述感知损失函数值包括第二损失函数值和第三损失函数值中的至少一项,所述第二损失函数值指示所述第二语音样本和所述第一生成语音的音色之间的差异,所述第三损失函数值指示所述第一语音样本和所述第一生成语音的语音内容之间的差异;
通过所述感知损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
5.根据权利要求4所述的方法,其特征在于,在所述感知损失函数值包括第二损失函数值的情况下,所述获取感知损失函数值,包括:
通过所述说话人编码器对所述第一生成语音进行编码处理,获得第三说话人表示,所述第三说话人表示是用于表征所述第一生成语音中的音色的特征;
获取所述第二说话人表示与所述第三说话人表示之间的说话人表示差值;
通过第二函数对所述说话人表示差值进行处理,获得所述第二损失函数值。
6.根据权利要求4或5所述的方法,其特征在于,在所述感知损失函数值包括第三损失函数值的情况下,所述获取感知损失函数值,包括:
获取所述第一内容表示与所述第二内容表示之间的内容表示差值;
通过第三函数对所述内容表示差值进行处理,获得所述第三损失函数值。
7.根据权利要求2、4至6任一所述的方法,其特征在于,所述方法还包括:
获取语音样本对,以及所述语音样本对的标注信息,所述语音样本对包含第三语音样本和第四语音样本,所述标注信息用于指示所述第三语音样本和所述第四语音样本是否是同一个说话人的语音;
通过所述说话人编码器对所述第三语音样本进行编码处理,获得第四说话人表示,所述第四说话人表示是用于表征所述第三语音样本中的音色的特征;
通过所述说话人编码器对所述第四语音样本进行编码处理,获得第五说话人表示,所述第五说话人表示是用于表征所述第四语音样本中的音色的特征;
通过第四函数对所述第四说话人表示、所述第五说话人表示以及所述标注信息进行处理,获得第四损失函数值;
通过所述第四损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
8.根据权利要求7所述的方法,其特征在于,在所述标注信息用于指示所述第三语音样本和所述第四语音样本是同一个说话人的语音的情况下,所述第四函数包括第一函数项和第二函数项,所述第一函数项用于计算所述第四说话人表示的停止梯度操作的操作结果与所述第五说话人表示之间的差值,所述第二函数项用于计算所述第五说话人表示的停止梯度操作的操作结果与所述第四说话人表示之间的差值。
9.根据权利要求7所述的方法,其特征在于,所述第四函数用于按照标注信息,通过所述第四说话人表示和所述第五说话人表示之间的差值,计算得到所述第四损失函数值。
10.根据权利要求7所述的方法,其特征在于,所述第二说话人包含两个或者两个以上的说话人,所述第三语音样本和所述第四语音样本各自的说话人,是所述两个或者两个以上的说话人中的同一个说话人,或者,所述第三语音样本和所述第四语音样本各自的说话人,是所述两个或者两个以上的说话人中的不同的说话人。
11.根据权利要求2、4至6任一所述的方法,其特征在于,所述方法还包括:
通过所述解码器对所述第一内容表示和所述第一说话人表示进行解码处理,获得第三生成语音;
获取所述第一语音样本和所述第三生成语音之间的第二语音差值;
通过第五函数对所述第二语音差值进行处理,获得第五损失函数值;
通过所述第五损失函数值对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练。
12.一种用于语音处理的模型训练装置,其特征在于,所述装置包括:
样本获取模块,用于获取第一语音样本和第二语音样本,所述第一语音样本是第一说话人的语音,所述第二语音样本是第二说话人的语音,所述第一说话人不同于所述第二说话人;
模型处理模块,用于将所述第一语音样本和所述第二语音样本输入语音处理模型进行处理,获得第二生成语音,所述第二生成语音由所述语音处理模型对第一生成语音中的语音内容的特征以及所述第一语音样本中的音色的特征进行提取并解码得到,所述第一生成语音由所述语音处理模型对所述第一语音样本中的语音内容的特征以及所述第二语音样本中的音色的特征进行提取并解码得到;
更新模块,用于通过所述第一语音样本和所述第二生成语音之间的差异,对所述语音处理模型的模型参数进行更新,以对所述语音处理模型进行训练;
其中,在所述模型参数训练至收敛的情况下,所述语音处理模型用于将一个说话人的语音转换为具有相同语音内容的另一个说话人的语音。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至11任一所述的用于语音处理的模型训练方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至11任一所述的用于语音处理的模型训练方法。
15.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至11任一所述的用于语音处理的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311319480.3A CN117373463A (zh) | 2023-10-11 | 2023-10-11 | 用于语音处理的模型训练方法、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311319480.3A CN117373463A (zh) | 2023-10-11 | 2023-10-11 | 用于语音处理的模型训练方法、设备、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117373463A true CN117373463A (zh) | 2024-01-09 |
Family
ID=89394081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311319480.3A Pending CN117373463A (zh) | 2023-10-11 | 2023-10-11 | 用于语音处理的模型训练方法、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117373463A (zh) |
-
2023
- 2023-10-11 CN CN202311319480.3A patent/CN117373463A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110223705B (zh) | 语音转换方法、装置、设备及可读存储介质 | |
JP6876752B2 (ja) | 応答方法及び装置 | |
CN112071330B (zh) | 一种音频数据处理方法、设备以及计算机可读存储介质 | |
CN112767910B (zh) | 音频信息合成方法、装置、计算机可读介质及电子设备 | |
CN113035228B (zh) | 声学特征提取方法、装置、设备及存储介质 | |
CN112837669B (zh) | 语音合成方法、装置及服务器 | |
WO2022252904A1 (zh) | 基于人工智能的音频处理方法、装置、设备、存储介质及计算机程序产品 | |
CN112164407B (zh) | 音色转换方法及装置 | |
CN113409803B (zh) | 语音信号处理方法、装置、存储介质及设备 | |
CN112908293B (zh) | 一种基于语义注意力机制的多音字发音纠错方法及装置 | |
CN113316078B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114783459B (zh) | 一种语音分离方法、装置、电子设备和存储介质 | |
CN114329041A (zh) | 一种多媒体数据处理方法、装置以及可读存储介质 | |
WO2024109375A1 (zh) | 语音转换模型的训练方法、装置、设备及介质 | |
WO2024018429A1 (en) | Audio signal processing method, audio signal processing apparatus, computer device and storage medium | |
CN112185340A (zh) | 语音合成方法、语音合成装置、存储介质与电子设备 | |
CN116246328A (zh) | 面部数据生成方法、装置、计算机设备及存储介质 | |
CN113299270B (zh) | 语音合成系统的生成方法、装置、设备及存储介质 | |
CN116959417A (zh) | 对话回合的检测方法、装置、设备、介质、程序产品 | |
CN117373463A (zh) | 用于语音处理的模型训练方法、设备、介质及程序产品 | |
CN113889130A (zh) | 一种语音转换方法、装置、设备及介质 | |
Ma et al. | M3D-GAN: Multi-modal multi-domain translation with universal attention | |
CN118230720B (zh) | 一种基于ai的语音语义识别方法及tws耳机 | |
CN116959409A (zh) | 朗诵音频生成方法、装置、计算机设备和存储介质 | |
CN117316185A (zh) | 一种音视频的生成方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |