一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音合成方法、装置、介质、计算机设备和程序产品

2022-04-16 16:12:38 来源:中国专利 TAG:


1.本发明涉及语音处理技术领域,更具体地,涉及一种语音合成方法、装置、介质、计算机设备和程序产品。


背景技术:

2.随着人工智能技术的发展,语音合成(texttospeech,tts)技术越来越受到人们的重视,目前,研究工作主要集中于在少量训练数据(few-shot,少样本)甚至无训练数据(zero-shot,零样本)情况下的语音克隆技术。
3.然而,目前的零样本语音克隆方案只能从参考音频中提取一个定长向量,即语句级别的说话人表征,虽然能够较好地描述该参考音频中说话人的整体音色特征,但是缺少建模说话人一些独有的发音模式、口音习惯以及说话的顿挫节奏等细节的能力,导致合成语音与说话人的声音之间的细节相似度较低。


技术实现要素:

4.本技术提供了一种语音合成方法、装置、介质、计算机设备和程序产品,可以建模更加细粒度的说话人特征,从而提高合成语音与目标说话人声音的细节相似度。
5.一方面,提供了一种语音合成方法,
6.应用于语音合成模型,所述方法包括:
7.获取目标文本对应的音素序列以及目标说话人对应的参考音频;
8.根据所述音素序列提取音素中间特征;
9.根据所述音素中间特征以及所述参考音频确定细粒度说话人表征,所述细粒度说话人表征为针对所述目标说话人对应于所述音素中间特征的声音特征的细粒度描述;
10.根据所述音素中间特征和所述细粒度说话人表征合成目标语音。
11.另一方面,提供了一种语音合成装置,应用于语音合成模型,包括:
12.获取模块,用于获取目标文本对应的音素序列以及目标说话人对应的参考音频;
13.提取模块,用于根据所述音素序列提取音素中间特征;
14.确定模块,用于根据所述音素中间特征以及所述参考音频确定细粒度说话人表征,所述细粒度说话人表征为针对所述目标说话人对应于所述音素中间特征的声音特征的细粒度描述;
15.合成模块,用于根据所述音素中间特征和所述细粒度说话人表征合成目标语音。
16.另一方面,提供了一种计算机可读存储介质,包括指令,当所述指令在计算机设备上运行时,使得所述计算机设备执行如上述第一方面所述的方法。
17.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上述第一方面所述的语音合成方法中的步骤。
18.另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器
执行时实现上述第一方面所述的语音合成方法中的步骤。
19.本技术实施例提供了一种语音合成方法,应用于语音合成模型,通过获取目标文本对应的音素序列以及目标说话人对应的参考音频,并根据音素序列提取音素中间特征,之后根据音素中间特征以及参考音频确定细粒度说话人表征,从而建模了更加细粒度的说话人特征,能够充分挖掘目标说话人的声音信息,以提高合成语音与说话人声音的细节相似度。并且,针对任意目标说话人,仅需要一条参考音频,即可实时进行语音合成,大大降低了模型部署难度和使用复杂度。
附图说明
20.图1是本技术实施例提供的语音合成系统的结构示意图。
21.图2是本技术实施例提供的语音合成方法的流程示意图。
22.图3是本技术实施例提供的语音合成系统的另一结构示意图。
23.图4是本技术实施例提供的语音合成模型的结构示意图。
24.图5是本技术实施例提供的局部内容表征提取单元的结构示意图。
25.图6是本技术实施例提供的语音合成方法的另一流程示意图。
26.图7是本技术实施例提供的语音合成装置的示意性框图。
27.图8是本技术实施例提供的计算机设备的示意性框图。
具体实施方式
28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。针对本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.本技术实施例提供一种语音合成方法、装置、介质、计算机设备和程序产品。具体地,本技术实施例的语音合成方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。本技术实施例可应用于云技术、人工智能、智慧交通、语音技术、语音合成等各种场景。
30.首先,对本技术实施例进行描述的过程中出现的部分名词或者术语作如下解释:
31.人工智能(artificialintelligence,ai),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
32.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
33.智慧交通是在整个交通运输领域充分利用物联网、空间感知、云计算、移动互联网等新一代信息技术,综合运用交通科学、系统方法、人工智能、知识挖掘等理论与工具,以全
面感知、深度融合、主动服务、科学决策为目标,通过建设实时的动态信息服务体系,深度挖掘交通运输相关数据,形成问题分析模型,实现行业资源配置优化能力、公共决策能力、行业管理能力、公众服务能力的提升,推动交通运输更安全、更高效、更便捷、更经济、更环保、更舒适的运行和发展,带动交通运输相关产业转型、升级。
34.云技术(cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
35.区块链系统:可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议,在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
36.语音技术(speechtechnology)的关键技术有自动语音识别技术(asr)和语音合成技术(tts)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
37.语音合成技术(text-to-speech,tts),已经广泛地应用到了语音助手、智能导航、电子书等产品中。随着近些年来深度学习技术的突破,tts已由传统的波形拼接式合成、统计参数式合成发展到基于各类神经网络的序列到序列合成模型,合成语音的可懂度、流畅度、自然度也有了大幅提升。
38.目前基于神经网络的tts模型的基本架构是编码器-解码器结构,编码器负责将音素序列转换成音素中间特征,解码器负责将音素中间特征转换成声学特征,进而交由声码器合成波形。
39.序列到序列模型,输入和输出均为(变长)特征序列的神经网络模型。
40.自然语言处理(naturelanguageprocessing,nlp),是计算机科学领域与人工智能领域中的一个重要方向,包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
41.梅尔谱(melspectrogram),即梅尔频谱,是通过对声学信号进行傅立叶变换以后,再经过梅尔尺度进行变换得到的频谱。声谱图往往是很大的一张图,为了得到合适大小的声音特征,可将把声谱图通过梅尔尺度滤波器组之后变换为梅尔频谱。
42.音素(phone),是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音与辅音两大类。如汉语音节“啊(
ā
)”只有一个音素,“爱(
à
i)”有两个音素,“代(d
à
i)”有三个音素。
43.注意力机制(attentionmechanism),序列到序列神经网络模型中引入的一种特征序列处理方法,通过预测特征序列中每一个特征的注意力权重(概率值),进而基于此得到
加权结果作为处理后的输出特征。
44.交叉熵(crossentropy,ce),是衡量预测分布与真实分布之间的差距的。在本技术中包括语音识别模型预测的音素分布与真实音素分布之间的误差,以及,对象识别模型预测的身份向量与真实身份向量之间的误差。
45.损失函数(loss),在机器学习中是指模型训练要最小化的目标。
46.池化(pooling),是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。
47.目前,tts系统在具有高质量训练数据(指一个说话人在高标准录音环境下录制十几个小时语音)的情况下,均已能够合成接近人声的自然语音。但在实际的使用场景中,个性化语音定制的需求往往很多,而收集目标说话人的语音数据通常代价昂贵且耗时费力。若没有充足的训练数据时,一般方法训练得到的tts系统合成出的语音质量并不理想,因此,无法满足实际应用需求。因此,少量训练数据(few-shot,少样本)甚至无训练数据(zero-shot,零样本)情况下的语音克隆技术得到广泛关注。当前语音克隆方案主要分为两类:一是对多说话人预训练tts模型进行目标说话人自适应的参数微调,从而使tts预训练模型特化到目标说话人的声音上;二是设计训练一个表征能力强大的说话人编码器用于从参考音频中提取说话人音色特征,进而指导tts模型合成语音。然而,对每个目标说话人都额外训练和微调参数,既占用资源空间且无法进行实时语音克隆,并且,很难仅靠一两条音频对tts模型复杂的结构参数做微调。
48.零样本语音克隆方案,是指对于任意目标说话人,在没有该说话人的训练语料下,用一个训练好的tts系统能够合成出该说话人对应的声音,该声音信息一般由参考音频提供。目前的零样本语音克隆方案通常是设计训练一个表征能力强大的说话人编码器用于从参考音频中提取音色特征,然后采用向量拼接或叠加等方式将说话人信息融合到音素中间特征上,指导tts声学解码器合成语音。
49.自动说话人验证(automaticspeakerverification,asv)又称为声纹识别,是指根据提供音频确认说话人身份,任务目标即是区分不同说话人的音色特点。
50.具体地,借鉴迁移学习的思路,可以采用说话人验证系统中经典的x-vector作为说话人表征,指导tts模型建模说话人的音色,从而实现对任意目标说话人进行音色提取和语音克隆。但由于x-vector不是为tts系统专门设计的说话人表征,导致合成语音与目标说话人间的音色相似度往往不高。因此,在上文的基础上,使用了说话人验证系统中效果更好的基于可学习字典编码(learnabledictionaryencoding,lde)的说话人表征,改进了tts中说话人表征对音色的建模能力,进一步提升了零样本情况下合成语音的相似度。但由于上述asv系统和tts系统是各自独立训练的,之间总会存在不匹配现象。为消除两个系统分开训练导致的不匹配问题,将说话人编码器和tts系统联合训练,设计了一种基于全局说话人表征(globalspeakerembedding,gse)的特征聚类方法,采用无监督方式与tts系统一起训练,实现了对说话人整体音色风格较好的建模,结合变分自编码器(variationalautoencoder,vae)技术,利用kl散度对说话人空间进行分布上的约束和表征,进一步提升了零样本语音克隆的鲁棒性。
51.然而,目前的说话人编码器(包括asv系统)从参考音频中提取的均是一个定长向量,也就是语句级别的说话人表征。这种全局表征能够较好地描述该参考音频里说话人的
整体音色信息,但显然提供的信息有限,缺少建模目标说话人声音中丰富多变的细粒度特征的能力,比如某人一些独有的发音模式、口音习惯或者说话顿挫节奏等,导致合成语音在更加细节化的声音特点上和目标说话人相似度较差,从而影响克隆体验。并且,从大规模预训练的说话人验证系统等先验知识中迁移得到的说话人表征尽管泛化性更强,但还是会存在不适配于tts模型的问题。若仅将一个固定的说话人表征向量作为tts声学解码器的输入而不考虑音素中间特征的差异,对声学解码器而言建模压力太大,导致某些参考音频的说话人音色不能很好被克隆。
52.因此,本技术实施例提供一种语音合成方法、装置、存储介质、机器人和控制设备,涉及人工智能的语音技术、自然语言处理和机器学习等技术,可以对任意目标说话人仅利用其一条语音数据,即可较好地迁移该说话人的整体音色及更加细节的发音特点,实现相似度更高的目标说话人实时语音克隆。
53.其中,本技术实施例可结合云技术或区块链网络技术实现。如本技术实施例所公开的语音合成方法,其中这些数据可保存于区块链上。
54.例如,目标文本对应的音素序列、目标说话人对应的参考音频、音素中间特征、细粒度说话人表征以及目标语音,均可保存于区块链上。为了便于实现对目标文本对应的音素序列、目标说话人对应的参考音频、音素中间特征、细粒度说话人表征以及目标语音的存储和查询,可选的,该语音合成方法还包括:将目标文本对应的音素序列、目标说话人对应的参考音频、音素中间特征、细粒度说话人表征以及目标语音发送至区块链网络中,以使区块链网络的节点将目标文本对应的音素序列、目标说话人对应的参考音频、音素中间特征、细粒度说话人表征以及目标语音填充至新区块,且当对新区块取得共识一致时,将新区块追加至区块链的尾部。本技术实施例可以将目标文本对应的音素序列、目标说话人对应的参考音频、音素中间特征、细粒度说话人表征以及目标语音上链存储,实现记录的备份,当需要进行语音合成时,可直接、快速地从区块链上获取相应的目标文本对应的音素序列、目标说话人对应的参考音频、音素中间特征、细粒度说话人表征以及目标语音,而无需通过语音合成系统进行一系列处理后,才能够获得目标语音,从而提高数据处理以及数据获取的效率。
55.请参考图1,图1为本技术实施例提供的语音合成系统的结构示意图。该语音合成系统包括终端100和服务器200等;终端100和服务器200之间通过网络连接,比如,通过有线或无线网络连接等。该终端100可以为智能手机、平板电脑、笔记本电脑、智能电视、智能音箱、穿戴式智能设备、智能车载终端等设备,终端100还可以包括客户端,该客户端可以是应用程序客户端、浏览器客户端或即时通信客户端等。服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
56.其中,终端100,可以用于显示图形用户界面。其中,该终端用于通过图形用户界面与用户进行交互,例如通过终端下载安装相应的客户端并运行,例如通过调用相应的小程序并运行,例如通过登录网站呈现相应的图形用户界面等。在本技术实施例中,该终端100可以为用户用于上传目标文本和目标说话人的参考音频的终端设备。其中,在进行语音合
成时,通过用户所使用的终端设备上传目标文本和目标说话人的参考音频,并将该目标文本和目标说话人的参考音频发送至服务器200进行语音合成。服务器200会将对合成的目标语音发送至终端100。
57.其中,在本技术实施例中,在进行语音合成时,服务器200可以具体用于:获取目标文本对应的音素序列以及目标说话人对应的参考音频;根据音素序列提取音素中间特征;根据音素中间特征以及参考音频确定细粒度说话人表征,细粒度说话人表征为针对目标说话人对应于音素中间特征的声音特征的细粒度描述;根据音素中间特征和细粒度说话人表征合成目标语音;将目标语音发送给终端100。
58.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
59.本技术各实施例提供了一种语音合成方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本技术实施例以语音合成方法由服务器执行为例来进行说明。
60.请参阅图2,图2示出了本技术实施例所描述的语音合成方法的流程示意图,该语音合成方法应用于语音合成模型,该语音合成模型可以部署于计算机设备,计算机设备可以是服务器,也可以是终端,该方法主要包括步骤101至步骤104,说明如下:
61.步骤101,获取目标文本对应的音素序列以及目标说话人对应的参考音频。
62.其中,目标文本内容为用来合成目标语音的文本,比如,可以为一段文字、一篇文章、一行短句等等。目标说话人即目标语音期望迁移音色及发音特点的说话人。其中,参考音频的发音内容与目标文本的内容可以一致,也可以不一致。譬如,语音合成技术广泛应用于语音交互行业,比如,个性化语音合成、故事音色定制、游戏npc音色定制等多种应用场景中。以车辆导航系统为例,很多用户希望可以定制导航系统的语音播报声音,此时,用户可以提供一段音频给导航系统,导航系统可以根据本技术实施例提供的语音合成方法合成目标语音。其中,上述用户提供的一段音频即参考音频,导航系统内的播报文本即目标文本。
63.请参阅图3,本技术实施例提供了一种语音合成系统。其中,作为用户输入,用户可以提供目标文本和参考音频给语音合成系统。然后,语音合成系统的前端汉字转音素模块(graphme-to-phoneme,g2p)可以将该目标文本处理成音素序列。具体可以采用汉语拼音的声母和带声调韵母以及一些停顿标记等来表示音素序列,比如“语音合成”通过前端汉字转音素模块可以转换成“{y,v3,y,in1,h,e2,ch,eng2,《sp》}”。然后,将目标文本对应的音素序列输入语音合成模型的文本编码器。
64.步骤102,根据音素序列提取音素中间特征。
65.具体地,中文音素序列经过语音合成模型的文本编码器被表示成音素中间特征序列,该音素中间特征为音素级的语言学特征。
66.容易理解的是,每个音素序列包含多个音素,因此,音素中间特征的数量也为多个。
67.步骤103,根据音素中间特征以及参考音频确定细粒度说话人表征,细粒度说话人表征为针对目标说话人对应于音素中间特征的声音特征的细粒度描述。
68.具体地,通过确定每个音素中间特征对应的细粒度说话人表征,之后,在语音合成时,将每个音素中间特征与对应的细粒度说话人表征相融合,可以较好地迁移该说话人的
整体音色及更加细节的发音特点。
69.如图4所示,该语音合成模型在tts模型的基础上,扩展出细粒度说话人表征提取模块,细粒度说话人表征提取模块包括局部内容表征提取单元,局部说话人表征提取单元,以及用于计算参考音频和合成文本内容相关性、指导细粒度说话人表征获取的参考注意力单元。
70.在本实施例中,步骤103主要可以包括:根据参考音频的梅尔谱声学特征,确定参考音频对应的帧级声学特征;根据帧级声学特征确定局部内容表征;根据帧级声学特征确定局部说话人表征;根据音素中间特征、局部内容表征以及局部说话人表征,确定细粒度说话人表征。
71.为了建模和迁移参考音频中内容相关的细粒度说话人表征,本技术实施例首先从参考音频中提取一一对应的局部内容表征和局部说话人表征,其中局部内容表征为针对目标说话人的参考音频中的发音内容的描述,局部说话人表征是目标说话人对应于发音内容的声音特征描述。
72.具体地,如图4所示,细粒度说话人表征提取模块包括帧级特征提取单元,该帧级特征提取单元包括两层一维卷积神经网络,其中,每层卷积网络具有512个卷积核,卷积核尺寸为5
×
1,卷积步长为1。通过将参考音频的梅尔谱声学特征输入帧级特征提取单元,经过两层一维卷积神经网络,可以输出同样帧长的512维声学特征序列。
73.在本实施例中,语音合成模型包括发音内容编码器和下采样子单元,步骤“根据帧级声学特征确定局部内容表征”主要可以包括:使用发音内容编码器对帧级声学特征进行编码,以得到帧级内容编码;将帧级内容编码输入下采样子单元,以得到局部内容表征,下采样子单元用于降低帧级内容编码的整体时间分辨率。
74.具体地,请参阅图5,局部内容表征提取单元可以包括发音内容编码器和下采样子单元。发音内容编码器即发音内容识别器,包括四个前馈transformerblock结构,通过将帧级声学特征输入该发音内容编码器,可以得到对应的帧级内容编码。下采样子单元主要包括四层一维卷积神经网络,该一维卷积神经网络包括卷积层、平均池化层,下采样子单元还包括1层256维全连接输出层。其中,四层一维卷积神经网络分别具有128、256、256、512个卷积核,卷积核尺寸都为3
×
1,每层后接一个池化核大小为2的平均池化层。也就是说,经过四层池化后整体时间分辨率将下降16倍,可以看作声学特征从帧级别降到准音素级别,得到近似音素级别粒度的局部内容表征。容易理解的是,所有卷积层后都接relu激活函数和批标准化(batchnormalization)处理,全连接输出层后接tanh激活函数,以对输出进行激活。
75.容易理解的是,本技术对局部内容表征提取单元的结构不做限定,该局部内容表征提取单元也可以通过其他结构的神经网络实现,比如预训练好的自动语音识别(automaticspeechrecognition,asr)模型或音素后验概率分布图(phoneticposteriorgram,ppg)模型。
76.在本实施例中,该语音合成模型还包括局部说话人特征提取单元,步骤“根据帧级声学特征确定局部说话人特征”主要可以包括:将帧级声学特征输入局部说话人特征提取单元,并获取局部说话人特征提取单元的输出结果,以得到局部说话人表征,局部说话人特征提取单元用于降低帧级声学特征的整体时间分辨率。
77.具体地,局部说话人特征提取单元的结构与上述下采样子单元的结构一致,帧级
声学特征经过局部说话人特征提取单元,时间分辨率下降16倍,得到一组近似音素级别的局部说话人表征。
78.容易理解的是,由于局部内容表征提取单元和局部说话人表征提取单元的下采样子单元的结构是一致的,所以局部内容表征和局部说话人表征从参考音频角度上看是一一对应。可以看作,每个局部说话人表征是对应到特定发音内容的目标说话人的声音特征,从而可以看作是对说话人更加细节发音习惯的描述,比如某个音素的发音习惯的描述。
79.在一些实施例中,步骤“根据音素中间特征、局部内容表征以及局部说话人表征确定细粒度说话人表征”主要可以包括:计算目标音素中间特征与每个局部内容表征之间的相关性,目标音素中间特征为音素中间特征中的任意一个;根据相关性确定目标音素中间特征对应的细粒度说话人表征。
80.如图5所示,局部内容表征提取单元提取局部内容表征以及局部说话人表征提取单元提取局部说话人表征后,局部内容表征、局部说话人表征以及音素中间特征输入参考注意力单元,该参考注意力单元可以采用注意力网络实现。
81.容易理解的是,目标说话人对应的参考音频和待合成的目标文本在音素的排列组合上可能不一致,不可以按照简单的时序关系去融合特征,因此,可以引入基于内容相关性的注意力网络,为每个音素中间特征获取最准确、合适的细粒度说话人表征。
82.需要理解的是,注意力网络是一类经典的深度学习算法,它包括查询(query)、键(key)和值(value)三种参数。
83.在本实施例中,可以将每个音素中间特征作为注意力网络的查询参数,将局部内容表征作为键。通过计算查询参数和键之间的内容相关性,并根据该内容相关性来指导局部说话人表征的选取,这也就是说,将局部说话人表征作为注意力网络的值。
84.具体地,参考音频的发音内容不一定总是能覆盖目标文本中的所有音素。这种情况下,可以根据计算出的注意力权重确定对应局部内容相对更接近的说话人表征。譬如,针对指定某个音素中间特征,通过计算该音素中间特征与每个局部内容表征的相似性或相关性,得到每个局部内容表征的权重系数,然后根据该权重系数对局部说话人表征进行加权求和,以得到最终的细粒度说话人表征。
85.其中,可以引入不同的函数和计算机制来计算音素中间特征与局部内容表征的相似性或相关性,比如,求二者的向量点积、求二者的余弦相似性或者引入神经网络,比如mlp(multi-layerperceptron,多层感知机),求值。
86.在本实施例中若以e
p
、e
lc
、e
ls
、e
fgs
分别表示音素中间特征、局部内容表征、局部说话人表征和细粒度说话人表征,以w表示线性投影矩阵,则注意力网络的参数,查询(query)、键(key)和值(value)可以分别由e
p
、e
lc
、e
ls
线性变换得到,可以表示为:q=e
p
wq,k=e
lc
wk,v=e
ls
wv。
87.具体地,得到该注意力网络的参数后,首先,确定查询参数与键的相似度。比如,可以通过将q与k
t
相乘,得到相似度矩阵。之后,采用相似度矩阵除以dq表示查询q的向量维度,再进行softmax(归一化)。经过softmax的归一化后,每个值是一个大于0小于1的权重系数,且总和为1,可以理解成一个权重矩阵。接着,使用权重矩阵与v相乘,计算加权求和,得到细粒度说话人表征:
[0088][0089]
具体地,注意力网络将输出和音素中间特征序列等长的细粒度说话人表征序列。
[0090]
步骤104,根据音素中间特征和细粒度说话人表征合成目标语音。
[0091]
其中,目标语音中的语音文本内容与目标文本一致,目标语音中的声学特征与参考音频的细粒度说话人表征相似。
[0092]
具体地,音素中间特征会与对应的细粒度说话人表征融合,比如,以常用语音合成模型fastspeech2为例,采用向量相加的方式融合音素中间特征和细粒度说话人特征,再传递给声学解码器用于预测声学特征及之后音频波形的合成。
[0093]
在本实施例中,该方法还可以包括:根据预设文本以及预设参考音频对语音合成模型进行训练。
[0094]
具体地,在对语音合成模型的训练过程中发现,若参考音频的发音内容与预设文本内容完全一致,很容易导致注意力网络错误学习到参考音频和输入文本间简单的时序对齐而非实际发音内容上的对应,进而影响到该语音合成系统的推断过程。由于在实际使用中,输入的目标文本内容和参考音频中的发音内容可能不一致,若直接根据时序对齐从参考音频中获取的细粒度说话人表征序列,将不适用于目标文本,之后再进行特征融合传给声学解码器,会使得合成语音在韵律上变得不自然、甚至内容上出现可懂度问题,比如语音混杂了参考音频的发音内容的问题。
[0095]
因此,在训练过程中,为了让注意力网络更关注发音内容上的对应关系,本技术实施例在语音合成模型的训练阶段首先可以对参考音频进行预处理,比如,将参考音频分割为多个音频片段,并打乱顺序拼接音频片段,以避免参考音频的发音内容与预设文本内容一致,导致注意力网络错误学习到预设文本内容与参考音频的发音内容件的简单时序对应关系。
[0096]
在本实施例中,步骤“根据预设文本以及预设参考音频对语音合成模型进行训练”可以包括:对预设参考音频的梅尔谱声学特征序列进行帧级别的音素标注;并根据音素边界将梅尔谱声学特征序列分割为多个音素片段;将多个音素片段的顺序打乱,并按照打乱后的顺序拼接多个音素片段,以得到全新梅尔谱特征序列;将预设文本的音素序列以及全新梅尔谱特征序列输入语音合成模型对语音合成模型进行训练。
[0097]
具体地,首先,可以用强制对齐工具(forcedalignment)对预设参考音频的梅尔谱声学特征序列进行帧级别的音素标注,并按照音素内容边界切分成若干片段,每个片段对应一个音素。然后,可以随机打乱这些音素片段,对打乱后的音素片段进行重组后拼接,得到全新梅尔谱声学特征序列。
[0098]
具体地,该方法还可以包括:记录多个音素片段打乱后的顺序。
[0099]
此外,在此过程中会记录下音素片段打乱的顺序,以便训练时局部内容表征提取单元能获得正确的音素标签,并用来计算损失函数。
[0100]
预处理后,全新梅尔谱声学特征序列对应的音频的发音内容和预设文本内容的时序一致性被消除,由于最小切分单元是音素级别的片段,因此,又保留了预设参考音频中的说话人特点、发音内容信息。如此,可以让注意力网络在训练时更加关注发音内容的对应,从而建模合适的细粒度说话人表征,从而显著提高合成语音与目标说话人声音之间的细节
相似度。
[0101]
在一些实施例中,发音内容编码器的输出端连接有音素分类器,步骤“将预设文本的音素序列以及全新梅尔谱特征序列输入语音合成模型对语音合成模型进行训练”,具体可以包括:音素分类器根据训练过程中得到的帧级内容编码预测帧级音素标签;根据帧级音素标签以及预设参考音频的真实音素标签计算损失函数值;根据损失函数值对语音合成模型的参数进行优化。
[0102]
具体地,如图3所示,发音内容编码器的输出端连接有音素分类器。为限制发音内容编码器编码的是内容信息,本技术实施例可以在它的输出端连接一个音素分类器,通过预测出相应的帧级音素标签,然后根据预测出的帧级音素标签与预设参考音频的真实音素标签计算损失函数值,并在整个模型训练的优化目标中加上该损失函数,以限制发音内容编码器。
[0103]
具体地,该损失函数可以为交叉熵损失函数,其中,p(x)为真实音素标签,q(x)为预测音素标签,log可以为表示以e为底的自然对数:
[0104]
ce
loss
=-∑
x
p(x)logq(x)。
[0105]
此外,步骤“将预设文本的音素序列以及全新梅尔谱特征序列输入语音合成模型对语音合成模型进行训练”还可以包括:根据训练过程中得到的合成语音的梅尔谱特征序列以及预设参考音频的梅尔谱特征序列,计算重建损失函数值;根据该重建损失函数值以及上述损失函数值对语音合成模型的参数进行优化。
[0106]
具体地,步骤“根据该重建损失函数值以及上述损失函数值对语音合成模型的参数进行优化”可以包括:将重建损失函数值以及损失函数值相加,以得到综合损失函数值;以最小化该综合损失函数值作为训练目标来优化该语音合成模型的参数。经过多次迭代后,可以得到性能较好的语音合成模型。
[0107]
由上述可知,该语音合成模型首先获取需要合成的目标文本对应的音素序列,以及目标说话人对应的参考音频作为声音指导,然后,通过文本编码器将音素序列表示成音素级的语言学特征,同时内容表征提取单元和说话人表征提取单元分别负责从参考音频中提取一一对应的局部内容表征和局部说话人表征。接下来,基于注意力机制,根据文本编码器输出的音素中间特征和从参考音频中提取的局部内容表征的内容相关性,计算出每个音素中间特征所对应最合适的细粒度说话人表征。最后,将每个音素中间特征与其对应的说话人表征向量融合,解码器预测声学特征序列,进一步交由声码器用于音频波形的合成,得到目标说话人声音特点的语音。相比语句级别的定长说话人向量,该语音合成模型可以建模更加细粒度的说话人特征,能够充分挖掘参考音频中的说话人的声音信息,使得合成语音在更加细节的发音习惯、说话方式上与目标说话人接近。并且,在建模细粒度说话人特征时,考虑到了人在说不同发音内容时自然存在的差异性,会根据发音内容的相关性从参考音频中获取每个音素中间特征所对应最合适的细粒度说话人表征,而不是简单地按照时序关系去融合特征,因此,具有更好的适配性。同时,不需要再针对目标说话人进行额外的模型参数微调,便可以实时进行语音克隆,大大降低了模型部署难度和使用复杂度。
[0108]
为了更好的说明本技术实施例提供的语音合成方法,请参阅图6,该实施例提供的语音合成方法应用于语音合成模型,可总结归纳为下述步骤:
[0109]
步骤201,获取目标文本对应的音素序列以及目标说话人对应的参考音频。
[0110]
步骤202,根据音素序列提取音素中间特征。
[0111]
步骤203,根据参考音频的梅尔谱声学特征,确定参考音频对应的帧级声学特征。
[0112]
步骤204,根据帧级声学特征确定局部内容表征。
[0113]
步骤205,根据帧级声学特征确定局部说话人表征。
[0114]
步骤206,根据音素中间特征、局部内容表征以及局部说话人表征,确定细粒度说话人表征。
[0115]
步骤207,根据音素中间特征和细粒度说话人表征合成目标语音。
[0116]
上述所有的技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0117]
本技术实施例通过获取目标文本对应的音素序列以及目标说话人对应的参考音频,接着,根据音素序列提取音素中间特征,并根据音素中间特征以及参考音频确定细粒度说话人表征,细粒度说话人表征为针对目标说话人对应于音素中间特征的声音特征的细粒度描述,然后,根据音素中间特征和细粒度说话人表征合成目标语音,从而实现建模更加细粒度的说话人特征,能够充分挖掘目标说话人的声音信息,以提高合成语音与说话人声音的细节相似度。并且,针对任意目标说话人,仅需要一条参考音频,即可实时进行语音合成,大大降低了模型部署难度和使用复杂度。
[0118]
上文详细描述了本技术的方法实施例,下文结合图7,详细描述本技术的装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
[0119]
图7是根据本技术实施例的一种语音合成装置400的示意性结构图,如图7所示,该语音合成装置20可以包括:
[0120]
获取模块21,用于获取目标文本对应的音素序列以及目标说话人对应的参考音频;
[0121]
提取模块22,用于根据音素序列提取音素中间特征;
[0122]
确定模块23,用于根据音素中间特征以及参考音频确定细粒度说话人表征,细粒度说话人表征为针对目标说话人对应于音素中间特征的声音特征的细粒度描述;
[0123]
合成模块24,用于根据音素中间特征和细粒度说话人表征合成目标语音。
[0124]
可选的,确定模块23,可以用于:根据参考音频的梅尔谱声学特征,确定参考音频对应的帧级声学特征;根据帧级声学特征确定局部内容表征;根据帧级声学特征确定局部说话人表征;根据音素中间特征、局部内容表征以及局部说话人表征,确定细粒度说话人表征。
[0125]
可选的,语音合成模型包括发音内容编码器和下采样子单元,确定模块23,可以用于:使用发音内容编码器对帧级声学特征进行编码,以得到帧级内容编码;将帧级内容编码输入下采样子单元,以得到局部内容表征,下采样子单元用于降低帧级内容编码的整体时间分辨率。
[0126]
可选的,语音合成模型包括局部说话人特征提取单元,确定模块23,可以用于:将帧级声学特征输入局部说话人特征提取单元,并获取局部说话人特征提取单元的输出结果,以得到局部说话人表征,局部说话人特征提取单元用于降低帧级声学特征的整体时间分辨率。
[0127]
可选的,确定模块23,可以用于:计算目标音素中间特征与每个局部内容表征之间
的相关性,目标音素中间特征为音素中间特征中的任意一个;根据相关性确定目标音素中间特征对应的细粒度说话人表征。
[0128]
可选的,语音合成装置20还可以包括训练模块,用于:根据预设文本以及预设参考音频对语音合成模型进行训练。
[0129]
可选的,训练模块,可以用于:对预设参考音频的梅尔谱声学特征序列进行帧级别的音素标注;并根据音素边界将梅尔谱声学特征序列分割为多个音素片段;将多个音素片段的顺序打乱,并按照打乱后的顺序拼接多个音素片段,以得到全新梅尔谱特征序列;将预设文本的音素序列以及全新梅尔谱特征序列输入语音合成模型对语音合成模型进行训练。
[0130]
可选的,训练模块,还可以用于:记录多个音素片段打乱后的顺序。
[0131]
可选的,发音内容编码器的输出端连接有音素分类器,训练模块,还可以用于:音素分类器根据训练过程中得到的帧级内容编码预测帧级音素标签;根据帧级音素标签以及预设参考音频的真实音素标签计算损失函数值;根据所述损失函数值对所述语音合成模型的参数进行优化。
[0132]
需要说明的是,本技术实施例中的语音合成装置20中各模块的功能可对应参考上述各方法实施例中的具体实现方式,这里不再赘述。
[0133]
上述语音合成装置20中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各个模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个模块对应的操作。
[0134]
本技术实施例提供的语音合成装置20,通过获取模块21获取目标文本对应的音素序列以及目标说话人对应的参考音频,之后提取模块22根据音素序列提取音素中间特征,接着确定模块23根据音素中间特征以及参考音频确定细粒度说话人表征,细粒度说话人表征为针对目标说话人对应于音素中间特征的声音特征的细粒度描述,然后合成模块24根据音素中间特征和细粒度说话人表征合成目标语音,建模了更加细粒度的说话人特征,能够充分挖掘目标说话人的声音信息,以提高合成语音与说话人声音的细节相似度。并且,针对任意目标说话人,仅需要一条参考音频,即可实时进行语音合成,大大降低了模型部署难度和使用复杂度。
[0135]
在一些实施例中,本技术还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0136]
图8为本技术实施例提供的计算机设备的示意性结构图,该计算机设备可以是图1所示的终端或服务器。如图8所示,计算机设备30可以包括:通信接口31,存储器32,处理器33和通信总线34。通信接口31,存储器32,处理器33通过通信总线34实现相互间的通信。通信接口31用于计算机设备30与外部设备进行数据通信。存储器32可用于存储软件程序以及模块,处理器33通过运行存储在存储器32的软件程序以及模块,例如前述方法实施例中的相应操作的软件程序。
[0137]
在一些实施例中,该处理器33可以调用存储在存储器32的软件程序以及模块执行如下操作:
[0138]
获取目标文本对应的音素序列以及目标说话人对应的参考音频;根据音素序列提取音素中间特征;根据音素中间特征以及参考音频确定细粒度说话人表征,细粒度说话人
表征为针对目标说话人对应于音素中间特征的声音特征的细粒度描述;根据音素中间特征和细粒度说话人表征合成目标语音。
[0139]
本技术实施例还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于计算机设备,并且该计算机程序使得计算机设备执行本技术实施例中的视频预览方法中的相应流程,为了简洁,在此不再赘述。
[0140]
本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本技术实施例中的视频预览方法中的相应流程,为了简洁,在此不再赘述。
[0141]
本技术实施例还提供了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本技术实施例中的视频预览方法中的相应流程,为了简洁,在此不再赘述。
[0142]
应理解,本技术实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0143]
可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0144]
应理解,上述存储器为示例性但不是限制性说明,例如,本技术实施例中的存储器还可以是静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,
dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)以及直接内存总线随机存取存储器(directrambusram,drram)等等。也就是说,本技术实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0145]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0146]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0147]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0148]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0149]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0150]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0151]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献