音源数据修复方法、装置、终端及存储介质与流程

文档序号:26091194发布日期:2021-07-30 17:59阅读:151来源:国知局
音源数据修复方法、装置、终端及存储介质与流程

本申请涉及音频数据处理技术领域,特别涉及音源数据修复方法、装置、终端及存储介质。



背景技术:

目前,随着用户对音频数据处理的需求的提高,出现去除音频文件中指定类型的声音的功能。

在相关技术中,音频处理设备可以将音频数据通过音频分割再合成的过程,去除掉音频文件中指定类型的声音,获得去除指定类型声音后的新的音频文件。

然而,在上述方法中,对音频数据进行分割再合成的处理后,可能会出现合成后的新的音频文件中的音源数据对应的波峰值与波谷值的差距过大的情况,从而导致经过指定类型声音去除功能后生成的音源数据音质较差。



技术实现要素:

本申请实施例提供了一种音源数据修复方法、装置、终端及存储介质,可以提高去除指定类型的声音之后的合成音源数据的质量,该技术方案如下:

一方面,提供了一种音源数据修复方法,所述方法包括:

获取目标音源数据;所述目标音源数据是从原始音源数据中去除指定类型声音后经过合成处理得到的合成音源数据;

将所述目标音源数据与修复临界值进行比较,获取对应的振幅超过所述修复临界值的部分数据作为目标修复数据;所述修复临界值是基于合成音源数据样本得到的振幅值;

基于所述修复临界值,对所述目标修复数据进行处理,获得修复后的所述目标音源数据。

在一种可能的实现方式中,所述将所述目标音源数据与修复临界值进行比较,获取超过所述修复临界值的部分数据作为目标修复数据,包括:

基于所述目标音源数据的波形图,获得所述目标音源数据的幅度极值;所述幅度极值包括至少一个波峰值以及至少一个波谷值;

将绝对值超过所述修复临界值的所述幅度极值确定为所述目标修复数据;

所述基于所述修复临界值,对所述目标修复数据进行处理,获得修复后的所述目标音源数据,包括:

基于所述修复临界值,对所述目标修复数据进行处理,获得处理后的目标音源数据;

基于所述处理后的目标音源数据的波形图,获取所述处理后的目标音源数据的所述幅度极值;

响应于至少一个所述幅度极值超过所述修复临界值,将超过所述修复临界值的所述幅度极值确定为新的所述目标修复数据;

响应于所述幅度极值未超过所述修复临界值,将所述处理后的所述目标音源数据确定为修复后的所述目标音源数据。

在一种可能的实现方式中,所述获取目标音源数据,包括:

按照指定时长对所述原始音源数据进行切分,获得多个原始音源数据段;

去除所述多个原始音源数据段的所述指定类型声音,将去除所述指定类型声音的所述多个原始音源数据段进行合成获得所述目标音源数据。

在一种可能的实现方式中,所述将所述目标音源数据与修复临界值进行比较,获取超过所述修复临界值的部分数据作为目标修复数据之前,还包括:

获取合成音源数据集合;所述合成音源数据集合中包括至少一个合成音源数据样本;

将至少一个所述合成音源数据样本依次输入特征提取网络,由所述特征提取网络输出所述合成音源数据样本对应的特征矩阵;所述特征提取网络是用于基于所述合成音源数据样本对应的频谱图,生成所述特征矩阵的卷积神经网络;所述特征矩阵用于指示所述频谱图中两个通道分别对应的实值与虚值之间的距离特征;

基于至少一个所述合成音源数据样本对应的所述特征矩阵,获得至少一个所述合成音源数据样本对应的幅值矩阵;所述幅值矩阵用于指示所述合成音源数据样本在进行高频抑制处理后的各个采样点上对应的幅值;

基于至少一个所述合成音源数据样本对应的所述幅值矩阵,获取至少一个所述合成音源数据样本对应的幅值极值;所述幅值极值包括幅值最大值以及幅值最小值中的至少一个;

基于至少一个所述合成音源数据样本对应的所述幅值极值,确定所述修复临界值。

在一种可能的实现方式中,所述将至少一个所述合成音源数据样本依次输入特征提取网络,由所述特征提取网络输出所述合成音源数据样本对应的特征矩阵,包括:

将所述合成音源数据样本转化为原始幅值矩阵;所述原始幅值矩阵用于指示所述合成音源数据样本的各个采样点上的音频幅值;

通过短时傅里叶变换公式,将所述原始幅值矩阵转换为频谱图矩阵;

通过矩阵裁剪,去除所述频谱图矩阵中频率数值大于第一临界值的部分,生成低频频谱图矩阵;所述低频频谱图矩阵用于指示频率小于第一临界值的各个采样点对应的音频能量;

基于平方差公式对所述低频频谱图矩阵进行计算,确定所述合成音源数据样本对应的低频频谱图距离矩阵;

将所述低频频谱图距离矩阵输入所述特征提取网络,由所述特征提取网络输出所述特征矩阵。

在一种可能的实现方式中,所述基于至少一个所述合成音源数据样本对应的所述特征矩阵,获得至少一个所述合成音源数据样本对应的幅值矩阵,包括:

将所述合成音源数据样本对应的所述特征矩阵,与所述低频频谱图矩阵进行点积操作,生成目标特征矩阵;所述目标特征矩阵是叠加有所述距离特征的低频频谱图矩阵;

将所述目标特征矩阵的指定维度下对应的高频部分进行填充补零处理,所述指定维度为用于指示所述频谱图频率的维度;

将进行填充补零处理后的所述目标特征矩阵通过反傅里叶变换公式进行计算,获得所述合成音源数据样本对应的所述幅值矩阵。

在一种可能的实现方式中,所述基于至少一个所述合成音源数据样本对应的所述幅值极值,确定所述修复临界值,包括:

对至少一个所述合成音源数据样本对应的所述幅值极值的绝对值取平均,获得所述修复临界值。

在一种可能的实现方式中,所述基于所述修复临界值,对所述目标修复数据进行处理,获得修复后的所述目标音源数据,包括:

将所述目标修复数据,替换为所述目标修复数据与所述修复临界值的比值,获得修复后的所述目标音源数据。

另一方面,提供了一种音源数据修复装置,所述装置包括:

数据获取模块,用于获取目标音源数据;所述目标音源数据是从原始音源数据中去除指定类型声音后经过合成处理得到的合成音源数据;

目标获取模块,用于将所述目标音源数据与修复临界值进行比较,获取对应的振幅超过所述修复临界值的部分数据作为目标修复数据;所述修复临界值是基于合成音源数据样本得到的振幅值;

目标修复模块,用于基于所述修复临界值,对所述目标修复数据进行处理,获得修复后的所述目标音源数据。

在一种可能的实现方式中,所述目标获取模块,包括:

第一极值获取子模块,用于基于所述目标音源数据的波形图,获得所述目标音源数据的幅度极值;所述幅度极值包括至少一个波峰值以及至少一个波谷值;

目标确定子模块,用于将绝对值超过所述修复临界值的所述幅度极值确定为所述目标修复数据;

所述目标修复模块,包括:

目标处理子模块,用于基于所述修复临界值,对所述目标修复数据进行处理,获得处理后的目标音源数据;

第二极值获取子模块,用于基于所述处理后的目标音源数据的波形图,获取所述处理后的目标音源数据的所述幅度极值;

继续处理子模块,用于响应于至少一个所述幅度极值超过所述修复临界值,将超过所述修复临界值的所述幅度极值确定为新的所述目标修复数据;

目标确定子模块,用于响应于所述幅度极值未超过所述修复临界值,将所述处理后的所述目标音源数据确定为修复后的所述目标音源数据。

在一种可能的实现方式中,所述数据获取模块,包括:

数据切分子模块,用于按照指定时长对所述原始音源数据进行切分,获得多个原始音源数据段;

数据获取子模块,用于去除所述多个原始音源数据段的所述指定类型声音,将去除所述指定类型声音的所述多个原始音源数据段进行合成获得所述目标音源数据。

在一种可能的实现方式中,所述装置还包括:

样本获取模块,用于将所述目标音源数据与修复临界值进行比较,获取超过所述修复临界值的部分数据作为目标修复数据之前,获取合成音源数据集合;所述合成音源数据集合中包括至少一个合成音源数据样本;

特征获取模块,用于将至少一个所述合成音源数据样本依次输入特征提取网络,由所述特征提取网络输出所述合成音源数据样本对应的特征矩阵;所述特征提取网络是用于基于所述合成音源数据样本对应的频谱图,生成所述特征矩阵的卷积神经网络;所述特征矩阵用于指示所述频谱图中两个通道分别对应的实值与虚值之间的距离特征;

幅值获取模块,用于基于至少一个所述合成音源数据样本对应的所述特征矩阵,获得至少一个所述合成音源数据样本对应的幅值矩阵;所述幅值矩阵用于指示所述合成音源数据样本在进行高频抑制处理后的各个采样点上对应的幅值;

样本极值获取模块,用于基于至少一个所述合成音源数据样本对应的所述幅值矩阵,获取至少一个所述合成音源数据样本对应的幅值极值;所述幅值极值包括幅值最大值以及幅值最小值中的至少一个;

临界值确定模块,用于基于至少一个所述合成音源数据样本对应的所述幅值极值,确定所述修复临界值。

在一种可能的实现方式中,所述特征获取模块,包括:

原始获取子模块,用于将所述合成音源数据样本转化为原始幅值矩阵;所述原始幅值矩阵用于指示所述合成音源数据样本的各个采样点上的音频幅值;

频谱转换子模块,用于通过短时傅里叶变换公式,将所述原始幅值矩阵转换为频谱图矩阵;

低频生成子模块,用于通过矩阵裁剪,去除所述频谱图矩阵中频率数值大于第一临界值的部分,生成低频频谱图矩阵;所述低频频谱图矩阵用于指示频率小于第一临界值的各个采样点对应的音频能量;

距离矩阵获取子模块,用于基于平方差公式对所述低频频谱图矩阵进行计算,确定所述合成音源数据样本对应的低频频谱图距离矩阵;

特征获取子模块,用于将所述低频频谱图距离矩阵输入所述特征提取网络,由所述特征提取网络输出所述特征矩阵。

在一种可能的实现方式中,所述幅值获取模块,包括:

目标特征生成子模块,用于将所述合成音源数据样本对应的所述特征矩阵,与所述低频频谱图矩阵进行点积操作,生成目标特征矩阵;所述目标特征矩阵是叠加有所述距离特征的低频频谱图矩阵;

目标处理子模块,用于将所述目标特征矩阵的指定维度下对应的高频部分进行填充补零处理,所述指定维度为用于指示所述频谱图频率的维度;

幅值获取子模块,用于将进行填充补零处理后的所述目标特征矩阵通过反傅里叶变换公式进行计算,获得所述合成音源数据样本对应的所述幅值矩阵。

在一种可能的实现方式中,所述临界值确定模块,包括:

确定子模块,用于对至少一个所述合成音源数据样本对应的所述幅值极值的绝对值取平均,获得所述修复临界值。

在一种可能的实现方式中,所述目标修复模块,包括:

目标修复子模块,用于将所述目标修复数据,替换为所述目标修复数据与所述修复临界值的比值,获得修复后的所述目标音源数据。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储由至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述音源数据修复方法。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述音源数据修复方法。

另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的音源数据修复方法。

本申请提供的技术方案可以包括以下有益效果:

通过在获取到目标音源数据后,利用由合成音源样本得到的修复临界值对超过修复临界值对应幅度值的部分目标音源数据进行处理,然后获得修复后的目标音源数据,通过上述方案,将合成音源数据作为目标音源数据,对其中振幅过高或者过低的部分进行修正,从而抑制其中破音或者音质破损的部分,提高了合成音源数据的音质。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1示出了本申请一示例性实施例示出的音源数据修复方法对应的系统结构示意图;

图2示出了本申请一示例性实施例示出的音源数据修复方法的流程图;

图3示出了本申请一示例性实施例提供的音源数据修复方法的流程图;

图4是图3所示实施例涉及的一种合成音源数据波形图以及频谱图的示意图;

图5是图3所示实施例涉及的一种修复后的合成音源数据波形图以及频谱图的示意图;

图6示出了本申请一示例性实施例示出的场景画面展示装置的方框图;

图7是根据一示例性实施例示出的计算机设备的结构框图;

图8示出了本申请一示例性实施例示出的计算机设备的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本申请提供的音源数据修复方法可以应用于修复合成音源文件中的音源数据的场景中,图1示出了本申请一示例性实施例示出的音源数据修复方法对应的系统结构示意图,如图1所示,该系统包括:神经网络训练设备110以及终端120。

在神经网络训练设备110上可以训练得到特征提取网络,在训练特征提取网络的过程中,或者在训练完成该特征提取网络后,可以基于合成音源数据样本计算得到对应的修复临界值。

其中,神经网络训练设备110可以是具有机器学习能力的计算机设备,比如,该计算机设备可以是个人电脑、服务器以及固定式科研设备等固定式计算机设备,或者,该计算机设备也可以是平板电脑、电子书阅读器等移动式计算机设备。

其中,终端120可以是具有屏幕显示功能以及音源数据分析功能的计算机设备。该终端120上可以安装有音频编辑软件,用于查看音源数据的波形图和频谱图。终端120连接的服务器,可以是后台服务器,也可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(contentdeliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端120可以获取神经网络训练设备110生成的修复临界值。

在一种可能的实现方式中,终端120与神经网络训练设备110对应的服务器之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。

可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(localareanetwork,lan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(hypertextmark-uplanguage,html)、可扩展标记语言(extensiblemarkuplanguage,xml)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(securesocketlayer,ssl)、传输层安全(transportlayersecurity,tls)、虚拟专用网络(virtualprivatenetwork,vpn)、网际协议安全(internetprotocolsecurity,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。本申请在此不做限制。

图2示出了本申请一示例性实施例示出的音源数据修复方法的流程图,该音源数据修复方法可以由计算机设备执行,其中,该计算机设备可以是终端或者服务器,如图2所示,该音源数据修复方法可以包括以下步骤:

步骤201,获取目标音源数据,目标音源数据是从原始音源数据中去除指定类型声音后经过合成处理得到的合成音源数据。

其中,合成音源数据是通过指定的算法,将音频文件中的原始音源数据中不同类型的声音进行分离后,再将其中部分类型的声音进行合成处理,从而生成的音源数据。

比如,若音频文件是一首歌曲对应的音频文件,在该歌曲对应的原始音频数据中包括背景音声音以及人声声音,通过指定的算法可以将背景音对应的音源数据以及人声对应的音源数据进行分离,在分离的过程中可能会将背景音数据切分为多段音源数据,以及将人声对应的音源数据切分为多段音源数据,为了去除歌曲中的人声部分,需要将切分为多段的背景音对应的音源数据进行合成,生成去除人声部分的背景音合成音源数据。

由于通过指定算法将原始音源数据中的指定类型的声音进行去除,合成不具有该指定类型的声音的合成音源数据,在合成的过程中,可能会出现合成部分音源的波峰值与波谷值的差距过大,从而导致该合成音源数据在对应位置处会出现破音或者音质受损的现象。

其中,目标音源数据是需要进行音源质量修复的合成音源数据。

步骤202,将目标音源数据与修复临界值进行比较,获取对应的振幅超过修复临界值的部分数据作为目标修复数据;修复临界值是基于合成音源数据样本得到的振幅值。

在一种可能的实现方式中,目标音源数据是以波形图的形式表现的,该波形图的纵轴是指音频数据的振幅值,横轴是指音频数据对应的时间。

其中,修复临界值在目标音源数据的波形图上对应的是位于正负指定振幅值处,且垂直于纵轴的直线,响应于波形图的振幅值超出该正负指定振幅值中间的区域时,将超出的部分数据作为目标修复数据,该目标修复数据是需要进行修复的音源数据。

步骤203,基于修复临界值,对目标修复数据进行处理,获得修复后的目标音源数据。

在一种可能的实现方式中,将上述获得的各个目标修复数据与修复临界值通过指定运算方法进行计算,以达到对目标修复数据进行处理的目的,将各个目标修复数据处理完成,并且达到修复的目的后,将各个目标修复值替换为处理完成的目标修复数据,从而获得修复后的目标音源数据。

其中,对目标修复数据进行处理的目的是消除目标音源数据上的波峰值与波谷值的差距过大的区域,以达到目标音源数据的音质得到修复的效果。

综上所述,本申请实施例提供的音源数据修复方法,通过在获取到目标音源数据后,利用由合成音源样本得到的修复临界值对超过修复临界值对应幅度值的部分目标音源数据进行处理,然后获得修复后的目标音源数据,通过上述方案,将合成音源数据作为目标音源数据,对其中振幅过高或者过低的部分进行修正,从而抑制其中破音或者音质破损的部分,提高了合成音源数据的音质。

需要说明的是,本申请提供的音源数据修复方法可以应用于直播场景中,也可以应用于其它涉及到合成音源数据的场景中,本申请对应用场景不进行限制。

在直播场景中,主播可以在直播过程中播放某一首歌曲,由于在直播过程中,主播可能需要去除歌曲中原本自带的人声,同时,也可以实现去除歌曲中原本自带的人声的功能,实现该功能需要将歌曲原始的音源进行分割再合成的过程,比如,歌曲文件a会分割出两个或以上音频文件,然后其中几个音频文件再合成输出f1文件,该f1文件就是所需的去掉原本自带人声的音源文件。由于在直播过程中,需要快速的对歌曲文件a进行处理,并且输出音质较好的合成音源文件进行播放,所以可以通过本申请实施例所示的方案对合成音源数据进行快速修复,以满足直播过程中对该功能的需求。

图3示出了本申请一示例性实施例提供的音源数据修复方法的流程图,该音源数据修复方法可以由计算机设备执行,其中,该计算机设备可以实现为终端和服务器,本申请以该方法由终端执行为例进行说明,如图3所示,该音源数据修复方法可以包括以下步骤:

步骤301,获取合成音源数据集合。

在本申请实施例中,计算机设备可以获取到合成音源数据集合,该合成音源数据集合中包括至少一个合成音源数据样本。

其中,合成音源数据样本可以是终端通过网络收集得到的,通过同样的算法,即去除指定类型声音后经过合成处理,得到的完整的合成音源数据。

在一种可能的实现方式中,收集得到的合成音源数据是采用双声道的,并且各个合成音源数据对应的时长可以是不同的。

其中,各个合成音源数据对应的时长可以是10秒到1分钟不等。各个获取到的合成音源数据可以作为合成音源数据样本存储在合成音源数据集合中。

在一种可能的实现方式中,合成音源数据集合存储在服务器的数据库中,终端通过调用数据库获得其中的合成音源数据样本。

步骤302,将至少一个合成音源数据样本依次输入特征提取网络,由特征提取网络输出合成音源数据样本对应的特征矩阵。

在本申请实施例中,终端将获取到的合成音源数据集合中的各个合成音源数据样本依次通过特征提取网络,由特征提取网络输出各个合成音源数据样本对应的特征矩阵。

其中,特征提取网络是用于基于合成音源数据样本对应的频谱图,生成特征矩阵的卷积神经网络;特征矩阵用于指示频谱图中两个通道分别对应的实值与虚值之间的距离特征。

在一种可能的实现方式中,将合成音源数据样本转化为原始幅值矩阵,通过短时傅里叶变换公式,将原始幅值矩阵转换为频谱图矩阵;通过矩阵裁剪,去除频谱图矩阵中频率数值大于第一临界值的部分,生成低频频谱图矩阵;基于平方差公式对低频频谱图矩阵进行计算,确定合成音源数据样本对应的低频频谱图距离矩阵;将低频频谱图距离矩阵输入特征提取网络,由特征提取网络输出特征矩阵。

也就是说,终端将获取到的合成音源数据样本由波形图转化为原始幅值矩阵,然后,通过短时傅里叶变换公式,以窗口大小为4096,滑动步长为1024,将原始幅值矩阵转换为频谱图矩阵,然后将频率值大于1024的部分确定为高频部分,频率值小于1024的部分确定为低频部分,通过矩阵裁剪去除频谱图矩阵中频率数值大于1024的高频部分,生成对应的低频频谱图矩阵,接着基于平方差公式对低频频谱图矩阵进行计算,比如,低频频谱图可以通过双通道进行取值,若该低频频谱图在一个通道下的取值为虚值,则该低频频谱图在另一通道下的取值为实值,将实值与虚值通过平方差公式计算得到合成音源数据样本对应的低频频谱图距离矩阵,最后将低频频谱图距离矩阵输入特征提取网络,并且由特征提取网络输出特征矩阵。

其中,原始幅值矩阵用于指示合成音源数据样本的各个采样点上的音频幅值;低频频谱图矩阵用于指示频率小于第一临界值的各个采样点对应的音频能量。

示例性的,原始幅值矩阵[2,l]的二维矩阵,其中,2为音源对应的声道数,l为该合成音源数据样本对应的音频数据长度。该二维矩阵上每一点的数值对应的是各个采样点的音频幅值。低频频谱图矩阵是四维频谱图矩阵[2,1024,w,2],第一维度中2代表的是矩阵数量,由于该音频是双声道,所以这里的矩阵数量为2,第二维度1024代表的是低频频谱图的高,这里可以是指频率的最大值,第三维度w代表的是低频频谱图的宽,这里的w可以是通过上述的短时傅里叶变换公式计算得到的,第四维度中的2代表的是该音频对应的声道数为2。

在一种可能的实现方式中,在将低频频谱图对应的双通道下的一个通道下获取的实值与另一个通道下获取的虚值进行平方差公式的计算后,得到的低频频谱图距离矩阵仍然是一个四维矩阵[2,1024,w,2],为了将该低频频谱图距离矩阵输入到特征提取网络中,需要将该低频频谱图距离矩阵进行维度置换以及频谱图宽度切分的操作,将该四维矩阵[2,1024,w,2]转换为四维矩阵[b,2,512,1024],转换得到的四维矩阵中的第一维度对应的是切分后的矩阵数量为b,第二维度对应的2代表的是该音频对应的声道数为2,第三维度对应的是将低频频谱图的宽度w切分为宽度为512的各个子低频频谱图,第四维度对应的1024仍然是低频频谱图的高为1024。

其中,将低频频谱图按照宽度,切分为n个宽度为512的子低频频谱图,若切分后最后余出一个宽度不足512的子低频频谱图,则通过填充补零的方式补充宽度到512,切分生成的子低频频谱图的数量n为矩阵数量b。

其中,合成音源数据样本可以通过指定的采样率、对应的时长、采样大小以及声道数,确定该合成音源数据样本对应的音频数据长度。计算每秒对应的音频数据长度的公式如下:

音频数据长度(短整型/秒)=采样率(hz)*采样大小(bit)*声道数/8;

比如,若1秒的合成音源数据样本对应的采样率为44100hz,采样大小为16位,声道数为2,则该段合成音源数据样本对应的音频数据长度是44100*2。

在一种可能的实现方式中,将上述获得的进行维度转置以及频谱图宽度切分的操作后生成的四维矩阵[b,2,512,1024]输入到特征提取网络中。

其中,该特征提取网络包括卷积层、逆卷积层、批归一化层以及激活单元中的至少一个。

示例性的,对四维矩阵[b,2,512,1024]进行卷积操作的代码如下,

conv2d(padding='same',strides=(2,2))

[16*(5*5conv2d)->batchnormalization->leakyrelu(0.2)]-conv1

[32*(5*5conv2d)->batchnormalization->leakyrelu(0.2)]-conv2

[64*(5*5conv2d)->batchnormalization->leakyrelu(0.2)]-conv3

[128*(5*5conv2d)->batchnormalization->leakyrelu(0.2)]-conv4

[256*(5*5conv2d)->batchnormalization->leakyrelu(0.2)]-conv5

conv2dtranspose(padding='same',strides=(2,2))

[128*(5*5conv2d)->relu()->batchnormalization->dropout(0.5)->concatenate(conv4)]

[64*(5*5conv2d)->relu()->batchnormalization->dropout(0.5)->concatenate(conv3)]

[32*(5*5conv2d)->relu()->batchnormalization->concatenate(conv2)]

[16*(5*5conv2d)->relu()->batchnormalization->concatenate(conv1)]

[(5*5的conv2d)->relu()->batchnormalization]

其中,conv2d是卷积层,conv2dtranspose是逆卷积层,batchnormalization是用于标准化数据,即可以防止梯度过于弥散或者消失,leakyrelu和relu是激活单元,dropout用于随机隐藏一半的处理单元。

在一种可能的实现方式中,经过上述特征提取网络输出得到的特征矩阵为四维矩阵[b,2,512,1024],其中,第一维度仍然对应的是切分后的矩阵数量为b,第二维度对应的2代表的是该音频对应的声道数为2,第三维度对应的是将低频频谱图的宽度w切分为宽度为512的各个子低频频谱图,第四维度对应的1024仍然是低频频谱图的高为1024,该特征矩阵中各个点的数值对应的是频谱图中各个点在频谱图的双通道下对应的实值与虚值的距离特征值。

通过将各个合成音源数据样本进行处理后,依次输入上述特征提取网络,由特征提取网络输出各个合成音源数据样本对应的特征矩阵。

步骤303,基于至少一个合成音源数据样本对应的特征矩阵,获得至少一个合成音源数据样本对应的幅值矩阵。

在本申请实施例中,将获取到的各个合成音源数据样本对应的特征矩阵进行处理后,生成各个合成音源数据样本对应的幅值矩阵。

其中,幅值矩阵可以用于指示合成音源数据样本在进行高频抑制处理后的各个采样点上对应的幅值。

在一种可能的实现方式中,将合成音源数据样本对应的特征矩阵,与低频频谱图矩阵进行点积操作,生成目标特征矩阵,将目标特征矩阵的指定维度下对应的高频部分进行填充补零处理,将进行填充补零处理后的目标特征矩阵通过反傅里叶变换公式进行计算,获得合成音源数据样本对应的幅值矩阵。

其中,目标特征矩阵是叠加有距离特征的低频频谱图矩阵,指定维度为用于指示频谱图频率的维度。

在一种可能的实现方式中,经过上述特征提取网络输出的特征矩阵是四维矩阵[b,2,512,1024],将该四维矩阵进行维度置换,同时按照宽度将低频频谱图进行合并,将该特征矩阵转换为四维矩阵[2,1024,w,2]。然后进行后续的点积操作。

也就是说,通过将特征矩阵转换为四维矩阵[2,1024,w,2],并且与低频频谱图矩阵[2,1024,w,2]进行点积计算,得到的目标特征矩阵也是同样维度的,叠加有经过特征提取网络提取出的距离特征的低频频谱图矩阵,由于在之前的操作中,将对应频谱图的高频区域进行了剪切,所以当前获得的低频频谱图矩阵在频域上是缺少高频部分的,所以将该目标特征矩阵的第二维度,也就是表示频谱图高度的1024进行末尾补零操作,从1024补零到2049,将目标特征矩阵转化为四维矩阵[2,2049,w,2],将该转化后的目标特征矩阵进行反傅里叶变换,可以还原出对高频部分进行抑制后预测出的幅值矩阵[2,l],其中,2为该音频的声道数为2,l为对应的音频数据长度。

步骤304,基于至少一个合成音源数据样本对应的幅值矩阵,获取至少一个合成音源数据样本对应的幅值极值。

在本申请实施例中,当获取到合成音源数据样本对应的幅值矩阵后,可以获取到该幅值矩阵中各个点的数值,通过各个数值确定该合成音源数据样本对应的幅值极值。

其中,幅值极值可以包括幅值最大值以及幅值最小值中的至少一个。

在一种可能的实现方式中,获取各个幅值矩阵对应的数值最大值作为幅值最大值,或者,获取各个幅值矩阵对应的数值最小值作为幅值最小值,或者同时获取幅值最大值与幅值最小值。

步骤305,基于至少一个合成音源数据样本对应的幅值极值,确定修复临界值。

在本申请实施例中,终端可以基于各个合成音源数据样本对应的幅值最大值,确定修复临界值,或者,可以基于各个合成音源数据样本对应的幅值最小值的绝对值,确定修复临界值,也可以是基于各个合成音源数据样本对应的幅值最大值以及幅值最小值的绝对值,确定修复临界值。

在一种可能的实现方式中,对至少一个合成音源数据样本对应的幅值极值的绝对值取平均,获得修复临界值。

一般情况下,幅值最大值为正数,幅值最小值为负数,所以需要对为负数的幅值最小值做绝对值。

示例性的,若获取到的各个合成音源数据样本对应的幅值极值是a、b、-c、-d,则通过对a、b、-c、-d取绝对值,即|a|、|b|、|-c|、|-d|,然后将绝对值进行相加后除以幅值极值的数量4,得到对应的修复临界值。

步骤306,按照指定时长对原始音源数据进行切分,获得多个原始音源数据段,去除多个原始音源数据段的指定类型声音,将去除指定类型声音的多个原始音源数据段进行合成获得目标音源数据。

在本申请实施例中,终端按照指定时长对原始音源数据进行切分,获得切分后的各个原始音源数据段,在原始音源数据段中去除指定类型声音,获得对应的目标音源数据。

其中,目标音源数据是从原始音源数据中去除指定类型声音后,经过合成处理得到的完整的合成音源数据,原始音源数据是进行切分后,获得的各个原始音源数据段同时进行去除指定类型声音的操作,获取各个原始音源数据段对应的目标音源数据。

比如,对于歌曲a对应的音源数据a,通过对音源数据a进行切分,然后将其中的各段背景音数据b提取出来进行合成,可以生成背景音对应的合成音源数据c,然后再将合成音源数据c按照指定时长进行切分,切分获得的各段合成音源数据c可以获取为目标音源数据。在另一种情况下,通过对歌曲a对应的音源数据a按照指定时长进行切分,生成各个音源数据a对应的音源数据段,同时在各个音源数据段中去除指定类型声音,可以获得各个音源数据段对应的目标音源数据。

由于一般情况下,终端需要对原始音源数据进行音源数据修复。在一种情况下,可以将原始音源数据作为目标音源数据进行后续步骤,另一种情况下,可以将目标音源数据按照指定时长进行数据切分,切分成若干个目标音源数据,终端可以同时对若干个目标音源数据进行后续的音源数据修复步骤,相比较于将原始音源数据整体进行后续的音源数据修复过程,将原始音源数据进行切分,从而获取若干个目标音源数据,并且将若干个目标音源数据进行同步处理可以极大的提高对音源数据修复的速度。

步骤307,基于目标音源数据的波形图,获得目标音源数据的幅度极值。

在本申请实施例中,目标音源数据可以以波形图的形式表示,通过对波形图的幅值检测,可以得到目标音源数据当前的幅度极值。

其中,幅度极值可以包括至少一个波峰值以及至少一个波谷值。

步骤308,将绝对值超过修复临界值的幅度极值确定为目标修复数据。

在本申请实施例中,通过将获取到的至少一个波峰值以及至少一个波谷值进行取绝对值后,与上述步骤计算确定的修复临界值进行比较,得到大于修复临界值对应的幅度极值处的采样点对应的音源数据作为目标修复数据。

步骤309,基于修复临界值,对目标修复数据进行处理,获得处理后的目标音源数据。

在本申请实施例中,通过将步骤308中确定的目标修复数据进行修复处理,获得经过一次处理后的目标音源数据。

在一种可能的实现方式中,将目标修复数据,替换为目标修复数据与修复临界值的比值,获得修复后的目标音源数据。

示例性的,若通过步骤308确定的目标修复数据对应的幅度极值是x以及-y,并且确定的修复临界值是z,则将x/z以及-y/z替换为处理后的幅度值,获得替换幅度值后的目标音源数据。

步骤310,基于处理后的目标音源数据的波形图,获取处理后的目标音源数据的幅度极值。

在一种可能的实现方式中,再次进行波形图中的波峰值以及波谷值的检测,获取处理后的目标音源数据对应的幅度极值,并且继续与修复临界值进行比较。

步骤311,响应于至少一个幅度极值超过修复临界值,将超过修复临界值的幅度极值确定为新的目标修复数据。

在本申请实施例中,当检测到进行处理后的波形图中仍然存在至少一个幅度极值大于修复临界值,则需要继续对大于修复临界值的幅度极值进行基于修复临界值的处理,生成新的处理后的目标音源数据。

步骤312,响应于幅度极值未超过修复临界值,将处理后的目标音源数据确定为修复后的目标音源数据。

在一种可能的实现方式中,当处理后的目标音源数据中检测得到的幅度极值不存在超过修复临界值的情况时,停止继续对幅度极值进行检测,以及停止对目标音源数据进行进一步处理更新,将最后一次处理得到的目标音源数据确定为修复后的目标音源数据。

示例性的,首先终端可以以二进制的形式读取合成音源数据对应的音频文件的内容,然后获得合成音源数据的整个波形图的最大的波峰值以及最小的波谷值。将该音频文件以10秒为单位进行拆分,判断拆分后的各个局部波峰是否大于修复临界值a。若获取到的波峰值c判断大于a,即使用算术公式更新后的c=c/a对幅度值进行修改。同时,判断各个局部波谷值是否小于-a。若波谷值d判断小于-a,即使用算术公式更新后的d=d/a对幅度值进行修改,直到波形图中的最大幅度值以及最小幅度值均不超过修改临界值后,停止继续检测修复,并且该音源文件修复完成,输出该新的音频文件。

图4是本申请实施例涉及的一种合成音源数据波形图以及频谱图的示意图,如图4所示,通过使用音频编辑软件可以查看合成音源数据的波形图和频谱图,其中上方的示意图40是以指定比例显示的波形图401以及频谱图402的示意图,在该指定比例下,通过观察频谱图402中的异常区域431,可以得到频谱图中的高频部分有明显的突出。然后,放大频谱图可以得到下方的示意图41,在下方的示意图41中包括放大后的波形图411以及放大后的频谱图412,通过观察放大后的波形图411中的异常区域432可以得到对应的波形图上的幅度值发生突变。

经过上述实施例的方案对合成音源数据进行修复后,再次通过软件查看修复后的合成音源数据的波形图和频谱图,图5是本申请实施例涉及的一种修复后的合成音源数据波形图以及频谱图的示意图。如图5所示,其中上方的示意图50是以指定比例显示的波形图501以及频谱图502的示意图,在该指定比例下,通过观察频谱图502中的修复前异常区域531,可以得到频谱图中的高频部分阴影变浅。然后,放大频谱图可以得到下方的示意图51,在下方的示意图51中包括放大后的波形图511以及放大后的频谱图512,通过观察放大后的波形图511中的修复前异常区域532可以得到对应的波形图上的幅度值变得平缓。

综上所述,本申请实施例提供的音源数据修复方法,通过在获取到目标音源数据后,利用由合成音源样本得到的修复临界值对超过修复临界值对应幅度值的部分目标音源数据进行处理,然后获得修复后的目标音源数据,通过上述方案,将合成音源数据作为目标音源数据,对其中振幅过高或者过低的部分进行修正,从而抑制其中破音或者音质破损的部分,提高了合成音源数据的音质。

图6示出了本申请一示例性实施例示出的音源数据修复装置的方框图,如图6所示,该音源数据修复装置包括:

数据获取模块610,用于获取目标音源数据;所述目标音源数据是从原始音源数据中去除指定类型声音后经过合成处理得到的合成音源数据;

目标获取模块620,用于将所述目标音源数据与修复临界值进行比较,获取对应的振幅超过所述修复临界值的部分数据作为目标修复数据;所述修复临界值是基于合成音源数据样本得到的振幅值;

目标修复模块630,用于基于所述修复临界值,对所述目标修复数据进行处理,获得修复后的所述目标音源数据。

在一种可能的实现方式中,所述目标获取模块620,包括:

第一极值获取子模块,用于基于所述目标音源数据的波形图,获得所述目标音源数据的幅度极值;所述幅度极值包括至少一个波峰值以及至少一个波谷值;

目标确定子模块,用于将绝对值超过所述修复临界值的所述幅度极值确定为所述目标修复数据;

所述目标修复模块630,包括:

目标处理子模块,用于基于所述修复临界值,对所述目标修复数据进行处理,获得处理后的目标音源数据;

第二极值获取子模块,用于基于所述处理后的目标音源数据的波形图,获取所述处理后的目标音源数据的所述幅度极值;

继续处理子模块,用于响应于至少一个所述幅度极值超过所述修复临界值,将超过所述修复临界值的所述幅度极值确定为新的所述目标修复数据;

目标确定子模块,用于响应于所述幅度极值未超过所述修复临界值,将所述处理后的所述目标音源数据确定为修复后的所述目标音源数据。

在一种可能的实现方式中,所述数据获取模块610,包括:

数据切分子模块,用于按照指定时长对所述原始音源数据进行切分,获得多个原始音源数据段;

数据获取子模块,用于去除所述多个原始音源数据段的所述指定类型声音,将去除所述指定类型声音的所述多个原始音源数据段进行合成获得所述目标音源数据。

在一种可能的实现方式中,所述装置还包括:

样本获取模块,用于将所述目标音源数据与修复临界值进行比较,获取超过所述修复临界值的部分数据作为目标修复数据之前,获取合成音源数据集合;所述合成音源数据集合中包括至少一个合成音源数据样本;

特征获取模块,用于将至少一个所述合成音源数据样本依次输入特征提取网络,由所述特征提取网络输出所述合成音源数据样本对应的特征矩阵;所述特征提取网络是用于基于所述合成音源数据样本对应的频谱图,生成所述特征矩阵的卷积神经网络;所述特征矩阵用于指示所述频谱图中两个通道分别对应的实值与虚值之间的距离特征;

幅值获取模块,用于基于至少一个所述合成音源数据样本对应的所述特征矩阵,获得至少一个所述合成音源数据样本对应的幅值矩阵;所述幅值矩阵用于指示所述合成音源数据样本在进行高频抑制处理后的各个采样点上对应的幅值;

样本极值获取模块,用于基于至少一个所述合成音源数据样本对应的所述幅值矩阵,获取至少一个所述合成音源数据样本对应的幅值极值;所述幅值极值包括幅值最大值以及幅值最小值中的至少一个;

临界值确定模块,用于基于至少一个所述合成音源数据样本对应的所述幅值极值,确定所述修复临界值。

在一种可能的实现方式中,所述特征获取模块,包括:

原始获取子模块,用于将所述合成音源数据样本转化为原始幅值矩阵;所述原始幅值矩阵用于指示所述合成音源数据样本的各个采样点上的音频幅值;

频谱转换子模块,用于通过短时傅里叶变换公式,将所述原始幅值矩阵转换为频谱图矩阵;

低频生成子模块,用于通过矩阵裁剪,去除所述频谱图矩阵中频率数值大于第一临界值的部分,生成低频频谱图矩阵;所述低频频谱图矩阵用于指示频率小于第一临界值的各个采样点对应的音频能量;

距离矩阵获取子模块,用于基于平方差公式对所述低频频谱图矩阵进行计算,确定所述合成音源数据样本对应的低频频谱图距离矩阵;

特征获取子模块,用于将所述低频频谱图距离矩阵输入所述特征提取网络,由所述特征提取网络输出所述特征矩阵。

在一种可能的实现方式中,所述幅值获取模块,包括:

目标特征生成子模块,用于将所述合成音源数据样本对应的所述特征矩阵,与所述低频频谱图矩阵进行点积操作,生成目标特征矩阵;所述目标特征矩阵是叠加有所述距离特征的低频频谱图矩阵;

目标处理子模块,用于将所述目标特征矩阵的指定维度下对应的高频部分进行填充补零处理,所述指定维度为用于指示所述频谱图频率的维度;

幅值获取子模块,用于基于反傅里叶变换公式,获得所述合成音源数据样本对应的所述幅值矩阵。

在一种可能的实现方式中,所述临界值确定模块,包括:

确定子模块,用于对至少一个所述合成音源数据样本对应的所述幅值极值的绝对值取平均,获得所述修复临界值。

在一种可能的实现方式中,所述目标修复模块630,包括:

目标修复子模块,用于将所述目标修复数据,替换为所述目标修复数据与所述修复临界值的比值,获得修复后的所述目标音源数据。

综上所述,本申请实施例提供的音源数据修复方法,通过在获取到目标音源数据后,利用由合成音源样本得到的修复临界值对超过修复临界值对应幅度值的部分目标音源数据进行处理,然后获得修复后的目标音源数据,通过上述方案,将合成音源数据作为目标音源数据,对其中振幅过高或者过低的部分进行修正,从而抑制其中破音或者音质破损的部分,提高了合成音源数据的音质。

图7是根据一示例性实施例示出的计算机设备700的结构框图。该计算机设备700可以是图1所示的终端,比如智能手机、平板电脑或台式电脑。计算机设备700还可能被称为目标用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,计算机设备700包括有:处理器701和存储器702。

处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的方法。

在一些实施例中,计算机设备700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。

在一些实施例中,计算机设备700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。

本领域技术人员可以理解,图7中示出的结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图8示出了本申请一示例性实施例示出的计算机设备800的结构框图。该计算机设备可以实现为本申请上述方案中的服务器。所述计算机设备800包括中央处理单元(centralprocessingunit,cpu)801、包括随机存取存储器(randomaccessmemory,ram)802和只读存储器(read-onlymemory,rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括用于存储操作系统809、应用程序810和其他程序模块811的大容量存储设备806。

所述大容量存储设备806通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备806及其相关联的计算机可读介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备806可以包括诸如硬盘或者只读光盘(compactdiscread-onlymemory,cd-rom)驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读寄存器(erasableprogrammablereadonlymemory,eprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)闪存或其他固态存储设备,cd-rom、数字多功能光盘(digitalversatiledisc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备806可以统称为存储器。

根据本公开的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元807连接到网络808,或者说,也可以使用网络接口单元807来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,中央处理器通过执行该至少一条指令、至少一段程序、代码集或指令集来实现上述各个实施例所示的音源数据修复方法中的全部或者部分步骤。

本领域技术人员可以理解,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述场景画面展示方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

在一示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图3任一实施例所示方法的全部或部分步骤。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1