音频分离方法、装置、电子设备及存储介质
技术领域
本申请涉及音频数据处理技术领域,更具体地,涉及一种音频分离方法、装置、电子设备及存储介质。
背景技术
音乐是一种乐器音和歌声混合叠加而成的复杂音频信号,其中包含了各种乐器的伴奏和不同人的歌声。随着计算机信号处理技术和互联网技术的不断发展,音乐的声伴分离(人声和伴奏的分离)在某些领域有了广泛的应用,例如,音乐编辑、音乐检索(根据歌唱者的声音特质检索音乐或推荐音乐)、KTV***中音乐伴奏等等。为了保证这些应用场景的实现效果,需要得到较为纯净的伴奏声或者人声。然而,现在针对音乐的声伴分离技术还远远不能达到人们的要求。
发明内容
本申请实施例提出了一种音频分离方法、装置、电子设备及存储介质,能够比较准确地分离出混合音频中的纯净伴奏和纯净人声,提高了音频分离的效果。
第一方面,本申请实施例提供了一种音频分离方法,该方法包括:获取待处理的混合音频;提取所述混合音频的音频特征;将所述音频特征输入预先训练好的音频分离神经网络模型,所述音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,所述DenseBlock结构以及所述Hourglass结构用于根据所述音频特征逐级输出所述混合音频对应的伴奏音频特征和人声音频特征;获得所述音频分离神经网络模型输出的所述混合音频对应的伴奏音频特征和人声音频特征;基于所述伴奏音频特征和人声音频特征,获取所述混合音频对应的伴奏音频和人声音频,作为所述混合音频的音频分离结果。
第二方面,本申请实施例提供了一种音频分离装置,该装置包括:混音获取模块、特征提取模块、特征输入模块、特征输出模块以及结果获取模块。其中,混音获取模块用于获取待处理的混合音频;特征提取模块用于提取所述混合音频的音频特征;特征输入模块用于将所述音频特征输入预先训练好的音频分离神经网络模型,所述音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,所述DenseBlock结构以及所述Hourglass结构用于根据所述音频特征逐级输出所述混合音频对应的伴奏音频特征和人声音频特征;特征输出模块用于获得所述音频分离神经网络模型输出的所述混合音频对应的伴奏音频特征和人声音频特征;结果获取模块用于基于所述伴奏音频特征和人声音频特征,获取所述混合音频对应的伴奏音频和人声音频,作为所述混合音频的音频分离结果。
第三方面,本申请实施例提供了一种电子设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行上述第一方面提供的音频分离方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的音频分离方法。
本申请实施例提供的一种音频分离方法、装置、电子设备及存储介质,通过提取待处理的混合音频的音频特征,然后将音频特征输入预先训练好的音频分离神经网络模型,音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,DenseBlock结构以及Hourglass结构用于根据音频特征逐级输出混合音频对应的伴奏音频特征和人声音频特征,以获得音频分离神经网络模型输出的混合音频对应的伴奏音频特征和人声音频特征,并基于伴奏音频特征和人声音频特征,获取混合音频对应的伴奏音频和人声音频,作为混合音频的混音分离结果。从而通过预先训练好的包含DenseBlock结构以及Hourglass结构的音频分离神经网络模型,能够比较准确分离出混合音频中的纯净伴奏和纯净人声,提高了音频分离的效果的同时,提升了用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个实施例提供的音频分离方法的流程示意图。
图2示出了本申请实施例提供的一种DenseBlock结构的结构示意图。
图3示出了本申请实施例提供的一种Hourglass结构的结构示意图。
图4示出了本申请另一个实施例提供的音频分离方法的流程示意图。
图5示出了本申请实施例的音频分离方法中的步骤S220的流程示意图。
图6示出了本申请实施例提供的一种CNN特征提取通道以及BiLSTM特征提取通道的结构示意图。
图7示出了适用于本申请实施例的一种对混合音乐进行音频分离的流程示意框图。
图8示出了本申请实施例提供的一种音频分离神经网络模型的训练方法的流程示意图。
图9示出了本申请实施例的音频分离神经网络模型的训练方法中的步骤S320的流程示意图。
图10示出了本申请实施例的音频分离神经网络模型的训练方法中的步骤S330的流程示意图。
图11示出了本申请实施例的音频分离神经网络模型的训练方法中的步骤S340的流程示意图。
图12示出了本申请实施例提供的一种音频分离装置的模块框图。
图13示出了本申请实施例提供的一种电子设备的结构框图。
图14示出了本申请实施例的用于保存或者携带实现根据本申请实施例的音频分离方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
音乐是一种乐器音和歌声混合叠加而成的复杂音频信号,其中包含了各种乐器的伴奏和不同人的歌声,人工很难从这种复杂音频信息中分离出所需要的单一信息。音乐分离(Music Separation)技术,是音乐信号检索的一种基础研究,而对音乐中单一信息的自动提取技术在国际上正越来越被受到关注。音乐分离技术提取到纯净单一信息后,可以用于伴奏分离,自动歌词生成,乐器种类鉴别,歌词和音乐对齐,音高提取等各种信息检索技术。目前,现有的音乐分离技术主要包括人工音乐分离技术和机器学习音乐分离技术,而国际上主流的基于机器学习的方法包括基于数理统计的方法和基于深度学习的方法。
发明人在对现有的音乐分离方法进行了一系列研究后发现,基于人工的音乐分离技术是依靠音乐专家的辩听能力,将音乐中包含的乐器种类给辨识出来的方法,不仅耗时耗力,而且难度很高。基于机器学习的音乐分离技术是依靠机器建模,自动的将乐器种类辨识出来的方法,对比人工省时省力,但是辨识准确度一直是该方法的核心研究问题。因此,发明人训练了一种全新的音频分离神经网络模型,能够提高音乐分离的精确度,提高音乐的声伴分离效果,并提出了本申请实施例中的音频分离方法、装置、电子设备及存储介质,能够将混合音频的音频特征作为该新的音频分离神经网络模型的输入,从而得到分离后的人声音频特征和伴奏音频特征,进而得到混合音频中的纯净人声和纯净伴奏,有效且准确地提取了音乐中包含的各种信息,减少人工的参与和校验工作,提升音乐信息检索的效率。下面对本申请实施例提供的音频分离方法进行介绍。
请参阅图1,图1示出了本申请实施例提供的一种音频分离方法的流程示意图,可应用于电子设备,该音频分离方法可以包括:
步骤S110:获取待处理的混合音频。
在本申请实施例中,混合音频可以是一种将伴奏声和人声混合叠加而成的复杂音频信号,例如,音乐播放平台上的流行音乐、摇滚音乐等。在一些实施例中,混合音频中的人声可以是各种不同歌唱者的歌声,也可以是同一歌唱者的歌声;混合音频中的伴奏声可以是各种不同乐器发出的乐声,例如,吉他、小提琴、钢琴等发出的乐声,也可以是同一乐器发出的乐声,混合音频中人声和伴奏声的种类在此并不作限定。
在本申请实施例中,电子设备可以通过多种方式获取到混合音频。作为一种方式,电子设备可以通过音频***程序获取包括音频数据的第三方客户端程序的音频数据,进而得到混合音频。例如,通过音频***程序获取游戏类应用程序在运行过程中产生的游戏音频、获取歌唱类应用程序在运行过程中的歌唱音频、获取视频播放类应用程序在运行过程中的视频播放音频、或者是获取电子设备在启动过程中的启动音频,可选的,可以将上述音频作为混合音频。作为另一种方式,电子设备可以从网上实时获取音频数据作为混合音频,例如,将某一网站的背景音乐、在线音乐服务平台的音乐产品作为混合音频。可选的,电子设备也可以将远程下载的音乐产品或音乐片段作为混合音频。混合音频的来源与格式不受限制,在此不再一一列举。
步骤S120:提取所述混合音频的音频特征。
可以理解的是,对于一段音频信号,其输入神经网络模型的信号的非平稳性将导致神经网络计算量的增加,而混合音频是一种典型的非平稳信号,且如果将音频信号直接输入神经网络模型,会进一步增大神经网络的计算量,且音频分离效果不明显。因此,电子设备在获取到待处理的混合音频后,需要对该混合音频进行音频分离时,可以提取该混合音频的音频特征,以将音频特征作为神经网络的输入,减少神经网络计算量。
在一些实施例中,电子设备提取混合音频的音频特征,可以是提取混合音频的频域特征。具体地,作为一种方式,可以对混合音频进行分帧和加窗处理,并对每个窗内的信号进行短时傅里叶变换,从而将混合音频从时域转换到频域,得到混合音频的频谱特征,并从中提取出混合音频的频域特征。其中,分帧后每一帧的长度可根据实际需要进行设置。例如,为提高音频分离效率,可以将每一帧的长度设置得比较短,如设置为10毫秒、20毫秒等。当然,可以理解的是,上述频域特征的提取方式仅为举例,在本申请中可以不作为限定,例如,还可以利用神经网络对该频谱特征进行进一步的特征提取,以进一步提取出混合音频中的有效信息,去除无效和干扰的信息,提高特征提取的准确率。
在另一些实施例中,电子设备提取混合音频的音频特征,也可以是提取混合音频的时域特征,例如,过零率、短时能量、短时自相关函数等。当然,电子设备提取混合音频的音频特征,还可以是时域特征和频域特征都有,在此不作限定。
步骤S130:将所述音频特征输入预先训练好的音频分离神经网络模型,所述音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,所述DenseBlock结构以及所述Hourglass结构用于根据所述音频特征逐级输出所述混合音频对应的伴奏音频特征和人声音频特征。
传统的卷积神经网络,在进行信息传递的时候或多或少都会存在信息丢失、损耗、梯度消失或者梯度***等问题,导致很深的网络无法训练,因此采用传统的卷积神经网络进行混合音频的音频分离,无法输出较为准确的人声音频特征和伴奏音频特征,使得得到的人声音频往往会参杂有部分的伴奏音频,音频分离效果不佳。为提高混合音频的音频分离效果,在本申请实施例中,采用了一种包括密集模块DenseBlock结构以及沙漏Hourglass结构的音频分离神经网络模型进行混合音频的音频分离,可以有效且准确地分离出混合音频中的纯净人声和纯净伴奏。具体地,电子设备可以将混合音频的音频特征输入预先训练好的音频分离神经网络模型,以通过音频分离神经网络模型中的DenseBlock结构以及Hourglass结构对音频特征进行逐级处理,进而输出混合音频对应的伴奏音频特征和人声音频特征。
在一些实施例中,上述预先训练好的音频分离神经网络模型可以预先根据大量训练样本进行训练得到。其中,训练样本可以包括纯净的人声样本、纯净的伴奏样本以及与该人声样本和伴奏样本对应的混合音频样本,从而预先训练好的预设模型可以用于根据获取的混合音频的音频特征,输出混合音频对应的伴奏音频特征和人声音频特征。
在本申请实施例中,上述DenseBlock结构可以包括多层卷积层,且每一层卷积层之后都有残差结构直接和其他卷积层相连。其中,DenseBlock结构中的卷积层的具体层数在此并不作限定,例如,卷积层的层数可以为4层、5层、6层等。残差结构可以理解为,DenseBlock结构中,每一层卷积层之后,除了正常的卷积层输出外,还有其他分支把之前的卷积层的输出直接连到当前卷积层的输出上,之前的卷积层的输出和当前卷积层的输出做算术相加得到最终的输出。也可以理解为:第1层卷积层的输出+第2层卷积层的输出+……+第i-1层卷积层的输出=第i层的卷积层的输入。例如,如图2所示,图2示出了一种DenseBlock的结构示意图,“+”代表将不同卷积层的输出进行相加。
在一些实施例中,音频分离神经网络模型每层的音频特征输入和输出都可以理解为一组向量构成的特征图(feature map)。正是由于DenseBlock结构的每一层卷积层都接收了之前所有层输出的特征图作为输入,加强了特征图的传递以及复用,防止了随着网络层数加深而产生的梯度消失问题,同时也很好的减轻了过拟合现象的发生,提高了音频分离准确性的同时,让音频分离神经网络模型具有较高的鲁棒性。
在本申请实施例中,上述Hourglass结构可以包括卷积层、池化层(Pooling层)、反卷积层以及上采样层(Upsampling层),且该Hourglass结构是一个漏斗状的结构,结构的前半部分是卷积层和池化层,后半部分是反卷积层和上采样层。例如,如图3所示,图3示出了一种Hourglass的结构示意图。其中,池化层负责对输出特征的大小进行压缩,降低特征图的分辨率,从而保证输出特征的高度紧凑,上采样层负责对输出特征的大小进行扩展,提高特征图的分辨率。
在一些实施例中,池化层可与上采样层的步长相匹配,使得池化层的输入特征图与上采样层的输出特征图具有相同的分辨率。例如,若输入的特征图的大小为256*256,该输入特征图经步长为2的池化层,可输出大小为128*128的特征图。若将该128*128的特征图输入步长同样为2的上采样层,可输出大小为256*256的特征图,从而使池化层的输入特征图与上采样层的输出特征图具有相同的分辨率。可以理解的是,特征图每通过一次卷积层和池化层,特征图的大小会减少即特征图的分辨率会降低,每通过一次反卷积层和上采样层,特征图大小会增加即特征图的分辨率会提高。
在音频分离神经网络模型的Hourglass结构中,也可进行多次卷积层和池化层,以将特征图的分辨率压缩至较低的分辨率,并将压缩后的特征图输入卷积层进行特征提取,以得到较低分辨率下音频的特征信息,再将该提取出的特征图经历多次反卷积层和上采样层,以将该特征图的分辨率提高至原始分辨率大小。例如,如图3所示的Hourglass结构,进行2次卷积层和池化层的特征压缩后,将压缩后的特征图输入卷积层进行特征提取,然后再进行2次反卷积层和上采样层的特征扩展。
同时,神经网络也会在每一次的卷积层和池化层处开始分支,分出上半支路以保留特征图的原尺度(原分辨率)信息,并对未被池化层处理的原分辨率的特征图输入卷积层进行特征提取,从而得到原尺度下的音频的特征信息;分出下半支路先经历卷积层和池化层的特征压缩,然后经历反卷积层和上采样层的特征扩展,并在每一次的反卷积层和上采样层之后,与上一个尺度的特征信息相加得到输出特征,即与上一尺度对应的上半支路的输出相加得到输出特征。
相比现有的音频分离神经网络模型仅提取最后一层的特征信息进行音频特征识别,造成的信息丢失问题,本申请的音频分离神经网络模型中的Hourglass结构可以提取到音频在不同尺度下的特征信息,且可以逐级结合不同尺度的特征信息,以将各个尺度的特征信息关联起来进行识别,避免信息传递到神经网络的最后一层时的信息丢失,提高了音频特征提取的准确性,使音频分离神经网络模型较好的特征识别能力,有效提高了音频分离准确性。
需要说明的是,本申请实施例不对Hourglass结构中的卷积层、池化层(Pooling层)、反卷积层以及上采样层的具体数量做任何限制,可以根据实际情况进行设定。在一些实施例中,上述DenseBlock结构以及Hourglass结构也可以采用现有技术中的任意一种DenseBlock结构以及Hourglass网络结构,在此不作限定。例如,DenseBlock结构可以采用现有技术中的密集连接的卷积神经网络(DenselyConnectedConvolutionalNetwork,DenseNet)的DenseBlock结构,Hourglass结构可以采用现有技术中的堆叠式沙漏网络(Stacked Hourglass Networks)的一阶或多阶Hourglass结构。
因此,通过上述音频分离神经网络模型中的DenseBlock结构以及Hourglass结构对混合音频的音频特征进行逐级处理,可以有效且准备的输出混合音频对应的伴奏音频特征和人声音频特征。
在一些实施方式中,电子设备将混合音频的音频特征输入音频分离神经网络模型后,音频分离神经网络模型中的DenseBlock结构以及Hourglass结构对音频特征进行逐级处理,可以是先经过DenseBlock结构处理,再经过Hourglass结构处理,也可以是先经过Hourglass结构处理,再经过处理DenseBlock结构处理,还可以是将Hourglass结构和DenseBlock结构作为两条支路分别对音频特征进行处理,最后将输出特征进行拼接,进而提取出混合音频对应的伴奏音频特征和人声音频特征。需要说明的是,本申请实施例不对DenseBlock结构以及Hourglass结构的具体数量以及排列顺序做任何限制,可以根据实际情况进行设定。例如,经过多次实验研究,音频分离神经网络模型进行音频分离效果最优时,音频分离神经网络模型包括1个DenseBlock结构以及2个Hourglass结构,且1个DenseBlock结构在前,2个Hourglass结构在后。
步骤S140:获得所述音频分离神经网络模型输出的所述混合音频对应的伴奏音频特征和人声音频特征。
在本申请实施例中,电子设备将音频特征输入预先训练好的音频分离神经网络模型之后,可以获得音频分离神经网络模型输出的混合音频对应的伴奏音频特征和人声音频特征。
在一些实施例中,伴奏音频特征可以是伴奏音频的频谱特征,人声音频特征可以是人声音频的频谱特征。作为一种方式,频谱特征用频谱幅值表示。例如,在一个具体的应用场景中,假设一音乐片段(即混合音频)的频谱幅值为1,整个音频是由频谱幅值为0.6的人声与频谱幅值为0.4的伴奏组成的,那么将该音乐片段对应的音频特征输入到上述的预先训练好的音频分离神经网络模型,该音频分离神经网络模型可以输出频谱幅值为0.6的人声音频特征以及频谱幅值为0.4的伴奏音频特征,即该音频分离神经网络模型可以从混合音频的音频特征中把人声信号和伴奏信号“分离”开来,从而得到混合音频对应的伴奏音频特征和人声音频特征。
步骤S150:基于所述伴奏音频特征和人声音频特征,获取所述混合音频对应的伴奏音频和人声音频,作为所述混合音频的音频分离结果。
在本申请实施例中,电子设备得到混合音频对应的伴奏音频特征和人声音频特征后,可以基于伴奏音频特征和人声音频特征,获取到混合音频对应的伴奏音频和人声音频,作为混合音频的音频分离结果。
在一些实施例中,可以分别对伴奏音频特征和人声音频特征进行傅里叶反变换,以分别将伴奏音频和人声音频从频域转换到时域,从而生成伴奏音频特征对应的伴奏信号,人声音频特征对应的人声信号,得到混合音频分离后的伴奏音频和人声音频。
本申请实施例提供的音频分离方法,通过提取待处理的混合音频的音频特征,然后将音频特征输入预先训练好的音频分离神经网络模型,该音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,DenseBlock结构以及Hourglass结构用于根据音频特征逐级输出混合音频对应的伴奏音频特征和人声音频特征,以获得音频分离神经网络模型输出的混合音频对应的伴奏音频特征和人声音频特征,并基于伴奏音频特征和人声音频特征,获取混合音频对应的伴奏音频和人声音频,作为混合音频的混音分离结果。从而通过预先训练好的包含DenseBlock结构以及Hourglass结构的音频分离神经网络模型,能够比较准确分离出混合音频中的纯净伴奏和纯净人声,提高了音频分离的效果的同时,提升了用户体验。
请参阅图4,图4示出了本申请另一实施例提供的一种音频分离方法的流程示意图,可应用于电子设备,该音频分离方法可以包括:
步骤S210:获取待处理的混合音频。
步骤S220:提取所述混合音频的音频特征。
在本申请实施例中,步骤S210以及步骤S220可以参阅上述实施例的内容,在此不再赘述。
在一些实施例中,为提高音频分离神经网络模型的运算效率,可以将音频分离神经网络模型的输入设定为较短时长的混合音频的音频特征,例如,可以设定为3S、5S等。因此,电子设备获取到待处理的混合音频之后,可以将混合音频处理为指定时长的音频片段,该指定大小与音频分离神经网络模型的输入相匹配,从而可以提高混合音频的音频分离效率。在本申请实施例中,将指定时长设定为3S,即将混合音频切分为3S一段的连续的音频片段。
电子设备在得到混合音频后,可以提取该混合音频的音频特征。在一些实施例中,请参阅图5,上述提取所述混合音频的音频特征,可以包括:
步骤S221:对所述混合音频进行分帧加窗。
由于混合音频为非平稳信号,因此需要对其进行分帧和加窗处理,使得混合音频在一个短时间间隔内是平稳的,从而可以进行混合音频的频域分析。
其中,对混合音频进行分帧,可以理解为,将混合音频按照指定时间间隔分为连续的若干个音频信号帧。其中,指定时间间隔即窗长通常可以设置为20ms-40ms(毫秒)之间的任意值。在本申请实施例中,可以将窗长设定为20ms。对混合音频进行分帧后,可以对每一帧进行加窗处理,即对每一帧音频信号乘上窗函数。在本申请实施例中,窗函数采用汉宁窗(Hanning Window),并可以设定窗移为10ms,即在本申请实施例中将混合音频切分为20ms一段,并带有10ms的重叠区域。可以理解的是,本实施例所采取的具体窗函数并不作限定,也可以是别的窗函数,例如三角窗函数等。
步骤S222:对每个窗内的所述混合音频进行短时傅立叶变换,得到所述混合音频的频谱特征。
在本申请实施例中,对混合音频进行分帧加窗后,将窗口在每个音频信号帧上滑动,每滑动至一个位置,可对窗内的信号做短时傅里叶变换,从而得到混合音频的频谱特征。
作为一种实施方式,若混合音频的音频采样率为44.1kHz,那么在设定窗长为20ms,窗移为10ms时,汉宁窗的窗长为882个音频点,窗移为441个音频点。对每个窗口内的音频信号做短时傅里叶变换,可以得到每个音频信号帧的频谱特征,从而得到混合音频的频谱特征。具体地,傅里叶变换的点数与窗长相同,对每个音频信号帧作傅里叶变换后得到对应每个音频信号帧的频域表示,该频谱具体可以为442个频率维度上的复数值,并可用stft值表征该频域表示(即表征该复数值):
stft(t,f)=x(t,f)+i*y(t,f) (1)
其中,x为stft的实部,y为stft的虚部,t表示第t个汉宁窗,f为频率刻度,i为虚数单位。
根据每个音频信号帧的频域表示,计算每个音频信号帧的幅值stft_mag,并将每个音频信号帧的幅值stft_mag作为其对应的频谱特征:
步骤S223:将所述频谱特征分别输入卷积神经网络特征提取通道以及双向长短时神经网络特征提取通道。
在一些实施例中,为提高音频分离的效果,电子设备在得到混合音频的频谱特征后,可以将频谱特征分别输入卷积神经网络(Convolutional Neural Networks,CNN)特征提取通道以及双向长短时神经网络(Bi-directional Long Short-Term Memory,BiLSTM)特征提取通道,进行进一步的特征提取,以提取到较为准确的音频特征。其中,BiLSTM模型由前向的长短时记忆网络(Long Short-Term Memory,LSTM)与后向的LSTM组合而成。具体的CNN以及BiLSTM的原理可查阅现有相关文献,在此不再赘述。在一些实施例中,通过神经网络提取的特征也可以表示为BOTTLENECK特征,即神经网络将stft频谱特征等具体的、有意义的特征抽象化之后的抽象特征。
在一些实施例中,CNN特征提取通道可以包括多层卷积层,BiLSTM特征提取通道可以包括多层BiLSTM层。频谱特征被输入CNN特征提取通道的同时,也被输入BiLSTM特征提取通道,从而依次通过多层卷积层进行特征提取,同时也依次通过多层BiLSTM进行特征提取,从而分别得到CNN特征提取通道和BiLSTM特征提取通道提取的特征信息。其中,具体的卷积层以及BiLSTM层的数量在本申请实施例中可以不作为限定,可根据实际需求进行合理设定。
作为一种方式,可以对整个音频分离神经网络模型进行多次训练,以确定音频分离效果最优时,CNN特征提取通道和BiLSTM特征提取通道的具体结构。例如,如图6所示,图6示出了一种CNN特征提取通道以及BiLSTM特征提取通道的结构示意图,CNN特征提取通道可以包括4层卷积层,BiLSTM特征提取通道包括6层BiLSTM层,图6所示结构为发明人经过多次模型训练,效果最优时的设定。
需要说明的是,具体的卷积层参数以及BiLSTM层参数在本申请实施例中并不作为限定,可根据实际情况进行设定。例如,如图6所示的CNN特征提取通道以及BiLSTM特征提取通道的结构,作为一种方式,可以将4层卷积层的卷积参数CONV_FILTER_i(i=1~4)设为相同的参数,如3x3x64,也可以将6层BiLSTM层的BiLSTM参数BILSTM_FILTER_j(j=1~6)设为相同的参数,如1024。
步骤S224:将所述卷积神经网络特征提取通道的输出与所述双向长短时神经网络特征提取通道的输出进行拼接,得到所述混合音频的音频特征。
由于BiLSTM特征提取通道比较专注于音频信号的时序相互信息的提取,且在时序信息上比CNN特征提取通道更加强大,但是CNN特征提取通道可以专注于音频信号的频域相互信息的提取。因此,电子设备在分别利用BiLSTM特征提取通道和CNN特征提取通道进行高层抽象特征提取之后,可以比较准确地得到混合音频的频域特征信息和时域特征信息。为实现特征信息的相互补足,使音频分离神经网络模型的效果更好,在本申请实施例中,电子设备可以将CNN特征提取通道的输出与BiLSTM特征提取通道的输出进行拼接,并将拼接后的最终输出特征信息作为混合音频的音频特征,以得到更准确的特征信息,大大提升了音频分离的效果。
步骤S230:将所述音频特征输入预先训练好的音频分离神经网络模型,所述音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,所述DenseBlock结构以及所述Hourglass结构用于根据所述音频特征逐级输出所述混合音频对应的伴奏音频特征和人声音频特征。
步骤S240:获得所述音频分离神经网络模型输出的所述混合音频对应的伴奏音频特征和人声音频特征。
步骤S250:基于所述伴奏音频特征和人声音频特征,获取所述混合音频对应的伴奏音频和人声音频,作为所述混合音频的音频分离结果。
在本申请实施例中,步骤S230~步骤S250可以参阅上述实施例的内容,在此不再赘述。
例如,请参阅图7,图7示出了本申请实施例提供的对混合音乐进行音频分离的方法的示意流程框图。具体地,电子设备获取到待处理的混合音乐后,提取该混合音乐的频谱特征,将频谱特征分别输入包含4层卷积层的CNN特征提取通道以及包含6层BiLSTM层的BiLSTM特征提取通道,得到频谱特征的抽象特征即音频特征,并将音频特征输入包含1个DenseBlock结构以及2个Hourglass结构的音频分离神经网络模型进行前向计算,得到该音频分离神经网络模型输出的纯净伴奏和纯净人声。
本申请实施例提供的音频分离方法,通过对待处理的混合音频进行分帧加窗,使得每个音频信号帧的音频信号具有较好的短时平稳性,进而保证了每一个窗内音频信号的短时傅里叶变换的效果。然后将短时傅里叶变换得到的混合音频的频谱特征,分别输入CNN特征提取通道以及BiLSTM特征提取通道进行高层抽象特征提取,然后将CNN特征提取通道的输出与BiLSTM特征提取通道的输出进行拼接,并将拼接后的最终输出特征信息作为混合音频的音频特征,以得到更准确的特征信息,大大提升了音频分离的效果。然后再将混合音频的音频特征输入预先训练好的包含DenseBlock结构以及Hourglass结构的音频分离神经网络模型,以获得音频分离神经网络模型输出的混合音频对应的伴奏音频特征和人声音频特征,从而获取到混合音频对应的伴奏音频和人声音频,实现混合音频的人声和伴奏的分离。这样,不仅提高了混合音频的音频特征的准确性和完善性,而且还能够比较准确分离出混合音频中的纯净伴奏和纯净人声,大大提高了音频分离的效果的同时,提升了用户体验。
进一步地,将音频特征输入预先训练好的音频分离神经网络模型之前,本申请实施例还提供了一种音频分离神经网络模型的训练方法。请参阅图8,图8示出了本实施例提供的音频分离神经网络模型的一种训练方法的流程示意图,具体地可以包括以下步骤:
步骤S310:获取初始音频分离神经网络模型,所述初始音频分离神经网络模型包括至少一种卷积神经网络结构。
其中,卷积神经网络(Convolutional Neural Networks,CNN)结构可以包括密集连接的卷积神经网络(DenselyConnectedConvolutionalNetwork,DenseNet)的网络结构、堆叠式沙漏网络(Stacked Hourglass Networks)的网络结构以及残差网络(ResidualNetworks)的网络结构等,在此不作限定。可以理解的是设计初始音频分离神经网络模型时,可以采用各种卷积神经网络进行设计并训练,以得到学习效果最优的模型。可以理解的是,增加卷积神经网络结构的个数的同时,模型的学习效果也会有所提升,但相对应地计算量也会增加。
在一些实施例中,获取到的初始音频分离神经网络模型可以包括1个DenseBlock结构以及2个Hourglass结构,且1个DenseBlock结构在前,2个Hourglass结构在后。也就是说,初始音频分离神经网络模型采用两种卷积神经网络结构进行音频分离,由于DenseBlock结构具有残差结构,加强了特征图的传递以及复用,Hourglass结构综合关联多尺度的特征信息,使特征信息更加全面相关,减少了信息缺失,因此避免了信息大量丢失、损耗、梯度消失或者梯度***等问题的出现,并且通过采用1个DenseBlock结构以及2个Hourglass结构的初始音频分离神经网络模型,极大地提高了音频分离的效果,最终可以从混合音频中得到纯净人声和纯净伴奏等各种音乐信号。
可以理解的是,神经网络中具体结构的设置,如卷积层的层数、卷积核的大小、通道数等等,可以由本领域技术人员根据实际需求适当设定和更新,本申请实施例对此不作限制。
步骤S320:获取训练样本集合,所述训练样本集合包括伴奏样本、人声样本以及与所述伴奏样本和所述人声样本对应的混合音频样本。
在本申请实施例中,训练初始音频分离神经网络模型首先要获取模型训练的训练样本集合。训练样本集合中包括多组训练样本,一个伴奏样本、一个人声样本、一个与伴奏样本和人声样本对应的混合音频样本为一组训练样本。其中,伴奏样本为一首纯净伴奏,人声样本为一首纯净人声,与伴奏样本和人声样本对应的混合音频样本为纯净伴奏和纯净人声叠加混合的混合音乐。纯净伴奏为不包含人声的伴奏音频,其中可包含多种乐器的伴奏。纯净人声为不包含伴奏的人声音频,其中可包含多种音色的人声。
作为一种方式,训练样本集合可以是其他设备进行建立的,从而电子设备可以从其他设备处获取到该训练样本集合。当然,也可以是本地进行建立的,还可以是从服务器下载的,具体的训练样本集合获取方式在本申请实施例中并不作为限定。
在一些实施例中,请参阅图9,上述获取训练样本集合,可以包括:
步骤S321:采集伴奏样本以及人声样本。
在一些实施例中,采集伴奏样本以及人声样本,可以是从各种音乐平台或者云端服务器下载大量的纯净伴奏和纯净人声,也可以是从其他设备处去获取,在此不作限定。例如,获取歌唱类应用程序在运行过程中用户的歌唱音频作为人声样本,获取用户歌唱时的音乐伴奏作为伴奏样本。
在本申请实施例中,采集的伴奏样本以及人声样本的时长并不作限定。例如,可以是采集3分钟的纯净样本,采集2分钟的纯净人声。可以理解的是,采集伴奏样本以及人声样本的越多,音色、类型越丰富,训练效果可以越好。本实施例并不对训练样本集合的具体数量作限定。
步骤S322:将所述伴奏样本切分为多个短伴奏样本,将所述人声样本切分为多个短人声样本,所述短伴奏样本与所述短人声样本为预设时长。
可以理解的是,训练样本的时长如果太长,会大大增加训练神经网络模型的计算量,且也会对训练样本集合的组数造成一定的影响。因此,为提高模型训练的效率,在本申请实施例中,在采集到伴奏样本以及人声样本之后,可以将伴奏样本切分为多个短伴奏样本,将人声样本切分为多个短人声样本,短伴奏样本与短人声样本为预设时长。其中,预设时长为音频分离神经网络模型设定的输入的混合音频的时长,可以根据实际情况进行合理设定。例如,3S,在此并不作限定。这样通过将长样本切分为短样本,可以减小训练样本的时长,提高神经网络的运算效率。
步骤S323:随机混合所述短伴奏样本以及所述短人声样本,得到与所述短伴奏样本和所述短人声样本对应的混合音频样本。
在一些实施例中,在得到预设时长的多个短伴奏样本以及多个短人声样本之后,可以将切分的短伴奏样本以及短人声样本进行随机混合,得到不同组合的混合音频样本,以增加训练样本集合中的训练样本组数,提升网络的训练效果。
其中,由于短伴奏样本以及多个短人声样本都为预设时长,因此,随机混合短伴奏样本以及短人声样本,可以是将短伴奏样本以及短人声样本的起始点对齐后进行叠加,得到与短伴奏样本和短人声样本对应的混合音频样本。可以理解的是,混合音频样本也为预设时长。
为进一步地增加训练样本集合中的训练样本组数,在一些实施例中,在上述随机混合所述短伴奏样本以及所述短人声样本,得到与所述短伴奏样本和所述短人声样本对应的混合音频样本之前,该训练方法还可以包括:
去除所述多个短伴奏样本以及所述多个短人声样本中的静音短样本,得到非静音的多个短伴奏样本以及多个短人声样本;将所述非静音的多个短伴奏样本以及多个短人声样本的音量进行随机比率调整,所述随机比率调整包括随机比率增大以及随机比率减小。
由于一首音乐的纯净人声或者纯净伴奏通常会有一段或几段时间是没有声音的,例如,片头、片尾等。因此,在得到预设时长的多个短伴奏样本以及多个短人声样本之后,可以先去除其中的静音短样本,得到非静音的多个短伴奏样本以及多个短人声样本。其中,静音短样本可以有一个或多个,可以来自于多个短伴奏样本中,也可以来自于多个短人声样本中。例如,将一首3分钟的人声样本切分为3S一片段的短人声样本时,可去除开头的第一段3S的短人声样本(该短人声样本为静音片段),片尾的最后一段3S的短人声样本(该短人声样本也为静音片段)。
由于音频的频谱特征也可以理解为音量的大小,因此,改变音频的音量,也会改变音频的频谱特征,因此,为得到更多的短人声样本以及短伴奏样本,可以将非静音的多个短伴奏样本以及多个短人声样本的音量进行随机比率调整,所述随机比率调整包括随机比率增大以及随机比率减小,从而实现短人声样本以及短人声样本的频谱多样性,丰富了训练样本集合。其中,随机比率可以是任意值,在此不作限定。在本申请实施例中,随机比率可以是0.2~1.8倍中的任意值。
进一步地,在得到音量随机比率调整后的多个短伴奏样本以及多个短人声样本时,上述随机混合所述短伴奏样本以及所述短人声样本,可以包括:基于调整后的非静音的多个短伴奏样本以及多个短人声样本,随机混合音量随机比率调整后的短伴奏样本以及短人声样本。从而得到大量的混合音频样本,丰富了训练样本集合,提升了网络的训练效果。
步骤S324:将所述短伴奏样本、短人声样本以及与所述短伴奏样本和所述短人声样本对应的混合音频样本作为一组训练样本。
电子设备在得到短伴奏样本、短人声样本以及混合音频样本时,可以将短伴奏样本、短人声样本以及与短伴奏样本和所述短人声样本对应的混合音频样本作为一组训练样本,添加至训练样本集合中。这样,通过对采集的较长的人声样本以及伴奏样本进行切分,并通过对短伴奏样本以及短人声样本的音量进行睡觉比率调整,再对所有短伴奏样本以及短人声样本进行随机取样混合,大大增加了训练样本的组数,提升了网络的训练效果。
步骤S330:利用双通道的特征提取模型,提取所述混合音频样本的音频特征样本。
在一些实施例中,为精确提取出混合音频样本的音频特征样本,可以利用双通道的特征提取模型,提取所述混合音频样本的音频特征样本。其中,双通道的特征提取模型可以是CNN特征提取通道以及循环神经网络(Recurrent Neural Network,RNN)特征提取通道。这样,通过多个神经网络的特征提取,可以有效提高抽象特征提取的准确性。
在一些实施例中,上述双通道的特征提取模型可以包括CNN特征提取通道以及BiLSTM特征提取通道,具体描述可以参阅前述实施例的描述,在此不再赘述。
具体地,请参阅图10,上述利用双通道的特征提取模型,提取所述混合音频样本的音频特征样本,可以包括:
步骤S331:对所述混合音频样本进行分帧加窗。
步骤S332:对每个窗内的所述混合音频样本进行短时傅立叶变换,得到所述混合音频样本的频谱特征。
步骤S333:将所述频谱特征分别输入所述卷积神经网络特征提取通道以及所述双向长短时神经网络特征提取通道。
步骤S334:将所述卷积神经网络特征提取通道的输出与所述双向长短时神经网络特征提取通道的输出进行拼接,得到所述混合音频样本的音频特征样本。
其中,步骤S331~步骤S334可以参阅前述实施例中提取混合音频的音频特征的内容,在此不再赘述。
例如,卷积层输出特征形状为[B,1,T,F],B为训练批大小BatchSize,1为Channel信道数,T为特征帧数,F为stft特征维数,BiLSTM层输出特征形状为[B,T,F],可以对该特征增加一维变成[B,1,T,F],那么混合音频样本的音频特征样本就是两者在axis=1上的拼接,它的形状是[B,2,T,F]。
由于BiLSTM特征提取通道比较专注于音频信号的时序相互信息的提取,且在时序信息上比CNN特征提取通道更加强大,但是CNN特征提取通道可以专注于音频信号的频域相互信息的提取。因此,电子设备在分别利用BiLSTM特征提取通道和CNN特征提取通道进行高层抽象特征提取之后,可以比较准确地得到混合音频样本的频域特征信息和时域特征信息。为实现特征信息的相互补足,使音频分离神经网络模型的训练效果更好,在本申请实施例中,电子设备可以将CNN特征提取通道的输出与BiLSTM特征提取通道的输出进行拼接,并将拼接后的最终输出特征信息作为混合音频样本的音频特征样本,以得到更准确的特征信息,大大提升了模型训练的效果。
步骤S340:将所述音频特征样本作为所述初始音频分离神经网络模型的输入,将所述伴奏样本以及所述人声样本作为所述初始音频分离神经网络模型的期望输出,对所述初始音频分离神经网络模型进行训练,得到所述预先训练好的音频分离神经网络模型。
在本申请实施例中,混合音频样本的音频特征样本作为模型的输入,混合音频样本对应的伴奏样本以及人声样本作为模型的期望输出(即学习目标),从而可通过模型的实际输出和期望输出,对初始音频分离神经网络模型进行训练,得到前述预先训练好的音频分离神经网络模型。
具体地,在得到混合音频样本的音频特征样本之后,可以将该音频特征样本输入初始音频分离神经网络模型进行前向计算,得到初始音频分离神经网络模型的实际输出,该实际输出为初始音频分离神经网络模型预测的人声和伴奏。由于将伴奏样本以及人声样本作为初始音频分离神经网络模型的期望输出,因此,可以根据预测的人声及伴奏与伴奏样本及人声样本的误差进行模型参数的更新,通过大量的迭代训练,从而得到前述预先训练好的音频分离神经网络模型。
在一些实施例中,由于伴奏样本以及人声样本与模型输出对应,因此,若模型输出为频谱特征,则伴奏样本、人声样本可以是对应的伴奏样本频谱特征、人声样本频谱特征。具体地,可以对伴奏样本、人声样本进行短时傅里叶变换,以得到伴奏及的样本频谱特征,具体地的频谱特征可以参阅前述实施例的对应的内容,在此不再赘述。
在一些实施方式中,也可以将混合音频样本的音频特征样本与对应的伴奏样本频谱特征、人声样本频谱特征对应存储,并作为一组训练样本,可得到频谱特征的训练样本集合,用于训练音频分离神经网络模型。
在一些实施方式中,预先训练好的音频分离神经网络模型可以存储于电子设备本地,也可以在与电子设备通信连接的服务器,将音频分离神经网络模型存储在服务器的方式,可以减少占用电子设备的存储空间,提升电子设备运行效率。
在一些实施例中,在得到初始音频分离神经网络模型的实际输出时,可以求取实际输出与期望输出的误差,以根据误差改进神经网络模型。具体地,当音频分离神经网络模型包括多个Hourglass结构时,请参阅图11,上述对所述初始音频分离神经网络模型进行训练,得到所述预先训练好的音频分离神经网络模型,可以包括:
步骤S341:计算每个Hourglass模块的第一损失函数,得到多个第一损失函数。
在本申请实施例中,为提高模型的训练效果,可以在每一个hourglass模块后都计算第一损失函数,得到多个第一损失函数,实现多个第一损失函数对神经网络的共同监督。
其中,第一损失函数可以是实际输出与期望输出的差值,也可以是实际输出与期望输出组成的更复杂的函数,具体的第一损失函数在本申请中可以不作限定,可以使得初始音频分离神经网络模型的训练效果更好即可。例如,第一损失函数可以是L1范数损失函数、L2范数损失函数。
在一些实施例中,由于伴奏在多数情况下是谐波的、宽带的,且音乐信号是由伴奏和人声一起组成的统一整体,因此伴奏与人声的音频特征具有相关性,与语音去噪中的语音和噪声的音频特征不相关不同,而现有的损失函数大多无法体现伴奏与人声的音频特征的相关性,从而导致神经网络模型的音频分离效果不佳。在本申请实施例中,发明人提出了一个全新的第一损失函数——双掩模损失函数(DoubleMaskLoss),其中,DoubleMaskLoss是一种对神经网络模型预测的伴奏和人声计算互相关关系的加权LOSS,该LOSS可以同时体现伴奏和人声的畸变水平,不仅可以反映神经网络模型的实际输出与期望输出的误差关系,而且还可以体现伴奏与人声的音频特征的相关性。
第一损失函数为DoubleMaskLoss时,可以基于如下公式得到:
α=LosSSpeech+LossNoise (3)
β=LossSpeech-LossNoise (5)
其中,LossSpe为人声样本对应的L1范数损失函数,LossNoise为所述伴奏样本对应的L1范数损失函数,α为人声样本与伴奏样本对应的L1范数损失函数和,β为人声样本与伴奏样本对应的L1范数损失函数差,LossDoubleMask为上述双掩模损失函数。
具体地,由于初始音频分离神经网络模型的实际输出包括网络预测的人声和伴奏,因此,可以分别求取预测人声与期望输出的人声样本之间的L1范数损失函数即Lossspeech,预测伴奏与期望输出的伴奏样本之间的L1范数损失函数即LossNoise,从而根据LossSpeech以及LossNoise,求取LossSpeech与LossNoise之间的和值α和差值β,以分析人声L1范数损失函数与伴奏L1范数损失函数之间的互相关关系即LossDoubleMask。
其中,L1范数损失函数也被称为最小绝对值偏差(LeastAbsolute Deviation,LAD)或最小绝对值误差(Least Abosulote Error,LAE)。L1范数损失函数可以理解为,期望值Yi与预测值f(xi)的绝对差值的总和S最小化:
例如,在一个具体的应用场景中,假设混合音频样本的频谱幅值为1,整个音频是由频谱幅值为0.6的人声样本与频谱幅值为0.4的伴奏样本组成的,那么将该混合音频样本对应的音频特征输入到利用现有的损失函数训练的音频分离神经网络模型中时,可能会输出频谱幅值为0.62的人声音频特征以及频谱幅值为0.49的伴奏音频特征,即模型的实际输出的人声和样本的频谱幅值和大于1,影响了分离出的人声和伴奏的音质。而将该混合音频样本对应的音频特征输入到本申请所设计的第一损失函数训练的初始音频分离神经网络模型中时,模型的实际输出的人声和样本的频谱幅值会具有相关性即幅值和会等于1,从而提高了模型的音频分离效果。
步骤S342:将所述多个第一损失函数进行加权平均,得到第二损失函数。
在一些实施例中,得到每个Hourglass模块的第一损失函数后,可以将多个第一损失函数进行加权平均,得到第二损失函数。该第二损失函数可用于神经网络的反向传播,以提高模型的训练效果,进而保证最终得到预先训练好的音频分离神经网络模型可达到较佳的音乐分离效果。
在一些实施例中,每个第一损失函数的权重可以根据实际情况进行合理设定,在此不作限定。作为一种方式,可以将每个第一损失函数的权重设定为相同的权重值,则加权平均得到的第二损失函数可以多个第一损失函数的平均值。
可以理解的是,将训练样本输入到神经网络的输入层,经过隐藏层,最后达到输出层并输出结果,这是网络的前向传播过程;由于网络的输出结果与实际结果有误差,则可以计算预测值与期望值之间的误差关系(即第二损失函数),并将该误差从输出层向隐藏层反向传播,直至传播到输入层,这是网络的反向传播过程;在反向传播的过程中,根据误差合理调整神经网络的各种参数的值;不断迭代上述过程,直至收敛。
另外,在一些实施例中,也可以是在每一个DenseBlock模块后都计算第一损失函数,该第一损失函数也可以是上述双掩模损失函数。若初始音频分离神经网络模型包括多个DenseBlock模块,则也可以对得到的多个第一损失函数进行加权平均,以得到DenseBlock模块的第二损失函数。在另一些实施例中,也可以是对初始音频分离神经网络模型中包含的DenseBlock模块和Hourglass模块都求取上述第一损失函数以及第二损失函数,具体求取的第一损失函数的个数、求取的是Hourglass模块或者DenseBlock模块的第一损失函数在本申请实施例中都不作限定,可以根据实际情况进行合理求取,仅需提高神经网络模型的训练效果即可。
步骤S343:基于自适应时刻估计方法训练所述初始音频分离神经网络模型,直到所述第二损失函数满足预设收敛条件,停止对所述初始音频分离神经网络模型的训练,得到所述预先训练好的音频分离神经网络模型。
其中,预设收敛条件可以是一个预设阈值,当目标损失函数小于该预设阈值时,可判定第二损失函数满足预设收敛条件,否则不满足。可以理解的是,预设阈值越小,模型训练的要求越高,最终第二损失函数满足预设收敛条件的模型可实现的效果可以越好。
在一些实施例中,训练初始音频分离神经网络模型时,可以基于自适应时刻估计法(Adaptive Moment Estimation,ADAM)对初始音频分离神经网络模型进行优化。作为一种方式,可以设定动量因子BETA_1为0.9,动量因子BETA_2为0.999,基础学习率(LEARNING_RATE)设为0.001,并且随着迭代次数的增加逐渐下降基础学习率,以加快收敛速度。其中,基础学习率的下降规律在本申请实施例中并不作为限定,例如,可以是迭代次数每增加50,000次,学习率减半。以初始的基础学习率为0.001为例,在完成50,000次迭代后,可以将基础学习率更新为0.0005,在完成100,000次迭代后,将基础学习率更新为0.00025,以此类推,直到第二损失函数满足预设收敛条件。
进一步地,可以将训练批大小(BATCH_SIZE)为4,即迭代一次模型训练需获取4个用于训练的混合音频样本,然后求取该4个混合音频样本的音频特征,并输入初始音频分离神经网络模型进行训练。其中,混合音频样本可重复抽取。在多次具体实施后,本实施例提供的训练方法在模型训练约300,000次时,第二损失函数收敛到最小值附近。具体地,最小值可以是一个预设阈值,以该最小值为中心可设置一个置信度范围,当第二损失函数收敛到该置信度范围时,即可认为收敛到最小值附近,进一步可判定第二损失函数满足预设收敛条件。由此,本实施例通过大量样本数据进行模型训练,解决了分离混合音频时辨识度不准确的问题,提升音频分离的效果。
在本申请实施例中,在第二损失函数满足预设收敛条件时,可以停止对初始音频分离神经网络模型的训练,得到预先训练好的音频分离神经网络模型。由于在模型训练的迭代过程中,模型参数可根据第二损失函数作出调整和优化,并将每次调整参数后得到的模型作为下次训练的初始模型,从而初始音频分离神经网络模型训练经过多次迭代后,可以得到模型参数最优化的音频分离神经网络模型,即预先训练好的音频分离神经网络模型。进而可基于该预先训练好的音频分离神经网络模型实现本申请实施例所提供的音频分离方法,实现混合音频的人声和伴奏分离。
另外,在一些实施例中,模型的训练结束条件也可以设定为训练次数超过预设次数,即当训练次数超过预设次数时,结束模型训练,从而得到预先训练好的音频分离神经网络模型。
本申请实施例提供的对音频分离神经网络模型的训练方法,通过对采集到的音频长样本进行切分、去静音、音量随机比率调整以及随机混合,极大地增加了训练样本的组数,有效提高了音频分离神经网络模型的学习能力;然后通过双通道特征提取的深度网络结构进行音频特征的提取,可保证提取的音频特征的精确度;并通过构建的第一损失函数以及第二损失函数来指导初始音频分离神经网络模型的训练,可以学习人声音频的频谱特征与伴奏音频的频谱特征的互相关性,提高模型的训练效果,进而保证最终得到预先训练好的音频分离神经网络模型可达到较佳的音频分离效果。进而使得本申请实施例提供的音频分离方法,基于上述训练得到的预先训练好的音频分离神经网络模型,提高了音频分离效果的同时,有效提升了音质,提高了用户体验。
请参阅图12,图12示出了本申请实施例提供的一种音频分离装置400的结构框图,该音频分离装置400应用于电子设备。该音频分离装置400包括:混音获取模块410、特征提取模块420、特征输入模块430、特征输出模块440以及结果获取模块450。其中,混音获取模块410用于获取待处理的混合音频;特征提取模块420用于提取所述混合音频的音频特征;特征输入模块430用于将所述音频特征输入预先训练好的音频分离神经网络模型,所述音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,所述DenseBlock结构以及所述Hourglass结构用于根据所述音频特征逐级输出所述混合音频对应的伴奏音频特征和人声音频特征;特征输出模块440用于获得所述音频分离神经网络模型输出的所述混合音频对应的伴奏音频特征和人声音频特征;结果获取模块450用于基于所述伴奏音频特征和人声音频特征,获取所述混合音频对应的伴奏音频和人声音频,作为所述混合音频的音频分离结果。
在一些实施例中,音频分离装置400还可以包括:模型获取模块、样本获取模块、样本特征提取模块以及模型训练模块。其中:模型获取模块用于获取初始音频分离神经网络模型,所述初始音频分离神经网络模型包括至少一种卷积神经网络结构;样本获取模块用于获取训练样本集合,所述训练样本集合包括伴奏样本、人声样本以及与所述伴奏样本和所述人声样本对应的混合音频样本;样本特征提取模块用于利用双通道的特征提取模型,提取所述混合音频样本的音频特征样本;模型训练模块用于将所述音频特征样本作为所述初始音频分离神经网络模型的输入,将所述伴奏样本以及所述人声样本作为所述初始音频分离神经网络模型的期望输出,对所述初始音频分离神经网络模型进行训练,得到所述预先训练好的音频分离神经网络模型。
进一步地,在一些实施例中,上述双通道的特征提取模型可以包括卷积神经网络特征提取通道以及双向长短时神经网络特征提取通道。上述样本特征提取模块可以包括:分帧加窗单元、频谱获取单元、频谱输入单元以及音频特征输出单元。其中:分帧加窗单元用于对所述混合音频样本进行分帧加窗;频谱获取单元用于对每个窗内的所述混合音频样本进行短时傅立叶变换,得到所述混合音频样本的频谱特征;频谱输入单元用于将所述频谱特征分别输入所述卷积神经网络特征提取通道以及所述双向长短时神经网络特征提取通道;音频特征输出单元用于将所述卷积神经网络特征提取通道的输出与所述双向长短时神经网络特征提取通道的输出进行拼接,得到所述混合音频样本的音频特征样本。
进一步地,在一些实施例中,上述样本获取模块可以包括:样本采集单元、样本切分单元、样本混合单元以及样本组生成单元。其中:样本采集单元用于采集伴奏样本以及人声样本;样本切分单元用于将所述伴奏样本切分为多个短伴奏样本,将所述人声样本切分为多个短人声样本,所述短伴奏样本与所述短人声样本为预设时长;样本混合单元用于随机混合所述短伴奏样本以及所述短人声样本,得到与所述短伴奏样本和所述短人声样本对应的混合音频样本;样本组生成单元用于将所述短伴奏样本、短人声样本以及与所述短伴奏样本和所述短人声样本对应的混合音频样本作为一组训练样本。
进一步地,在一些实施例中,上述样本获取模块还可以包括:静音去除单元以及音量调整单元。其中:静音去除单元用于去除所述多个短伴奏样本以及所述多个短人声样本中的静音短样本,得到非静音的多个短伴奏样本以及多个短人声样本;音量调整单元用于将所述非静音的多个短伴奏样本以及多个短人声样本的音量进行随机比率调整,所述随机比率调整包括随机比率增大以及随机比率减小。上述样本混合单元可以具体用于:基于调整后的非静音的多个短伴奏样本以及多个短人声样本,随机混合所述短伴奏样本以及所述短人声样本。
进一步地,在一些实施例中,初始音频分离神经网络模型可以包括多个Hourglass结构。上述模型训练模块可以包括:第一损失求取单元、加权平均单元以及训练单元。其中:第一损失求取单元用于计算每个Hourglass模块的第一损失函数,得到多个第一损失函数;加权平均单元用于将所述多个第一损失函数进行加权平均,得到第二损失函数;训练单元用于基于自适应时刻估计方法训练所述初始音频分离神经网络模型,直到所述第二损失函数满足预设收敛条件,停止对所述初始音频分离神经网络模型的训练,得到所述预先训练好的音频分离神经网络模型。
进一步地,在一些实施例中,上述第一损失求取单元中的第一损失函数可以基于如下公式得到:
α=LoSSSpeech+LossNoise (9)
β=LoSSspeec-LossNoise (11)
其中,所述LosSSpee为所述人声样本对应的L1范数损失函数,所述LossNoise为所述伴奏样本对应的L1范数损失函数,所述α为所述人声样本与所述伴奏样本对应的L1范数损失函数和,所述β为所述人声样本与所述伴奏样本对应的L1范数损失函数差,所述LossDoubleMask为所述第一损失函数。
本申请实施例提供的音频分离装置用于实现前述方法实施例中相应的音频分离方法,并具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图13,图13其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备200可以是智能手机、平板电脑、笔记本电脑、台式电脑、可穿戴终端设备等能够运行应用程序的电子设备。本申请中的电子设备200可以包括一个或多个如下部件:处理器210、存储器220以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器220中并被配置为由一个或多个处理器210执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器210可以包括一个或者多个处理核。处理器210利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器220内的指令、程序、代码集或指令集,以及调用存储在存储器220内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器210可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器210可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器210中,单独通过一块通信芯片进行实现。
存储器220可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器220可用于存储指令、程序、代码、代码集或指令集。存储器220可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备200在使用中所创建的数据等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
综上所述,本申请实施例提供的音频分离方法、装置及电子设备,通过提取待处理的混合音频的音频特征,然后将音频特征输入预先训练好的音频分离神经网络模型,该音频分离神经网络模型包括密集模块DenseBlock结构以及沙漏Hourglass结构,DenseBlock结构以及Hourglass结构用于根据音频特征逐级输出混合音频对应的伴奏音频特征和人声音频特征,以获得音频分离神经网络模型输出的混合音频对应的伴奏音频特征和人声音频特征,并基于伴奏音频特征和人声音频特征,获取混合音频对应的伴奏音频和人声音频,作为混合音频的混音分离结果。从而通过预先训练好的包含DenseBlock结构以及Hourglass结构的音频分离神经网络模型,能够比较准确分离出混合音频中的纯净伴奏和纯净人声,提高了音频分离的效果的同时,提升了用户体验。
请参阅图14,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质800中存储有程序代码,程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读取存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质800包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。