技术领域
[0001] 本申请涉及语音信号处理技术领域,尤其涉及一种显示设备及语音转换方法。
相关背景技术
[0002] 智能电视等显示设备不仅可以输出视频、音频等媒资,还可以唱歌、玩游戏或进行直播等,以提升显示设备的娱乐性和使用率。例如,显示设备中可以安装有录歌软件或者娱乐软件,通过这些软件,用户可以模仿某个人的声音,如模仿某个人唱歌、说话等,同时,在需要保护个人隐私的情况下,还可以将用户的语音转换为目标类型的语音,也就是说,通过显示设备可以实现语音转换功能。
[0003] 语音转换是一种用目标语音来替换源语音、但是保持语音内容不变的一种转换方式。语音转换的实质是改变一段语音中的语音的声音,例如,某一段源语音的语音特色是温柔的,想要在语音内容不变的情况下,将该段语音转换为严厉的声音,语音转换的目的在于,在保持语音内容不变的前提下,将源声音转换为目标语音。
[0004] 为了实现语音转换功能,在一些实施例中,可以通过现有的将任意语音转换到其他任意语音的转换方法。但是,该方式中对语音的训练和推理的要求较高,导致语音转换的复杂度较高。
具体实施方式
[0066] 为使本申请一些实施例的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请一些实施例技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
[0067] 需要说明的是,本申请一些实施例中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请一些实施例的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
[0068] 本申请一些实施例中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
[0069] 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
[0070] 术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
[0071] 图1为本申请一些实施例提供的终端设备与控制设备之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制设备100操作终端设备200。
[0072] 在一些实施例中,控制设备100可以是遥控器,遥控器和终端设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线方式或其他有线方式来控制终端设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制终端设备200。
[0073] 在一些实施例中,移动终端300可与终端设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。也可以将移动终端300上显示音视频内容传输到终端设备200上,实现同步显示功能。
[0074] 如图1中还示出,终端设备200还与服务器400通过多种通信方式进行数据通信。可允许终端设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。
[0075] 终端设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。图2为本申请一些实施例提供的终端设备的硬件配置框图。
[0076] 在一些实施例中,终端设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
[0077] 在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。
[0078] 在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
[0079] 在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。
[0080] 在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制终端设备的工作和响应用户的操作。控制器250控制终端设备200的整体操作。
[0081] 在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。
[0082] 在一些实施例中,用户接口280,为可用于接收控制输入的接口。
[0083] 图3为本申请一些实施例提供的控制设备的硬件配置框图。如图3所示,控制设备100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
[0084] 控制设备100被配置为控制终端设备200,以及可接收用户的输入操作指令,且将操作指令转换为终端设备200可识别和响应的指令,起到用户与终端设备200之间交互中介作用。
[0085] 在一些实施例中,控制设备100可是一种智能设备。如:控制设备100可根据用户需求安装控制终端设备200的各种应用。
[0086] 在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控终端设备200的应用之后,可以起到控制设备100类似功能。
[0087] 控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器110用于控制控制设备100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
[0088] 通信接口130在控制器110的控制下,实现与终端设备200之间控制信号和数据信号的通信。通信接口130可包括WiFi芯片131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
[0089] 用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。
[0090] 在一些实施例中,控制设备100包括通信接口130和输入输出接口140中至少一者。控制设备100中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至终端设备200。
[0091] 存储器190,用于在控制器的控制下存储驱动和控制控制设备100的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
[0092] 供电电源180,用于在控制器的控制下为控制设备100各元件提供运行电力支持。
[0093] 图4为本申请一些实施例提供的终端设备中软件配置示意图,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”)、应用程序框架(Application Framework)层(简称“框架层”)、安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
[0094] 在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序。
[0095] 框架层为应用程序层的应用程序提供应用编程接口(Aplication Pogramming Iterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。
[0096] 如图4所示,本申请实施例中应用程序框架层包括管理器(Managers)、内容提供者(Content Provider)和视图系统(View System)等。
[0097] 在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能。
[0098] 在一些实施例中,窗口管理器用于管理所有的窗口程序。
[0099] 在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被访问时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
[0100] 在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
[0101] 在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
[0102] 在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
[0103] 基于上述显示设备200,不仅可以输出视频、音频等媒资,还可以唱歌、玩游戏或进行直播等,以提升显示设备200的娱乐性和使用率。例如,显示设备200中可以安装有录歌软件或者娱乐软件,通过这些软件,用户可以模仿某个人的声音,如模仿某个人唱歌、说话等,同时,在需要保护个人隐私的情况下,还可以将用户的语音转换为目标类型的语音,也就是说,通过显示设备200可以实现语音转换功能。
[0104] 在一些实施例中,语音转换是一种用目标语音来替换源语音、但是保持语音内容不变的一种转换方式。语音转换的实质是改变一段语音中的语音的声音,例如,某一段源语音的语音特色是温柔的,想要在语音内容不变的情况下,将该段语音转换为严厉的声音,语音转换的目的在于,在保持语音内容不变的前提下,将源声音转换为目标语音。
[0105] 为了实现语音转换功能,在一些实施例中,可以通过现有的将任意语音转换到其他任意语音的转换方法。但是,该方式中对语音的训练和推理的要求较高,导致语音转换的复杂度较高。
[0106] 为了降低语音转换的复杂度,本申请一些实施例提供一种显示设备200,所述显示设备200包括显示器260和控制器250。其中,显示器260被配置为显示用户界面,控制器250被配置为执行语音转换方法。所述显示设备200采用K近邻算法实现语音转换的过程,在执行语音转换的过程中无需人为使用函数的方式进行显示转换,可以降低计算的复杂度,进而解决语音转换复杂度高的问题。
[0107] 为了便于对本申请一些实施例中技术方案的理解,下面结合一些具体实施例和附图对各个步骤进行详细说明。图5为本申请一些实施例提供的显示设备执行语音转换的流程示意图,如图5所示,在一些实施例中,显示设备200在执行语音转换时,可以包括如下步骤S1‑S5,具体内容如下:
[0108] 步骤S1:显示设备200获取源语音中的查询帧,以及计算查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离。
[0109] 在一些实施例中,在执行语音转换之前,需要先指定要转换的目标语音。图6为本申请一些实施例提供的设定目标语音的流程示意图,如图6所示,显示设备200首先可以设定执行语音转换的语音内容对应的目标语音,之后查询目标语音的语音特征,经查询,如果查询到语音特征,显示设备200执行通过声码器将目标向量转换为音频波形的步骤;如果未查询到语音特征,显示设备200可以采集目标语音的语音信息,以及在语音信息采集完成后,执行通过声码器将目标向量转换为音频波形的步骤。
[0110] 示例性的,在使用语音转换功能前,需要先指定要转换的目标语音,显示设备200会查询是否已保存有该目标语音的语音特征,经查询,如果已保存有该目标语音的语音特征,则直接进入语音转换功能。如果没有,则可以采集目标语音的语音信息。例如,可以采集几分钟说话对应的语音内容。
[0111] 在目标语音确定完成后,显示设备200可以获取源语音中的查询帧,以及计算查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离。其中,源语音为待转换的语音,参考语音为与目标语音相同音质、音色的语音,例如,可以为目标语音对应的用户的声音,可以为该用户之前保存的语音内容,匹配集为参考语音的自监督特征向量池。
[0112] 为了获取到源语音和参考语音中的匹配集,为后续的语音转换提供数据基础,在一些实施例中,显示设备200还可以分别形成源语音和参考语音的自监督特征向量池。图7为本申请一些实施例提供的显示设备生成自监督特征向量池的流程示意图,如图7所示,显示设备200可以获取源语音,以及获取参考语音,之后显示设备200可以提取源语音和参考语音中的特征序列,再组合特征序列,以分别形成源语音和参考语音的自监督特征向量池。例如,显示设备200可以先提取源语音或目标语音中的一个或多个语音的特征序列,之后将这些序列组合一起形成一个大的自监督特征向量池,该自监督特征向量池即为匹配集。源语音可以对应一个匹配集,参考语音也可以对应一个匹配集,具体匹配集的数量可根据实际需求和待转换的语音内容的实际情况设定,本申请对此不作具体限定。
[0113] 图8为本申请一些实施例提供的显示设备执行语音算法的场景示意图,如图8所示,显示设备200首先可以提取源语音和参照语音的自监督特征,自监督特征可以来源于上述的自监督特征向量池,即匹配集。在一些实施例中,可以通过编码器提取源语音与参考语音中的自监督特征,这样,可以通过自监督特征线性预测语音内容的多项属性,为语音转换的实现提供数据支撑。
[0114] 为了提升语音转换的准确性,在一些实施例中,可以对编码器执行预训练。图9为本申请一些实施例提供的显示设备对编码器执行预训练的流程示意图,如图9所示,在一些实施例中,显示设备200首先可以获取用于对编码器执行预训练的混合语音音频;其中,编码器可以包括卷积编码器和变压编码器,之后通过卷积编码器对混合语音音频执行特征提取,生成混合音频特征;再通过变压编码器对混合音频特征执行建模,生成目标标签;根据目标标签计算混合语音音频的掩膜预测损失,最后通过掩膜预测损失预训练卷积编码器和变压编码器,生成预训练编码器。例如,预训练编码器时,可以采用大量的混合语音音频对编码器进行预训练,以提升其语音转换的准确性。
[0115] 在一些实施例中,编码器可以采用Wav语言模型,显示设备200可以采用预训练的Wav语言模型的编码器来提取源语音和参考语音的自监督特征。预训练的编码器可以采用卷积申请网络进行深度学习,其可以包含多个卷积编码器和变压编码器。例如,可以包含一个7层的卷积编码器和一个变压编码器,每层的卷积编码器可以包含个时域卷积层、一个规范化层和一个GELU激活函数,其结构还可以为其他结构,本申请对此不作具体限定。通过预训练的编码器,可以将源语音中的每个查询帧映射到参考语音中的最近邻,以对源语音进行归类分析。
[0116] 为了减少语音转换时的计算量、降低语音转换的复杂度,显示设备200可以提取Wav语言模型中的目标层;其中,目标层的数量小于数量阈值;之后,再通过目标层提取源语音和参考语音的自监督特征。
[0117] 示例性的,目标层可以为Wav语言模型中的第六层,则编码器可以采用Wav语言模型中的第六层来提取源语音和参考语音的自监督特征。卷积申请网络会有很多阶层,例如,少则有几层,多则有十几层到几十层。在语音转换的过程中,如果编码器计算每一阶层,则计算量会很大,在各个阶层进行计算的过程中,上一阶层计算出来的结果可以输入到下一阶层中,每个阶层都可以执行同样的计算,且每一阶层的计算方式可能是相同的。因此,本申请实施例仅选择一个目标层计算即可,或者选择两个或者少数个,仅通过选择的目标层提取源语音和参考语音的自监督特征即可。这样,由于阶层的层数减少,因此对应的计算量也会减少,所以会降低计算的复杂度。
[0118] 为了计算出查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离,可以通过如下公式:
[0119]
[0120] 其中,α为源语音中的查询帧中的每个n维特征向量,如n维的第一特征向量,β为参考语音的匹配集中的n维特征向量,如n维的第二特征向量,D即为查询帧中的每个n维特征向量α与匹配集中的n维特征向量β的余弦距离,即查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离。其中,D的取值范围为[0,2],其对应的判断规则可以为,当D=0时表示两个向量的夹角最小,方向重合,表示两个向量之间的距离最近;当D=2时,表示两个向量的夹角最大,方向完全相反,且距离最远。因此,通过计算余弦距离,可以计算出源语音与参考语音之间的方向、距离等关系,便于后期对源语音中查询帧映射到参考语音中的最近邻,便于执行源语音与参考语音的映射关系。步骤S1执行完成后,可以执行如下步骤S2。
[0121] 步骤S2:显示设备200根据余弦距离在匹配集中提取目标数量个向量,以及计算目标数量个向量的平均值,得到近邻平均值。
[0122] 余弦距离计算完成后,结合上述判断规则,显示设备200可以根据余弦距离在匹配集中提取目标数量个向量,以及计算目标数量个向量的平均值,得到近邻平均值。
[0123] 示例性的,根据在步骤S1计算得到的余弦距离,可以确定参考语音的匹配集中与源语音的查询帧中距离较近的k个向量,例如,分别为D1、D2……Dk,K为正整数。其中,D1可以为匹配集中与查询帧中余弦距离最小的向量,D2可以为匹配集中与查询帧中余弦距离第二小的向量,Dk为匹配集中与查询帧中余弦距离第k小的向量,以此类推。各个向量计算完成后,可以求出上述向量的平均值。例如,向量的平均值可以为Dmean,则可以通过下述公式计算出向量的平均值:
[0124]
[0125] 其中,Dmean即为近邻平均值。步骤S2执行完成后,可以执行如下步骤S3。
[0126] 步骤S3:显示设备200基于近邻平均值在第二特征向量中提取目标向量。
[0127] 近邻平均值计算完成后,显示设备200可以基于近邻平均值在第二特征向量中提取目标向量。在一些实施例中,本申请可以采用K近邻算法对第一特征向量进行回归,其中,K近邻算法是一种对样本数据执行分类与回归的方法,其基本原理为,存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即可以知道训练样本集中每一个数据与所属分类的对应关系。新数据是没有分类没有标签的,在输入没有标签的新数据后,通过K近邻算法可以将新的数据的每个特征与训练样本集中数据对应的特征进行比较,然后K近邻算法提取样本最相似数据的分类标签,即最近邻数据的分类标签。例如,可以只选择训练样本集中前k个最相似的数据,这就是k‑近邻算法中k的含义,其中k可以是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为无标签的新数据的分类。
[0128] 图10为本申请一些实施例提供的显示设备对向量执行回归的场景示意图,如图10所示,图中圆形带问号的数据是待分类的数据,三角形和正方形是已知类型的数据,即三角形和正方形为已知的训练样本集,带有分类标签。现在要将无标签的圆形进行分类。在一些实施例中,在确定圆形数据的类别时,可以通过设定K的数值进行不同的判断、[0129] 示例性的,如果K=3,待分类圆形的最近的3个图形是2个小三角形和1个正方形,按照少数服从多数的原则,基于统计的方法,可以判定待分类的圆形属于三角形一类。而如果K=5,与待分类的圆形最近的5个图形是2个三角形和3个正方形,按照少数服从多数的原则,基于统计的方法,可以判定待分类圆形属于正方形一类。因此,当无法判定当前待分类数据从属于已知分类中的哪一类时,可以依据统计学的理论确定其所处的位置特征,衡量它周围数据的权重,最终将待分类数据归为权重更大的那一类,这就是K近邻算法的核心思想。
[0130] 将K近邻算法应用于本申请实施例时,参考语音的匹配集中的第二特征向量是已知的训练样本集,源语音中的第一特征向量是待分类的数据,基于K近邻算法,则可以基于近邻平均值在第二特征向量中提取出目标向量,从而实现对源语音中的第一特征向量的分类。这样,由于匹配集中的第二特征向量是已知的,其可以包含目标语音的清晰度、语音特征等信息,通过K近邻算法就可以获取到第一特征向量的类别、分类标签、语音特征等信息,从而保证源语音转换到目标语音的相似度和清晰度。步骤S3执行完成后,可以执行如下步骤S24。
[0131] 步骤S4:显示设备200将第一特征向量替换为目标向量。
[0132] 为了将源语音映射到目标语音,在一些实施例中,基于近邻平均值在第二特征向量中确定与第一特征向量匹配的目标向量后,显示设备200可以将第一特征向量替换为目标向量。这样,源语音中的第一特征向量就被替换为参考语音中的目标向量,而参考语音为目标语音对应的用户输出的语音内容,因此,就完成了源语音到目标语音的映射。步骤S4执行完成后,可以执行如下步骤S5。
[0133] 步骤S5:显示设备200通过声码器将目标向量转换为音频波形。
[0134] 为了实现语音内容的语音转换功能,即将语音内容的源语音转换为目标语音,在一些实施例中,显示设备200可以通过声码器将目标向量转换为音频波形,以实现语音内容的语音转换。
[0135] 需要说明的是,上述计算均是基于特征向量的计算,为了计算出源语音中的第一特征向量,显示设备200在通过声码器将目标向量转换为音频波形步骤之前,可以执行如下步骤。图11为本申请一些实施例提供的显示设备将源语音转换为第一特征向量的流程示意图,如图11所示,显示设备200可以对源语音依次执行预加重处理、分帧加汉宁窗处理、快速傅里叶变换处理、幅值求平方处理、梅尔滤波器组滤波处理、求对数功率处理、离散余弦变换处理和提取Mel频率倒谱系数处理,以生成源语音的第一特征向量。其中,提取Mel频率倒谱系数时可以包括提取音高、节奏、语调、韵律、以及对目标语音的预测等信息,具体内容本申请不作限定。
[0136] 在一些实施例中,预加重处理可以针对源语音中的高频数据执行预加重,这样可以体现出高频数据的特点;分帧加汉宁窗处理可以防止源语音中的频谱泄漏,以及加汉宁窗可以使源语音变得更平滑,有助于后续处理;快速傅里叶变换处理可以实现将源语音从时域转换到频域;幅值求平方处理可以计算出源语音中波形的振幅;梅尔滤波器组滤波处理可以将源语音中的信号转换为梅尔频率,以便更好地表示人耳对声音的感知;求对数功率处理可以量化的表示出源语音;离散余弦变换处理可以对源语音中的信号和图像等执行数据压缩,提取Mel频率倒谱系数处理可以基于声音频率的非线性梅尔刻度的对数能量频谱执行线性变换,得到源语音的第一特征向量,之后再基于第一特征向量执行后续的计算。
[0137] 由于声码器采用目标向量作为输入,通过声码器将目标向量转换为音频波形,以实现语音内容的语音转换,因此,在将目标向量进行转换前,可以训练声码器。在一些实施例中,显示设备200通过声码器将目标向量转换为音频波形的步骤之前,可以获取训练语音,其中,训练语音为包含有目标语音对应的用户的语音,再通过K近邻算法基于训练语音建立声码器训练集。同时,可以将训练语音作为查询序列,以及使用训练语音构建声码匹配集,再通过K近邻算法使用声码匹配集重建查询序列,以通过声码器预测目标语音的初始波形。在一些可行的实施方案中,训练语音还可以为目标语音对应的用户输出的其他语音,例如,可以为除了目标语音之外的其他语音,具体内容可以根据实际需求设定,本申请对此不作具体限定。
[0138] 示例性的,图12为本申请一些实施例提供的声码器对训练语音执行训练的场景示意图,如图12所示,在一些实施例中,可以用训练语音作为查询序列,又编码器提取Mel频率倒谱系数,同时可以使用训练语音构建声码匹配集,或者,通过目标语音对应的用户输出的其他语音构建声码匹配集。同样可以由编码器提取其Mel频率倒谱系数,然后再使用K近邻算法使用声码匹配集重建查询序列,以通过声码器预测目标语音的初始波形。这样,可以通过预训练的声码器来预测目标语音的原始波形,相当于卷积神经网络推理过程中利用训练数据训练声码器以提升鲁棒性,通过预测原始波形,可以提升语音转换的准确性,而且在语音转换的过程中,语音内容并没有发生任何改变,因此,在保留原语音内容的基础上,可以实现语音的转换。
[0139] 为了提升目标语音音频波形的准确性和平滑性,在一些实施例中,显示设备200对Mel频率倒谱系数提取完成后,可以生成目标向量,声码器以目标向量作为输入,经过声码器转换为音频波形。图13为本申请一些实施例提供的显示设备对音频波形执行处理的流程示意图,如图13所示,显示设备200还可以对音频波形执行采样和加窗处理,并对采样和加窗处理后的音频波形执行重叠相加计算,最后输出重叠相加计算后的目标语音,以通过对音频声波执行采样加窗等处理使最终输出的音频波形呈现出一个连续的波形,减少剧烈的变化,以提升音频声波的准确性和平滑性。
[0140] 由以上技术方案可知,上述实施例提供一种显示设备200,所述显示设备200首先获取源语音中的查询帧,以及计算查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离;之后根据余弦距离确定匹配集中与查询帧中距离最近的目标数量个向量,以及计算向量的平均值,得到近邻平均值;基于近邻平均值在第二特征向量中确定与第一特征向量匹配的目标向量;再将第一特征向量替换为目标向量,以将源语音映射到目标语音;最后通过声码器将目标向量转换为音频波形,以实现语音转换。所述显示设备采用K近邻算法实现语音转换的过程,在执行语音转换的过程中无需人为使用函数的方式进行显示转换,可以降低计算的复杂度,进而解决语音转换复杂度高的问题。
[0141] 基于上述显示设备200,本申请部分实施例还提供一种语音转换方法,所述方法可以应用于上述显示设备200。图14为本申请一些实施例提供的语音转换方法流程示意图,如图14所示,在一些实施例中,所述语音转换方法可以包括如下步骤:
[0142] 步骤S1:显示设备200获取源语音中的查询帧,以及计算查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离。
[0143] 在一些实施例中,在执行语音转换之前,需要先指定要转换的目标语音。显示设备200首先可以设定执行语音转换的语音内容对应的目标语音,之后查询目标语音的语音特征,经查询,如果查询到语音特征,显示设备200执行通过声码器将目标向量转换为音频波形的步骤;如果未查询到语音特征,显示设备200可以采集目标语音的语音信息,以及在语音信息采集完成后,执行通过声码器将目标向量转换为音频波形的步骤。
[0144] 在目标语音确定完成后,显示设备200可以获取源语音中的查询帧,以及计算查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离。其中,源语音为待转换的语音,参考语音为与目标语音相同音质、音色的语音,例如,可以为目标语音对应的用户的声音,可以为该用户之前保存的语音内容,匹配集为参考语音的自监督特征向量池。
[0145] 为了获取到源语音和参考语音中的匹配集,为后续的语音转换提供数据基础,在一些实施例中,显示设备200还可以分别形成源语音和参考语音的自监督特征向量池。显示设备200可以获取源语音,以及获取参考语音,之后显示设备200可以提取源语音和参考语音中的特征序列,再组合特征序列,以分别形成源语音和参考语音的自监督特征向量池。例如,显示设备200可以先提取源语音或目标语音中的一个或多个语音的特征序列,之后将这些序列组合一起形成一个大的自监督特征向量池,该自监督特征向量池即为匹配集。源语音可以对应一个匹配集,参考语音也可以对应一个匹配集,具体匹配集的数量可根据实际需求和待转换的语音内容的实际情况设定,本申请对此不作具体限定。
[0146] 为了提升语音转换的准确性,在一些实施例中,可以对编码器执行预训练。显示设备200首先可以获取用于对编码器执行预训练的混合语音音频;其中,编码器可以包括卷积编码器和变压编码器,之后通过卷积编码器对混合语音音频执行特征提取,生成混合音频特征;再通过变压编码器对混合音频特征执行建模,生成目标标签;根据目标标签计算混合语音音频的掩膜预测损失,最后通过掩膜预测损失预训练卷积编码器和变压编码器,生成预训练编码器。例如,预训练编码器时,可以采用大量的混合语音音频对编码器进行预训练,以提升其语音转换的准确性。
[0147] 为了减少语音转换时的计算量、降低语音转换的复杂度,显示设备200可以提取Wav语言模型中的目标层;其中,目标层的数量小于数量阈值;之后,再通过目标层提取源语音和参考语音的自监督特征。
[0148] 步骤S2:显示设备200根据余弦距离在匹配集中提取目标数量个向量,以及计算目标数量个向量的平均值,得到近邻平均值。
[0149] 余弦距离计算完成后,结合上述判断规则,显示设备200可以根据余弦距离在匹配集中提取目标数量个向量,以及计算目标数量个向量的平均值,得到近邻平均值。
[0150] 示例性的,根据在步骤S1计算得到的余弦距离,可以确定参考语音的匹配集中与源语音的查询帧中距离较近的k个向量,例如,分别为D1、D2……Dk,K为正整数。其中,D1可以为匹配集中与查询帧中余弦距离最小的向量,D2可以为匹配集中与查询帧中余弦距离第二小的向量,Dk为匹配集中与查询帧中余弦距离第k小的向量,以此类推。各个向量计算完成后,可以求出上述向量的平均值。例如,向量的平均值可以为Dmean,则可以通过下述公式计算出向量的平均值:
[0151]
[0152] 其中,Dmean即为近邻平均值。
[0153] 步骤S3:显示设备200基于近邻平均值在第二特征向量中提取目标向量。
[0154] 近邻平均值计算完成后,显示设备200可以基于近邻平均值在第二特征向量中提取目标向量。在一些实施例中,本申请可以采用K近邻算法对第一特征向量进行回归,其中,K近邻算法是一种对样本数据执行分类与回归的方法,其基本原理为,存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即可以知道训练样本集中每一个数据与所属分类的对应关系。新数据是没有分类没有标签的,在输入没有标签的新数据后,通过K近邻算法可以将新的数据的每个特征与训练样本集中数据对应的特征进行比较,然后K近邻算法提取样本最相似数据的分类标签,即最近邻数据的分类标签。例如,可以只选择训练样本集中前k个最相似的数据,这就是k‑近邻算法中k的含义,其中k可以是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为无标签的新数据的分类。
[0155] 步骤S4:显示设备200将第一特征向量替换为目标向量。
[0156] 为了将源语音映射到目标语音,在一些实施例中,基于近邻平均值在第二特征向量中确定与第一特征向量匹配的目标向量后,显示设备200可以将第一特征向量替换为目标向量。这样,源语音中的第一特征向量就被替换为参考语音中的目标向量,而参考语音为目标语音对应的用户输出的语音内容,因此,就完成了源语音到目标语音的映射。
[0157] 步骤S5:显示设备200通过声码器将目标向量转换为音频波形。
[0158] 为了实现语音内容的语音转换功能,即将语音内容的源语音转换为目标语音,在一些实施例中,显示设备200可以通过声码器将目标向量转换为音频波形,以实现语音内容的语音转换。
[0159] 需要说明的是,上述计算均是基于特征向量的计算,为了计算出源语音中的第一特征向量,显示设备200在通过声码器将目标向量转换为音频波形步骤之前,可以执行如下步骤。显示设备200可以对源语音依次执行预加重处理、分帧加汉宁窗处理、快速傅里叶变换处理、幅值求平方处理、梅尔滤波器组滤波处理、求对数功率处理、离散余弦变换处理和提取Mel频率倒谱系数处理,以生成源语音的第一特征向量。其中,提取Mel频率倒谱系数时可以包括提取音高、节奏、语调、韵律、以及对目标语音的预测等信息,具体内容本申请不作限定。
[0160] 由以上技术方案可知,上述实施例提供一种语音转换方法,所述方法包括:获取源语音中的查询帧,以及计算查询帧中第一特征向量与参考语音的匹配集中的第二特征向量的余弦距离;之后根据余弦距离确定匹配集中与查询帧中距离最近的目标数量个向量,以及计算向量的平均值,得到近邻平均值;基于近邻平均值在第二特征向量中确定与第一特征向量匹配的目标向量;再将第一特征向量替换为目标向量,以将源语音映射到目标语音;最后通过声码器将目标向量转换为音频波形,以实现语音转换。所述方法采用K近邻算法实现语音转换的过程,无需人为使用函数的方式进行显示转换,可以降低计算的复杂度,进而解决语音转换复杂度高的问题。
[0161] 本说明书中各个实施例之间相同相似的部分互相参照即可,在此不再赘述。
[0162] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分的方法。
[0163] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
[0164] 为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。