具体实施方式
本发明实施例提供了一种音乐文件的音质检测方法及装置,可有效识别出包含白噪声或类似白噪声的音乐文件,避免错误文件的混入,以向用户提供高质量音质的音乐文件,以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明实施例中音乐文件的音质检测方法及装置可以且不限于应用于各类音乐服务平台,用于对其曲库中的音乐文件进行检测。
请参阅图1,本发明实施例中音乐文件的音质检测方法一个实施例包括:
101、对音乐文件进行分帧加窗,得到样本帧;
在本发明实施例中,音频文件中的音频信号属于短时平稳过程,通过进行分帧加窗,将音频信号进行分段处理,可以得到视为平稳过程的帧信号。在本实施例中,可以仅提取其中的一帧信号作为后续检测的样本,即样本帧,也可以连续提取多帧信号并取它们的平均值作为样本帧,具体此处不作限定。
102、对该样本帧进行小波变换,得到高频分量和低频分量;
其中,连续小波变换公式为:
在本实施例中,小波变换可以采用不同的级数或不同的小波基,具体此处不作限定。例如,可以只对样本帧进行一级小波变换,则对应得到的高频分量为一级高频分量,低频分量为一级低频分量;也可以直接对样本帧进行M级小波变换(M大于1),则对应得到的高频分量为M级高频分量,低频分量为M级低频分量,具体此处不作限定。
其中,小波变换的一级变换过程是,原始信号分别进行低通、高通滤波,再分别进行二元下抽样,就得到以数组形式表示的低频分量和高频分量;而多级变换过程则是对上一级变换得到的低频分量再进行小波变换,本领域技术人员可以通过现有技术获取进行小波变换的具体过程,此处不再赘述。
103、判断高频总量与低频总量的差值是否小于第一预设值,若是,则执行步骤104;
其中,高频总量是对高频分量形成的数组求和得到的结果,可以反映样本帧的高频能量,低频总量是对低频分量形成的数组求和得到的结果,可以反映样本帧的低频能量,从而得到可以反映音乐文件高频能量的高频总量以及可以反映音乐文件低频能力的低频总量。
可以理解的是,若在步骤102中直接对样本帧进行M级小波变换,则本步骤中的高频分量具体为M级高频分量,低频分量具体为M级低频分量,对应的高频总量具体为对M级高频分量形成的数组求和得到的结果,对应的低频总量是对M级低频分量形成的数组求和得到的结果。
104、判定该音乐文件为错误文件;
在本实施例中,错误文件为音质效果较差的包含白噪声或类似白噪声的音乐文件,当高频总量与低频总量的差值小于第一预设值,可以认为音乐文件中包含白噪声或类似白噪声,此处,一个噪声过程所具有的带宽大于它所作用系统的带宽,并且在该带宽中其频谱密度大概可以作为常数来考虑,就可以把它作为类似白噪声来处理。可以理解的是,在本实施例中,将包含白噪声或类似白噪声的音乐文件限定为错误文件,并对这类错误文件进行检出和替换,以实现曲库的精品化,提升用户体验。
本发明实施例提供的技术方案中,对音乐文件进行分帧加窗,以将音乐文件进行分段,得到样本帧,再对该样本帧进行小波变换,得到高频分量和低频分量,然后判断高频总量与低频总量的差值是否小于第一预设值,若是,则判定该音乐文件为错误文件;其中,高频总量由高频分量求和得到,低频总量由低频分量求和得到。在本发明实施例中,由于正常的音乐文件,其低频能量和高频能量相差较大,而对于包含白噪声或类似白噪声的音乐文件,由于白噪声或者类似白噪声的存在,其低频能量和高频能量的差值较小,由此,可以通过应用小波变换技术得到高频分量和低频分量,并进一步获取可以反映音乐文件高频能量的高频总量以及可以反映音乐文件低频能力的低频总量,通过判断高频总量和低频总量的差值来识别出包含白噪声或类似白噪声的音乐文件。因此相对于现有技术,可有效识别出包含白噪声或类似白噪声的音乐文件,避免错误文件的混入,以向用户提供高质量音质的音乐文件。
下面在图1所示实施例的基础上,进一步详细描述在多级小波变换过程中如何识别出错误文件,具体请参阅图2,本发明实施例中音乐文件的音质检测方法另一实施例包括:
201、提取待检测的音乐文件的副歌部分;
在本实施例中,可以首先对待检测的音乐文件的副歌部分进行提取,以副歌部分作为待检测的样本,以提高检测速度,且更容易避免静音、伴奏部分或噪音部分等。
202、对音乐文件的副歌部分进行分帧加窗,得到样本帧;
在本实施例中,分帧加窗过程中使用的窗函数可以为汉明窗。当然,在其他一些实施例中,也可以使用其他窗函数,如矩形窗等,具体此处不作限定。
203、对该样本帧进行小波变换,得到高频分量和低频分量;
在本实施例中,步骤203的过程与图1所示实施例中的步骤102过程相同,在此不再赘述。
可选地,在本实施例中,小波变换包括整数harr小波变换,当然,在其他一些实施例中,也可以使用其他类型的小波变换,具体此处不做限定。
204、判断高频总量与低频总量的差值是否小于第一预设值,若是,则执行步骤205;
与图1所示实施例不同的是,当高频总量与低频总量的差值小于第一预设值时,并不直接判断该音乐文件为错误文件,而是将该低频分量作为待处理低频分量,继续进行下一级小波变换,具体的:
205、将该低频分量作为待处理低频分量,对该待处理低频分量进行下一级小波变换,得到对应的下一级高频分量和下一级低频分量;
在本实施例中,在经步骤203中的小波变换后,可以得到高频分量和低频分量,其中,该低频分量可以是一级低频分量,也可以是M级低频分量(参见步骤102的描述),此时,以该低频分量作为待处理低频分量,对该待处理低频分量进行下一级小波变换,得到对应的下一级高频分量和下一级低频分量,例如,当该低频分量为一级低频分量时,对该一级低频分量进行二级小波变换,得到对应的二级高频分量和二级低频分量;当该低频分量为M级低频分量时,对该M级低频分量进行(M+1)级小波变换,得到对应的(M+1)级高频分量和(M+1)级低频分量。
206、判断下一级高频总量与下一级低频总量的差值是否小于第二预设值;若是,则将该下一级低频分量作为待处理低频分量,并重复执行步骤205和步骤206;
在本实施例中,在经步骤205得到该下一级高频分量和该下一级低频分量后,进一步获取对应的下一级高频总量和下一级低频总量,其中,下一级高频总量具体为对该下一级高频分量形成的数组求和得到的结果,对应的低频总量是对该下一级低频分量形成的数组求和得到的结果。
在本实施例中,当判定该下一级高频总量与下一级低频总量的差值小于第二预设值时,继续以该下一级低频分量作为待处理低频分量,重复执行步骤205和步骤206,直至进行到预设的第N级小波变换,其中,N大于1。需要说明的是,该第二预设值可以与该第一预设值相同,也可以根据实际情况设置为不同,具体此处不作限定。
可以理解的是,若步骤203中执行的是一级小波变换且N设置为3,则当第一次执行步骤205时,进行的下一级小波变换为二级小波变换,得到二级高频分量和二级低频分量,若二级高频总量与二级低频总量的差值小于第二预设值,并不直接认定为错误文件,而是为了保证准确性,继续对二级低频分量进行三级小波变换,得到三级高频分量和三级低频分量,并判断三级高频总量和三级低频总量之间的差值是否小于第二预设值,才不再重复执行步骤205和步骤206,可以理解的是,在上述循环过程中,在一级小波变换和二级小波变换后,都对相应的级别的高频总量与低频总量的差值进行判断,且每次都需要满足小于第二预设值。
207、若N级高频总量与N级低频总量的差值小于第二预设值,判定该音乐文件为错误文件;
在本实施例中,其中,N级高频总量具体为对N高频分量形成的数组求和得到的结果,N级低频总量是对该下一级低频分量形成的数组求和得到的结果。以步骤206中举例继续进行说明,在第二次重复执行步骤205和步骤206时,循环结束,此时若三级高频总量和三级低频总量之间的差值小于第二预设值,则判定该音乐文件为错误文件,可以理解的是,在整个判定过程中,在上述每次小波变换后,都对相应的级别的高频总量与低频总量的差值进行判断,只有每次都满足小于第二预设值时,才判定该音乐文件为错误文件
上面对本发明实施例中的音乐文件的音质检测方法进行了描述,下面对本发明实施例中的音乐文件的音质检测装置进行描述,请参阅图3,本发明实施例中音乐文件的音质检测装置一个实施例包括:
分帧加窗单元301,用于对音乐文件进行分帧加窗,得到样本帧;
变换单元302,用于对所述样本帧进行小波变换,得到高频分量和低频分量;
判断单元303,用于判断高频总量与低频总量的差值是否小于第一预设值,若是,则判定所述音乐文件为错误文件;其中,高频总量由高频分量求和得到,低频总量由低频分量求和得到。
为便于理解,下面以一具体应用场景为例,对本实施例中音乐文件的音质检测装置的内部运作流程进行描述:
分帧加窗单元301对音乐文件进行分帧加窗,得到样本帧;变换单元302,对所述样本帧进行小波变换,得到高频分量和低频分量;判断单元303判断高频总量与低频总量的差值是否小于第一预设值,若是,则判定所述音乐文件为错误文件;其中,高频总量由高频分量求和得到,低频总量由低频分量求和得到。
本发明实施例提供的技术方案中,分帧加窗单元301对音乐文件进行分帧加窗,以将音乐文件进行分段,得到样本帧,再通过变换单元302对该样本帧进行小波变换,得到高频分量和低频分量,然后由判断单元303判断高频总量与低频总量的差值是否小于第一预设值,若是,则判定该音乐文件为错误文件;其中,高频总量由高频分量求和得到,低频总量由低频分量求和得到。在本发明实施例中,由于正常的音乐文件,其低频能量和高频能量相差较大,而对于包含白噪声或类似白噪声的音乐文件,由于白噪声或者类似白噪声的存在,其低频能量和高频能量的差值较小,由此,可以通过应用小波变换技术得到高频分量和低频分量,并进一步获取可以反映音乐文件高频能量的高频总量以及可以反映音乐文件低频能力的低频总量,通过判断高频总量和低频总量的差值来识别出包含白噪声或类似白噪声的音乐文件。因此相对于现有技术,可有效识别出包含白噪声或类似白噪声的音乐文件,避免错误文件的混入,以向用户提供高质量音质的音乐文件。
下面在图3所示实施例的基础上,进一步详细描述可在多级小波变换过程中识别出错误文件的音乐文件的音质检测装置的具体结构,具体请参阅图4,本发明实施例中音乐文件的音质检测装置另一实施例包括:
分帧加窗单元401,用于对音乐文件进行分帧加窗,得到样本帧;
变换单元402,用于对所述样本帧进行小波变换,得到高频分量和低频分量;
判断单元403,用于判断高频总量与低频总量的差值是否小于第一预设值,若是,则判定所述音乐文件为错误文件;其中,高频总量由高频分量求和得到,低频总量由低频分量求和得到。
在本实施例中,所述判断单元403,还用于在判断所述高频总量与低频总量的差值小于第一预设值时,将所述低频分量作为待处理低频分量;
所述变换单元402,还用于对所述待处理低频分量进行下一级小波变换,得到对应的下一级高频分量和下一级低频分量;
所述判断单元403,还用于判断下一级高频总量与下一级低频总量的差值是否小于第二预设值,若是,则将所述下一级低频分量作为待处理低频分量输出至所述变换单元进行下一级小波变换,直至进行到预设的N级小波变换,其中,N大于1;若N级高频总量与N级低频总量的差值小于第二预设值,则判定所述音乐文件为错误文件。
可选地,在本实施例中,所述装置还可以包括:
提取单元404,用于在所述对音乐文件进行分帧加窗,得到样本帧之前,提取待检测的音乐文件的副歌部分。
所述所述分帧加窗单元401,具体用于对所述音乐文件的副歌部分进行分帧加窗,得到样本帧。
可选地,在本实施例中,所述小波变换包括整数harr小波变换。
可选地,在本实施例中,所述分帧加窗单元中的窗函数为汉明窗。
上面从模块化功能实体的角度对本发明实施例中的音乐文件的音质检测装置进行描述,下面从硬件处理的角度对本发明实施例中的音乐文件的音质检测装置进行描述,请参阅图5,本发明实施例中音乐文件的音质检测装置另一实施例包括:
输入装置501、输出装置502、处理器503和存储器504(其中音乐文件的音质检测装置中的处理器503的数量可以一个或多个,图5中以一个处理器503为例)。在本发明的一些实施例中,输入装置501、输出装置502、处理器503和存储器504可通过总线或其它方式连接,其中,图5中以通过总线连接为例。
其中,通过调用存储器504存储的操作指令,处理器503,用于执行如下步骤:
对音乐文件进行分帧加窗,得到样本帧;
对所述样本帧进行小波变换,得到高频分量和低频分量;
判断高频总量与低频总量的差值是否小于第一预设值,若是,则判定所述音乐文件为错误文件;其中,高频总量由高频分量求和得到,低频总量由低频分量求和得到。
在本发明的一些实施例中,处理器503还可以用于执行以下步骤:
若所述高频总量与低频总量的差值小于第一预设值,将所述低频分量作为待处理低频分量;
1)、对所述待处理低频分量进行下一级小波变换,得到对应的下一级高频分量和下一级低频分量;
2)判断下一级高频总量与下一级低频总量的差值是否小于第二预设值;
若是,则将所述下一级低频分量作为待处理低频分量,并重复执行所述步骤1)和步骤2),直至进行到预设的N级小波变换,其中,N大于1;
若N级高频总量与N级低频总量的差值小于第二预设值,则判定所述音乐文件为错误文件。
在本发明的一些实施例中,处理器503还可以用于执行以下步骤:
在所述对音乐文件进行分帧加窗,得到样本帧之前,提取待检测的音乐文件的副歌部分;
对所述音乐文件的副歌部分进行分帧加窗,得到样本帧。
在本发明的一些实施例中,所述小波变换包括整数harr小波变换。
在本发明的一些实施例中,分帧加窗过程中使用的窗函数为汉明窗。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。