扩展音频频带的方法、装置、设备以及存储介质与流程
本申请涉及计算机技术领域,特别涉及一种扩展音频频带的方法、装置、设备以及存储介质。
背景技术:
随着科技的进步,由于音质较好的音频的数据量较大,所占用的存储空间也就较大。因此,往往将音质较好的音频的高频数据进行去除,以降低音频的存储空间。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
当播放的音频的音质较差时,音频的播放效果差,严重的影响了用户的听歌体验。
技术实现要素:
为了解决相关技术中存在的技术问题,本申请实施例提供了一种扩展音频频带的方法、装置、设备以及存储介质。该技术方案如下:
第一方面,本申请实施例提供了一种扩展音频频带的方法,所述方法包括:
获取目标音频的频域数据模和时域数据;
基于所述频域数据模和预先训练的频域频带扩展模型,获取添加高频数据后的频域数据模;
基于所述时域数据和预先训练的时域频带扩展模型,获取添加高频数据后的时域数据;
基于所述添加高频数据后的频域数据模和所述添加高频数据后的时域数据,获取所述目标音频经过音频频带扩展后的时域数据。
可选的,所述基于所述添加高频数据后的频域数据模和所述添加高频数据后的时域数据,获取所述目标音频经过音频频带扩展后的时域数据,包括:
对所述添加高频数据后的时域数据进行短时傅里叶变换,获取变换后的频域数据;
基于所述添加高频数据后的频域数据模和所述变换后的频域数据,获取所述目标音频经过音频频带扩展后的频域数据;
对所述目标音频经过音频频带扩展后的频域数据进行短时傅里叶逆变换,获取所述目标音频经过音频频带扩展后的时域数据。
可选的,所述基于所述添加高频数据后的频域数据模和所述变换后的频域数据,获取所述目标音频经过音频频带扩展后的频域数据,包括:
获取所述变换后的频域数据模和相位;
根据所述添加高频数据后的频域数据模以及所述添加高频数据后的频域数据模对应的权重、所述变换后的频域数据模以及所述变换后的频域数据模对应的权重,获取所述目标音频经过音频频带扩展后的频域数据模;
根据所述目标音频经过音频频带扩展后的频域数据模以及所述变换后的频域数据的相位,获取所述目标音频经过音频频带扩展后的频域数据。
可选的,所述方法还包括:
基于样本音频对应的基准时域数据,获得去除高频数据后的基准时域数据和去除高频数据后的基准频域数据模;
基于所述基准时域数据、所述去除高频数据后的基准频域数据模对初始频域频带扩展模型进行训练,以得到单独训练的频域频带扩展模型;
基于所述基准时域数据、所述去除高频数据后的基准时域数据对初始时域频带扩展模型进行训练,以得到单独训练的时域频带扩展模型;
基于所述基准时域数据、所述去除高频数据后的基准时域数据以及所述去除高频数据后的基准频域数据模,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行综合训练,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型。
可选的,
所述基于所述基准时域数据、所述去除高频数据后的基准频域数据模对初始频域频带扩展模型进行训练,以得到单独训练的频域频带扩展模型,包括:
将所述去除高频数据后的基准频域数据模输入到初始频域频带扩展模型,输出重新添加高频数据后的基准频域数据模;
基于所述重新添加高频数据后的基准频域数据模和所述基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第一时域损失信息;
基于所述第一时域损失信息,对所述初始频域频带扩展模型中的权重参数进行调整,以得到单独训练的频域频带扩展模型。
可选的,所述基于所述基准时域数据、所述去除高频数据后的基准时域数据对初始时域频带扩展模型进行训练,以得到单独训练的时域频带扩展模型,包括:
将所述去除高频数据后的基准时域数据输入到初始时域频带扩展模型中,输出重新添加高频数据后的基准时域数据;
基于所述重新添加高频数据后的基准时域数据和所述基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第二时域损失信息;
基于所述第二时域损失信息,对所述初始时域频带扩展模型中的权重参数进行调整,以得到单独训练的时域频带扩展模型。
可选的,所述基于所述基准时域数据、所述去除高频数据后的基准时域数据以及所述去除高频数据后的基准频域数据模,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行综合训练,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型,包括:
基于所述去除高频数据后的基准频域数据模和所述单独训练的频域频带扩展模型,获取重新添加高频数据后的基准频域数据模;
基于所述去除高频数据后的基准时域数据和所述单独训练的时域频带扩展模型,获取重新添加高频数据后的基准时域数据;
基于所述重新添加高频数据后的基准频域数据模和所述重新添加高频数据后的基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第三时域损失信息;
基于所述第三时域损失信息,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行调整,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型。
第二方面,本申请实施例提供了一种扩展音频频带的装置,所述装置包括:
第一获取模块,被配置为获取目标音频的频域数据模和时域数据;
第二获取模块,被配置为基于所述频域数据模和预先训练的频域频带扩展模型,获取添加高频数据后的频域数据模;
第三获取模块,被配置为基于所述时域数据和预先训练的时域频带扩展模型,获取添加高频数据后的时域数据;
第四获取模块,被配置为基于所述添加高频数据后的频域数据模和所述添加高频数据后的时域数据,获取所述目标音频经过音频频带扩展后的时域数据。
可选的,所述第四获取模块,被配置为:
对所述添加高频数据后的时域数据进行短时傅里叶变换,获取变换后的频域数据;
基于所述添加高频数据后的频域数据模和所述变换后的频域数据,获取所述目标音频经过音频频带扩展后的频域数据;
对所述目标音频经过音频频带扩展后的频域数据进行短时傅里叶逆变换,获取所述目标音频经过音频频带扩展后的时域数据。
可选的,所述第四获取模块,被配置为:
获取所述变换后的频域数据模和相位;
根据所述添加高频数据后的频域数据模以及所述添加高频数据后的频域数据模对应的权重、所述变换后的频域数据模以及所述变换后的频域数据模对应的权重,获取所述目标音频经过音频频带扩展后的频域数据模;
根据所述目标音频经过音频频带扩展后的频域数据模以及所述变换后的频域数据的相位,获取所述目标音频经过音频频带扩展后的频域数据。
可选的,所述装置还包括训练模块,所述训练模块,被配置为:
基于样本音频对应的基准时域数据,获得去除高频数据后的基准时域数据和去除高频数据后的基准频域数据模;
基于所述基准时域数据、所述去除高频数据后的基准频域数据模对初始频域频带扩展模型进行训练,以得到单独训练的频域频带扩展模型;
基于所述基准时域数据、所述去除高频数据后的基准时域数据对初始时域频带扩展模型进行训练,以得到单独训练的时域频带扩展模型;
基于所述基准时域数据、所述去除高频数据后的基准时域数据以及所述去除高频数据后的基准频域数据模,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行综合训练,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型。
可选的,所述训练模块,被配置为:
将所述去除高频数据后的基准频域数据模输入到初始频域频带扩展模型,输出重新添加高频数据后的基准频域数据模;
基于所述重新添加高频数据后的基准频域数据模和所述基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第一时域损失信息;
基于所述第一时域损失信息,对所述频域频带扩展模型中的权重参数进行调整,以得到单独训练的频域频带扩展模型。
可选的,所述训练模块,被配置为:
将所述去除高频数据后的基准时域数据输入到初始时域频带扩展模型中,输出重新添加高频数据后的基准时域数据;
基于所述重新添加高频数据后的基准时域数据和所述基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第二时域损失信息;
基于所述第二时域损失信息,对所述时域频带扩展模型中的权重参数进行调整,以得到单独训练的时域频带扩展模型。
可选的,所述训练模块,被配置为:
基于所述去除高频数据后的基准频域数据模和所述单独训练的频域频带扩展模型,获取重新添加高频数据后的基准频域数据模;
基于所述去除高频数据后的基准时域数据和所述单独训练的时域频带扩展模型,获取重新添加高频数据后的基准时域数据;
基于所述重新添加高频数据后的基准频域数据模和所述重新添加高频数据后的基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第三时域损失信息;
基于所述第三时域损失信息,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行调整,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型。
第三方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如第一方面所述的扩展音频频带的方法所执行的操作。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如第一方面所述的扩展音频频带的方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例可以分别对低分辨率的音频信号对应的时域数据和频域数据模添加高频数据,进而将添加高频数据的时域数据和添加高频数据的频域数据模进行融合,获取到经过音频频带扩展之后的时域数据,即高分辨率的音频信号。可见,本申请实施例通过对低分辨率的音频信号进行音频频带扩展,来获得高分辨率的音频信号,进而提高了音频的音质,使得音频的播放效果更好,进一步的提高了用户的听歌体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种扩展音频频带的实施环境示意图;
图2是本申请实施例提供的一种扩展音频频带的方法流程图;
图3是本申请实施例提供的一种扩展音频频带的示意图;
图4是本申请实施例提供的一种训练机器学习模型的方法流程图;
图5是本申请实施例提供的一种扩展音频频带的示意图;
图6是本申请实施例提供的一种扩展音频频带的示意图;
图7是本申请实施例提供的一种扩展音频频带的装置结构示意图;
图8是本申请实施例提供的一种终端结构示意图;
图9是本申请实施例提供的一种服务器结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种扩展音频频带的实施环境示意图,如图1所示,该实施环境可以包括:服务器101和终端102。
服务器101可以是一台服务器,也可以是多台服务器组成的服务器集群。服务器101可以是云计算平台和虚拟化中心中的至少一种,本申请实施例对此不做限定。服务器101可以用于接收终端发送的播放请求,该播放请求中携带有目标音频的标识,也可以用于根据播放请求中携带的目标音频的标识,查找目标音频,还可以用于将终端请求的目标音频发送给终端。当然,该服务器101还可以包括其他功能服务器,以便提供更加全面且多样化的服务。
终端102可以是智能手机、游戏主机、台式计算机、平板电脑、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机中的至少一种。终端102通过有线网络或无线网络与服务器101相连,终端102中安装和运行有支持播放音乐的应用程序。终端102可以用于在接收到用户触发的目标音频的播放指令之后,向服务器发送携带有目标音频的标识的播放请求,还可以用于接收服务器发送的目标音频,还可以用于当检测出目标音频为低分辨率的音频时,对目标音频进行频带扩展,还可以用于对扩展频带之后的目标音频进行播放。
本申请实施例提供的方法,可以应用于音乐应用程序,也可以应用于其他音频播放程序。以音乐应用程序为例,用户在终端上打开音乐应用程序,终端上显示音乐应用程序的主界面。用户可以在音乐应用程序的主界面上直接搜索目标音频,当然,用户也可以点击主界面上显示的任一音频,将其作为目标音频。在终端接收到目标音频的播放指令之后,终端向服务器发送音频获取请求,该音频获取请求中携带有目标音频的标识。当服务器接收到终端发送的音频获取请求,服务器根据音频获取请求中的目标音频的标识查找目标音频,并将查找到的目标音频发送给终端。终端接收到服务器发送的目标音频后,通过本申请实施例提供的方法对目标音频的音频频带进行扩展,进而获得音频频带扩展之后的目标音频,并对音频频带扩展之后的目标音频进行播放。由于播放的音频经过音频频带扩展后音质得到提升,从而提高了用户的听歌体验。
本申请实施例提供了一种扩展音频频带的方法,以图2所示的本申请实施例提供的一种扩展音频频带的方法的流程图为例进行说明。如图2所示,该方法包括下述步骤:
步骤201,获取目标音频的频域数据模和时域数据。
其中,目标音频为低分辨率的音频信号,即需要进行音频频带扩展的音频信号。
在实施中,获取目标音频的模拟信号,对模拟信号进行模拟数字变换(a/d),获得目标音频对应的数字信号,进而获得目标音频的时域数据,对目标音频的时域数据进行短时傅里叶变换,获得目标音频的频域数据,对目标音频的频域数据进行取模运算,获得目标音频的频域数据模。当然,还可以通过其他方式获取目标音频的时域数据,本申请实施例并不做具体限定。
在一实施例中,在一些对数据传输速率要求较高的场景中,终端可以在接收到目标音频的播放指令之后,向服务器发送音频获取请求,该音频获取请求中携带有目标音频的标识。服务器接收到音频获取请求之后,根据音频获取请求中的目标音频的标识查找目标音频,并将查找到的目标音频发送给终端。终端接收到服务器发送的目标音频后,检测目标音频是否为高分辨率的音频。如果目标音频是低分辨率的音频,则对目标音频进行音频频带扩展处理,进而获取高分辨率的目标音频。
需要说明的是,服务器存储的目标音频可能为低分辨率的音频。低分辨率音频可能是服务器采用较低的采样频率对高分辨率的音频进行采样得到,这样处理不仅可以降低目标音频的码率,进而满足网络的带宽要求和实时性要求,还可以减小目标音频在服务器占用的空间。在本申请实施例中,可以通过检测音频中的高频频段所占的时长是否大于预设时长,当音频中的高频频段所占的时长大于预设时长时,确定该音频为高分辨率的音频;当音频中的高频频段所占的时长小于预设时长时,确定该音频为低分辨率的音频,其中,高频频段为频率高于预设频率的时间段。其中,也可采用其他方法降低高分辨率的音频的码率,本申请实施例对此不作要求。
当然,服务器存储的目标音频也可能为高分辨率的音频。具体地,在对数据的传输速率要求不高的场景下,服务器可以根据本申请实施例的方法对音频库中低分辨率的音频进行音频频谱扩展,得到高分辨率的音频,并进行存储。当服务器接收到终端发送的音频获取请求之后,服务器将高分辨率的目标音频发送给终端,进而无需每个终端对服务器发送的音频进行音频频带扩展,节省了终端的运算资源。
步骤202,基于频域数据模和预先训练的频域频带扩展模型,获取添加高频数据后的频域数据模。
其中,预先训练的频域频带扩展模型可以根据低分辨率频域数据模,获取到频域低频带频谱模,预测并获得频域高频带频谱模,进而获得由频域低频带频谱模和频域高频带频谱模拼接而成的频谱模(即添加高频数据后的频域数据模,或称为全频带频域数据模、或高分辨率频域数据模)。预先训练的频域频带扩展模型为机器学习模型,具体可以为神经网络模型,例如频域encoder-decoder模型,也就是说,基于频域数据模和预先训练的频域encoder-decoder模型,获得添加高频数据后的频域数据模。
以图3为例进行说明,获得低分辨率的音频信号,进而获得该音频信号对应的低分辨率时域数据xt,f,将低分辨率时域数据xt,f输入到tf.abs(tf.stft)算子,获得低分辨率频域数据模|xt,f|。将低分辨率频域数据模|xt,f|输入到预先训练的频域频带扩展模型f-unet中,获取高分辨率频域数据模|xf-unett,f|。
其中,tf.abs(tf.stft)算子用于对低分辨率时域数据xt,f进行短时傅里叶变换,获得低分辨率频域数据xt,f,并对低分辨率频域数据xt,f进行取模运算,获取低分辨率频域数据模|xt,f|。
需要说明的是,低分辨率频域数据xt,f与低分辨率频域数据模|xt,f|之间的关系满足公式
进一步的,在低分辨率频域数据模输入到预先训练的频域频带扩展模型f-unet时,由于该频域频带扩展模型f-unet可以预测高频带频谱模,并将低频带频谱模与高频带频谱模进行融合,进而频域频带扩展模型f-unet输出高分辨率频域数据模。
步骤203,基于时域数据和预先训练的时域频带扩展模型,获取添加高频数据后的时域数据。
其中,时域数据可以是低分辨率时域数据,添加高频数据后的时域数据可以是高分辨率时域数据。其中,高分辨率时域数据为对低分辨率时域数据添加多个高频数据得来的时域数据。预先训练的时域频带扩展模型可以用于通过低分辨率时域数据,来预测并获得高分辨率时域数据。预先训练的时域频带扩展模型为机器学习模型,可以是神经网络模型如时域encoder-decoder模型。
步骤204,基于添加高频数据后的频域数据模和添加高频数据后的时域数据,获取目标音频经过音频频带扩展后的时域数据。
其中,目标音频经过音频频带扩展后的时域数据是通过对添加高频数据后的频域数据模和添加高频数据后的时域数据进行融合而获得。
本申请实施例的方法由于将添加高频数据的时域数据和添加高频数据的频域数据模进行融合,进而将低分辨率的音频信号转换为高分辨率的音频信号,可以显著提高音频信号的泛化能力,生成后的音频听感更加自然协调。在实际应用过程中,可以将服务器或者终端中存储的分辨率过低的音频过滤出来,然后通过本申请实施例的方法生成高分辨率的音频,由于生成的高分辨率的音频的频谱高度成倍增加,歌曲音质有所提升,从而提高了用户的听歌体验。
可选的,对添加高频数据后的时域数据进行短时傅里叶变换,获取变换后的频域数据;基于添加高频数据后的频域数据模和变换后的频域数据,获取目标音频经过音频频带扩展后的频域数据;对目标音频经过音频频带扩展后的频域数据进行短时傅里叶逆变换,获取目标音频经过音频频带扩展后的时域数据。
其中,变换后的频域数据是对添加高频数据后的时域数据进行短时傅里叶变换而来的频域数据,而添加高频数据后的时域数据可以为高分辨率时域数据,对高分辨率时域数据进行短时傅里叶变换,获得高分辨率频域数据。因此,变换后的频域数据为高分辨率频域数据。将该高分辨率频域数据和步骤202获得的高分辨率频域数据模进行融合,获得融合之后的高分辨率频域数据。对融合之后的高分辨率频域数据进行短时傅里叶逆变换,获得高分辨率的音频信号。
例如,如图3所示,获得低分辨率的音频信号,进而获得低分辨率时域数据xt,f,将低分辨率时域数据xt,f输入到tf.abs(tf.stft)算子中,获取到低分辨率频域数据模|xt,f|。将低分辨率频域数据模|xt,f|输入到预先训练的频域频带扩展模型f-unet中,获取高分辨率频域数据模|xf-unet,f|。将低分辨率时域数据xt,f输入到预先训练的时域频带扩展模型t-unet中,获得高分辨率时域数据xt-unett,f。将高分辨率时域数据xt-unett,f输入到tf.stft算子中,输出高分辨率频域数据xt-unett,f。根据高分辨率频域数据xt-unett,f和高分辨率频域数据模|xf-unett,f|,获得融合之后的高分辨率频域数据yt,f,将高分辨率频域数据yt,f输入到tf.istft算子中,获取到目标音频经过频带扩展的高分辨率时域数据yt,f,进而获得高分辨率的音频信号。
其中,tf.istft算子用于对频域数据进行短时傅里叶逆变换,获得时域数据。tf.stft算子用于对时域数据进行短时傅里叶变换,获得频域数据。
可选的,获取变换后的频域数据模和相位;根据添加高频数据后的频域数据模以及添加高频数据后的频域数据模对应的权重、变换后的频域数据模以及变换后的频域数据模对应的权重,获取目标音频经过音频频带扩展后的频域数据模;根据目标音频经过音频频带扩展后的频域数据模以及变换后的频域数据的相位,获取目标音频经过音频频带扩展后的频域数据。
其中,添加高频数据后的频域数据模可以为高分辨率频域数据模。添加高频数据后的频域数据模的权重与变换后的频域数据模的权重之和为1。
在实施中,将添加高频数据后的频域数据模|xf-unett,f|、变换后的频域数据模|xt-unett,f|以变换后的频域数据的相位
本申请实施例可以根据低分辨率的音频信号,获得音频信号对应的低分辨率时域数据和低分辨率频域数据模,进而对低分辨率时域数据和低分辨率频域数据模添加高频数据,进而获得添加高频数据后的低分辨率时域数据和添加高频数据后的低分辨率频域数据模。将两者进行融合,进而获得融合之后的高分辨率时域数据。此时,融合之后的高分辨率频域数据包含丰富的高频数据,也包含了相位信息,因此,可以准确的而获得融合之后的高分辨率频域数据对应的高分辨率时域数据。而由高分辨率的时域数据获得到音频,包含的高频数据丰富,进而使得该音频的旋律根据的明亮和欢快,提高了用户的听歌体验。
本申请实施例提供了一种训练机器学习模型的方法,以图4所示的本申请实施例提供的一种训练方法的流程图为例。如图4所示,该方法包括下述步骤:
步骤401,基于样本音频对应的基准时域数据,获得去除高频数据后的基准时域数据和去除高频数据后的基准频域数据模。
需要说明的是,样本音频是在样本库中获取的,样本库中预先存储了大量的高分辨率的样本音频。
在实施中,获取样本音频的音频信号,并对获取到的音频信号进行ad转换后,获取样本音频对应的数字信号,或者,直接对脉冲解码pcm格式的样本音频进行采样,获得样本音频对应的数字信号,进而根据获取到数字信号,获得样本音频对应的时域数据,并将样本音频对应的时域数据作为基准时域数据。将样本音频对应的基准时域数据中的高频数据进行去除,获得去除高频数据后的基准时域数据。对去除高频数据后的基准时域数据进行短时傅里叶变换,获得去除高频数据后的基准频域数据,对去除高频数据后的基准频域数据进行取模运算,获得去除高频数据后的基准频域数据模。
其中,去除高频数据的方法可以将样本音频对应的音频信号输入低通滤波器中,进而获取去除高频数据后的音频信号,进而获得去除高频数据的时域数据。本申请实施例也可以通过其他去除高频数据的方法去除样本音频中的高频数据。
步骤402,基于基准时域数据、去除高频数据后的基准频域数据模对初始频域频带扩展模型进行训练,以得到单独训练的频域频带扩展模型。
其中,此时的频域频带扩展模型是未经过训练的频域频带扩展模型。
可选的,将去除高频数据后的基准频域数据模输入到初始频域频带扩展模型,输出重新添加高频数据后的基准频域数据模;基于重新添加高频数据后的基准频域数据模和基准时域数据,获取样本音频经过音频频带扩展后的时域数据;基于基准时域数据和样本音频经过音频频带扩展后的时域数据,确定第一时域损失信息;基于第一时域损失信息,对初始频域频带扩展模型中的权重参数进行调整,以得到单独训练的频域频带扩展模型。
在一次训练过程中,在样本库中选取出任一样本音频,并获取该样本音频对应的基准时域数据和去除高频数据后的基准频域数据。对去除高频数据后的基准频域数据进行取模处理,获得去除高频数据后的基准频域数据模,并将其输入到初始频域频带扩展模型中,输出重新添加高频数据后的基准频域数据模。对基准时域数据进行短时傅里叶变换,获得基准频域数据。根据重新添加高频数据后的基准频域数据模以及重新添加高频数据后的基准频域数据模对应的权重、基准频域数据模以及基准频域数据模对应的权重,获取第一参考频域数据模,即样本音频经过音频频带扩展后的频域数据模。根据第一参考频域数据模,以及基准频域数据的相位,确定出第一参考频域数据。对第一参考频域数据进行短时傅里叶逆变换,获得第一参考时域数据。当基准时域数据和第一参考时域数据的差异信息大于第一预设阈值时,确定第一时域损失信息。基于第一时域损失信息,对初始频域频带扩展模型中的权重参数进行调整。重复进行多次训练,直至当基准时域数据和第一参考时域数据的差异信息小于第一预设阈值时,停止训练,并获得单独训练之后的频域频带扩展模型。
例如,如图5所示,对于一次训练过程,在样本库中选取出任一样本音频,并获取该样本音频对应的基准时域数据yt,f。对基准时域数据yt,f进行去除高频数据的处理,获取去除高频数据后的低分辨率时域数据xt,f。将低分辨率时域数据xt,f输入到tf.abs(tf.stft)算子中,获得低分辨率频域数据模|xt,f|。将低分辨率频域数据模|xt,f|输入到初始频域频带扩展模型f-unet中,获取到高分辨率频域数据模|xf-unett,f|。对基准时域数据yt,f进行短时傅里叶逆变换,获得基准频域数据yt,f。根据高分辨率频域数据模|xf-unett,f|和基准频域数据yt,f,获得第一参考频域数据y′t,f。对第一参考频域数据y′t,f进行短时傅里叶逆变换,获得第一参考时域数据y′t,f。当第一参考时域数据y′t,f与基准时域数据yt,f之间的差异信息小于预设阈值时,计算出第一时域损失信息,进而根据计算出的第一时域损失信息,对初始频域频带扩展模型f-unet中的权重进行调整,从而完成一次训练过程。再基于样本库中的其他样本音频,对在上一次训练过程中获取到的频域频带扩展模型f-unet进行重复训练。在经过多次训练之后,检测到第一参考时域数据y′t,f与基准时域数据yt,f之间的差异信息小于第一预设阈值时,获取单独训练后的频域频带扩展模型f-unet。
步骤403,基于基准时域数据、去除高频数据后的基准时域数据对初始时域频带扩展模型进行训练,以得到单独训练的时域频带扩展模型。
其中,基准时域数据是高分辨率的样本音频对应的时域数据,该基准时域数据可以与训练过程中最终获得到重新添加高频数据的时域数据进行对比,通过比较两者的差异,调整训练模型的参数信息,进而使得基准时域数据与训练过程中最终获得到重新添加高频数据的时域数据相同或者相近。此时的时域频带扩展模型是未经过训练的时域频带扩展模型。
可选的,将去除高频数据后的基准时域数据输入到初始时域频带扩展模型中,输出重新添加高频数据后的基准时域数据;基于重新添加高频数据后的基准时域数据和基准时域数据,获取样本音频经过音频频带扩展后的时域数据;基于基准时域数据和样本音频经过音频频带扩展后的时域数据,确定第二时域损失信息;基于第二时域损失信息,对初始时域频带扩展模型中的权重参数进行调整,获取单独训练的时域频带扩展模型。
在一次训练过程中,在样本库中选取出任一样本音频,并获取该样本音频对应的基准时域数据和去除高频数据后的基准时域数据。将去除高频数据后的基准时域数据输入到初始时域频带扩展模型中,输出重新添加高频数据后的基准时域数据。对重新添加高频数据后的基准时域数据进行短时傅里叶变换,获得第一频域数据,其中,第一频域数据为对重新添加高频数据后的基准时域数据进行短时傅里叶变换得来的。对基准时域数据进行短时傅里叶变换,获得基准频域数据,并对基准频域数据进行取模,获取基准频域数据模。根据第一频域数据模和第一频域数据模对应的权重、基准频域数据模和基准频域数据模对应的权重,获取第二参考频域数据模,其中,第二参考数据为样本音频经过音频频带扩展后的频域数据。根据第二参考频域数据模,以及第一频域数据的相位,确定出第二参考频域数据。对第二参考频域数据进行短时傅里叶逆变换,获得第二参考时域数据。当基准时域数据和第二参考时域数据的差异信息小于第二预设阈值时,获得单独训练之后的频域频带扩展模型。当基准时域数据和第二参考时域数据大于预设阈值时,确定第二时域损失信息。根据第二时域损失信息,对上一次训练过程中获得的时域频带扩展模型中的权重参数进行调整。
例如,如图6所示,对于一次训练过程,在样本库中选取出任一样本音频,获取该样本音频对应的基准时域数据yt,f。对基准时域数据进行去除高频数据的处理,获得低分辨率时域数据xt,f。将低分辨率时域数据xt,f输入到初始时域频带扩展模型t-unet中,获取到高分辨率时域数据xt-unett,f。将高分辨率时域数据xt-unett,f输入到tf.stft算子中,输出高分辨率频域数据xt,f。将基准时域数据yt,f输入到tf.abs(tf.stft)算子中,输出基准频域数据模|yt,f|。根据基准频域数据模|yt,f|与高分辨率频域数据xt,f,获取第二参考频域数据y′t,f。将第二参考频域数据y′t,f输入到tf.istft算子中,获取到第二参考时域数据y′t,f。当第二参考时域数据y′t,f与基准时域数据yt,f之间的差异信息大于第二预设阈值时,计算出第二时域损失信息,根据第二时域损失信息,对初始时域频带扩展模型t-unet中的权重进行调整,进而完成一次训练过程。再基于样本库中的其他样本音频,对上次训练过程中获得的时域频带扩展模型t-unet进行重复训练。在经过多次训练之后,在检测到第二参考时域数据y′t,f与基准时域数据yt,f之间的差异信息小于预设阈值时,获取单独训练的时域频带扩展模型t-unet。
步骤404,基于基准时域数据、去除高频数据后的基准时域数据以及去除高频数据后的基准频域数据模,对单独训练的频域频带扩展模型和单独训练的时域频带扩展模型进行综合训练,获得预先训练的频域频带扩展模型和预先训练的时域频带扩展模型。
可选的,基于去除高频数据后的基准频域数据模和单独训练的频域频带扩展模型,获取重新添加高频数据后的基准频域数据模;基于去除高频数据后的基准时域数据和单独训练的时域频带扩展模型,获取重新添加高频数据后的基准时域数据;基于重新添加高频数据后的基准频域数据模和重新添加高频数据后的基准时域数据,获取样本音频经过音频频带扩展后的时域数据;基于基准时域数据和样本音频经过音频频带扩展后的时域数据,确定第三时域损失信息;基于第三时域损失信息,对单独训练的频域频带扩展模型和单独训练的时域频带扩展模型进行调整,获得预先训练的频域频带扩展模型和预先训练的时域频带扩展模型。
在实施中,在一次训练过程中,在样本库中选取出任一样本音频,并获取该样本音频对应的基准时域数据。对基准时域数据进行去除高频数据的处理,获取去除高频数据后的基准时域数据和去除高频数据后的基准频域数据。将去除高频数据后的基准时域数据输入到单独训练的时域频带扩展模型中,输出重新添加高频数据后的基准时域数据。对重新添加高频数据后的基准时域数据进行短时傅里叶变换,获得第二频域数据,其中,第二频率数据为对重新添加高频数据后的基准时域数据进行短时傅里叶变换获得的频域数据。对去除高频数据后的基准频域数据进行取模,获得去除高频数据后的基准频域数据模。将去除高频数据后的基准频域数据模输入到单独训练的频域频带扩展模型中,获取第三频域数据模,第三频域数据模为重新添加高频数据后的基准频域数据模。根据第二频域数据,以及第三频域数据模,获取第三参考频域数据,即样本音频经过音频频带扩展后的频域数据。对第三参考频域数据进行短时傅里叶逆变换,获得第三参考时域数据。当基准时域数据和第三参考时域数据的差异信息大于第三预设阈值时,确定第三时域损失信息。根据第三时域损失信息,对单独训练的时域频带扩展模型和单独训练的频域频带扩展模型中的权重参数进行调整。在多次训练之后,当基准时域数据和第三参考时域数据的差异信息小于第三预设阈值时,停止训练,并获得预先训练的频域频带扩展模型和预先训练的时域频带扩展模型。
本申请实施例提供的方法对频域频带扩展模型和域频带扩展模型进行单独训练,再综合训练单独训练的频域频带扩展模型和单独训练的频域频带扩展模型,使得最终的训练出的模型更加的准确。
基于相同的技术构思,本申请实施例还提供了一种装置,该装置用于服务器或者终端,如图7所示,该装置包括:
第一获取模块710,被配置为获取目标音频的频域数据模和时域数据;
第二获取模块720,被配置为基于所述频域数据模和预先训练的频域频带扩展模型,获取添加高频数据后的频域数据模;
第三获取模块730,被配置为基于所述时域数据和预先训练的时域频带扩展模型,获取添加高频数据后的时域数据;
第四获取模块740,被配置为基于所述添加高频数据后的频域数据模和所述添加高频数据后的时域数据,获取所述目标音频经过音频频带扩展后的时域数据。
可选的,所述第四获取模块740,被配置为:
对所述添加高频数据后的时域数据进行短时傅里叶变换,获取变换后的频域数据;
基于所述添加高频数据后的频域数据模和所述变换后的频域数据,获取所述目标音频经过音频频带扩展后的频域数据;
对所述目标音频经过音频频带扩展后的频域数据进行短时傅里叶逆变换,获取所述目标音频经过音频频带扩展后的时域数据。
可选的,所述第四获取模块740,被配置为:
获取所述变换后的频域数据模和相位;
根据所述添加高频数据后的频域数据模以及所述添加高频数据后的频域数据模对应的权重、所述变换后的频域数据模以及所述变换后的频域数据模对应的权重,获取所述目标音频经过音频频带扩展后的频域数据模;
根据所述目标音频经过音频频带扩展后的频域数据模以及所述变换后的频域数据的相位,获取所述目标音频经过音频频带扩展后的频域数据。
可选的,所述装置还包括训练模块,所述训练模块,被配置为:
基于样本音频对应的基准时域数据,获得去除高频数据后的基准时域数据和去除高频数据后的基准频域数据模;
基于所述基准时域数据、所述去除高频数据后的基准频域数据模对初始频域频带扩展模型进行训练,以得到单独训练的频域频带扩展模型;
基于所述基准时域数据、所述去除高频数据后的基准时域数据对初始时域频带扩展模型进行训练,以得到单独训练的时域频带扩展模型;
基于所述基准时域数据、所述去除高频数据后的基准时域数据以及所述去除高频数据后的基准频域数据模,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行综合训练,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型。
可选的,所述训练模块,被配置为:
将所述去除高频数据后的基准频域数据模输入到初始频域频带扩展模型,输出重新添加高频数据后的基准频域数据模;
基于所述重新添加高频数据后的基准频域数据模和所述基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第一时域损失信息;
基于所述第一时域损失信息,对所述初始频域频带扩展模型中的权重参数进行调整,以得到单独训练的频域频带扩展模型。
可选的,所述训练模块,被配置为:
将所述去除高频数据后的基准时域数据输入到初始时域频带扩展模型中,输出重新添加高频数据后的基准时域数据;
基于所述重新添加高频数据后的基准时域数据和所述基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第二时域损失信息;
基于所述第二时域损失信息,对所述初始时域频带扩展模型中的权重参数进行调整,以得到单独训练的时域频带扩展模型。
可选的,所述训练模块,被配置为:
基于所述去除高频数据后的基准频域数据模和所述单独训练的频域频带扩展模型,获取重新添加高频数据后的基准频域数据模;
基于所述去除高频数据后的基准时域数据和所述单独训练的时域频带扩展模型,获取重新添加高频数据后的基准时域数据;
基于所述重新添加高频数据后的基准频域数据模和所述重新添加高频数据后的基准时域数据,获取所述样本音频经过音频频带扩展后的时域数据;
基于所述基准时域数据和所述样本音频经过音频频带扩展后的时域数据,确定第三时域损失信息;
基于所述第三时域损失信息,对所述单独训练的频域频带扩展模型和所述单独训练的时域频带扩展模型进行调整,获得所述预先训练的频域频带扩展模型和所述预先训练的时域频带扩展模型。
需要说明的是:上述实施例提供的扩展音频频带的装置在对音频进行频带扩展时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的扩展音频频带的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8示出了本申请一个示例性实施例提供的终端800的结构框图。该终端800可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为账户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的扩展音频频带的方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、触摸显示屏805、摄像头806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、账户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示ui(userinterface,账户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬s声器。麦克风用于采集账户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件808可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏805以横向视图或纵向视图进行账户界面的显示。加速度传感器811还可以用于游戏或者账户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集账户对终端800的3d动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据账户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或触摸显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测账户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据账户对触摸显示屏805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集账户的指纹,由处理器801根据指纹传感器814采集到的指纹识别账户的身份,或者,由指纹传感器814根据采集到的指纹识别账户的身份。在识别出账户的身份为可信身份时,由处理器801授权该账户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商logo时,指纹传感器814可以与物理按键或厂商logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏805的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集账户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到账户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到账户与终端800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图9是本申请实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)901和一个或一个以上的存储器902,其中,所述存储器902中存储有至少一条指令,所述至少一条指令由所述处理器901加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中扩展音频频带的方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除