音频分析算法(面向音频检索的音频分割和标注研究)
孙卫国1,夏秀渝1,乔立能1,叶于林2
(1.四川大学 电子信息学院,四川 成都 610064;2.中国人民解放军78438部队,四川 成都 610066)
:解决大规模音频数据库快速检索的有效手段之一是建立合适的音频索引,其中音频分割和标注是建立音频索引的基础。文中采用了一种基于短时能量和改进度量距离的两步音频分割算法,使得分割后的音频片段具有段间特征差异大、段内特征方差小的特点。在音频分割的基础上进行了音频数据库中音频流的标注;分别基于BP神经网络算法和Philips音频指纹算法对音频进行了音频类别和音频内容的标注,为后续建立音频索引表做准备。实验结果表明,两步分割算法能较好地分割任意音频流,音频标注算法能有效进行基于音频类别和音频内容的标注,算法同时具有良好的鲁棒性。
:音频分割;短时能量;度量距离;音频标注;BP神经网络;音频指纹
:TN912.3文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.05.013
引用格式:孙卫国,夏秀渝,乔立能,等.面向音频检索的音频分割和标注研究[J].微型机与应用,2017,36(5):38-41.
0引言
随着信息技术的高速发展,多媒体信息呈爆炸式增长,人们开始步入大数据时代,对音频检索的要求也在不断增长[1]。如何从海量信息中快速、准确地检索到最渴望的音频信号成为了当前研究的一大热点[2]。现有检索方法大都采用遍历的方式,通过计算、比较查询音频和待检音频之间的距离来达到检索目的,此类方法需要庞大的计算量,检索的效率较低。对于大规模音频库的快速检索问题,建立索引是解决该问题的有效手段。张雪源等提出利用倒排索引对音频进行检索[3],在很大程度上减少了检索中的计算量。
在文本检索中,分词是基础的歩骤,与之类似,音频的分割和标注也是音频检索中的基础步骤。音频分割是指把连续的音频流分割成一系列相对独立并具有稳定特征的音频片段。目前音频分割算法主要有基于距离度量的算法、基于贝叶斯信息准则分割算法、基于模型的算法等[4]。本文采用一种分层次两步分割算法,将音频流分割为段间差异大、段内差异小的音频单元。音频标注可以理解为基于音频内容为音频段写摘要,是为快速建立音频索引表做准备的,以提高音频检索效率为根本目的。标注的核心是音频识别,目前音频识别的算法有动态时间规划算法、隐马尔可夫模算法、反向传播算法[5 6]等。在音频分割完成的基础上,本文分别采用了反向传播(BP神经网络)算法[7 8]和经典的Philips音频指纹算法[9 10]对音频流进行标注。
1音频分割
音频分割是指将连续的音频流信号切分为一系列相对独立和稳定的基本单元。分割的目的是使分割后的音频片段具有段间距离大且段内方差小(或段间独立而段内稳定)的特点。本文采用了一种分层分割算法以期达到兼顾运算速度和分割精度的要求。第一层,利用能量对音频进行有声、无声音频段分割;第二层,利用改进的度量距离对有声段进行分割,从而将任意长度的连续音频流准确而有效地分割为音频特征数值波动较小的短时段落,即音频段基元。
1.1基于能量的音频分割
音频流经过预处理后,提取各帧的短时能量作为音频的基本特征,利用短时能量能有效对音频流进行有声、无声的分割。具体做法是:首先对音频进行分帧,计算每一帧的能量,而后通过计算连续若干帧能量之和,并与门限值进行比较,从而判断是否为有声和静音的分割点。设Emax、Emin、Emean分别表示音频流短时帧能量的最大值、最小值和均值;用Eoff表示能量的浮动范围,最终能量门限应该处于Emin和Emin Eoff之间,选择合适的静音因子β(0≤β≤1),计算能量门限E[3]th:
β的取值由实验确定,实验结果显示β取 0.1 时分割效果最好。当超过连续10帧的音频短时帧能量小于能量门限则认为该音频片段为静音段,否则为有声段。
1.2基于改进度量距离的音频分割
对有声段进行进一步的分割,目标是将其分割成为段间差异大、段内差异小的短时段落,以利于后续基于音频内容的索引建立。本文采用基于度量距离的分割算法。霍特林统计量[3](简记为T2),常用于度量两个具有未知但相同方差的正态分布均值是否相等的问题,其计算公式如下:
其中N为分析窗口的总长度,b为左侧数据窗的长度,均以帧数为单位。μ1和μ2是左右两个数据窗口的特征向量均值,∑为整个分析窗的协方差矩阵。T2值越小,表示左右两段音频越相似,反之,两段音频差异越大。式(2)主要反映了音频段间均值的差异,没有很好地反映段内方差的情况,所以本文提出一种综合考虑音频段间均值和段内方差的距离测度,简记为DIS:
式(3)分子表示左右两段音频特征均值的差异,分母反映左右两段音频各自方差的平均值,当两段音频段间距离大、段内方差小时DIS可获较大值。。
特征参数选用了24维Mel频率倒谱系数,使用固定窗长的分窗方法计算相邻音频的度量距离,考虑到计算量,将左右两边的数据窗长取为等长,这样处理之后的距离测度公式简化为:
依次逐帧滑动,取出所得距离值曲线上的局部极大值点,并利用阈值判断其是否为分割点。具体做法是:当DIS极大值点的值超过预设门限T-DIS时,判断为分割点,否则暂时舍去;接着计算当前分割点和前一分割点之间音频特征的方差,若小于预设门限TVAR则确认该分割点,并继续下一分割点判断,否则取当前分割点和前一分割点之间的中间点为新的分割点,确保段落内方差满足条件为止。用该方式继续搜寻下一分割点,直至数据段的结束。
经过上述两层分割,可以将任意长度的音频流准确而有效地分割为音频特征数值波动幅度较小的短时段落。由于第1层采用能量极小值点进行分割,第2 阶段才依赖均值和方差的统计,因此,当音频数据起点略有偏移时,最终分割偏差累积主要存在于音频的起始和结尾部分,而对音频中间主体部分的分割影响较小,因此该分割方法具有起点鲁棒性。
2音频标注
音频标注这里指给出一段音频的特征编码。本文音频标注工作是为音频检索做准备,主要进行了基于BP神经网络的音频类别标注和基于音频指纹的音频内容标注。对音频文件进行分段,以段而不是以音频文件为单位建立索引,能有效地提高它们之间的区分度。本文音频类别标注实验中段长取为1 min,即将所有音频文件都按1 min分成等时长的段,然后针对每段进行音频标注。
2.1基于BP神经网络的音频类别标注
音频类别识别指通过对音频信号进行分析,确定音频的具体类别属性(如人声、乐器声、自然声还是噪声等)。本文针对电台广播节目搜索问题,音频类别暂时分为:男声、女声、乐声、歌声、球赛声等。
音频类别识别的算法有很多,如矢量量化(VQ)、隐马尔科夫模型(HMM)、高斯混合模型(GMM)等[5]。本文采用BP(Back Propagation)神经网络[78]实现音频类别的识别。
BP网络是目前应用最广泛的神经网络模型之一。它是一种多层前馈网络,学习规则使用最速下降法,通过反向传播算法调整网络的权值和阈值。BP神经网络模型分为两个阶段:一是模型训练阶段,将大量已做标注的音频信号作为训练样本训练网络,首先进行音频预处理提取训练样本的特征参数,每帧音频提取24维MFCC参数,然后将这些特征参数作为输入送入神经网络,同时给出期望输出,通过BP算法对神经网络进行训练,最终学习得到网络的一组连接权值和阈值;二是模型识别阶段,将待识别音频信号进行同样的预处理和特征参数提取,输入到训练好的网络中,利用训练好的连接权值和阈值计算网络输出,并与预先设置的阈值比较以确定音频类别。对段长为1 min的音频进行标注时,只需统计各类音频出现帧数,记录帧数超过预设阈值的音频类别编号即完成此1 min的音频标注。
2.2基于Philips音频指纹的音频标注
为了进行基于内容的音频检索,本文还进行了基于音频指纹[9]的音频标注。
音频指纹作为内容自动识别技术的核心算法,已广泛应用于音乐识别、版权内容监播、内容库去重等领域。本文采用Philips鲁棒音频指纹模型[10]。对段长为1 min的音频进行标注时,进行了如下改进以压缩数据和提高抗干扰性。首先每个音频指纹不是针对音频帧,而是针对分割好的音频段基元进行的,因此可以用特征均值代替音频片段以减少数据冗余。将每个段基元所有帧的子带能量谱进行平均,然后提取音频指纹。假定第n帧的第m子带的能量为E(n,m),其对应的二进制指纹比特为F(n,m),为提高音频指纹的抗噪能力,则音频指纹的每个比特定义可改进为:
F(n,m)=
1ifE(n,m-1)-E(n,m)-(E(n,m)-E(n,m 1))>T
0ifE(n,m-1)-E(n,m)-(E(n,m)-E(n,m 1))≤T (5)
式(5)中门限T的取值以各段基元子带能量均值为基准,并乘以一定比例系数动态选取。对段长为1 min的音频进行标注时,记录出现的段基元音频指纹即可。
3实验分析
本文实验所用数据采集于广播电台,包括新闻、音乐、广播剧、广告等,数据总时为20 h,均为单声道,采样率为 8 kHz。在数据预处理过程时将音频均做幅度归一化处理;在提取声学特征参数时,帧长为 0.064 s,帧移为0.032 s。
3.1音频分割实验
采用两层音频分割进行音频分割,经过实验,选取β=0.1时有最好的分割效果;在第二层的分割实验中, TDIS取DIS的均值,TVAR=0.01,N=6时有最好的分割效果。实验结果如图1、2所示。
从图1可以看出,音频有声段和无声段被有效分割开。在图2中,有声段被进一步分割成声学特征变化小的短时段落。
根据实际音频库的数据来源不同,对可能出现的音频幅度和信噪比的变化等也进行了相关实验和分析。因为在音频预处理中对音频进行了幅度归一化处理,所以在此不考察信号幅度变化对音频分割的影响,仅仅考察信噪比的影响。设x(t)为原始音频,y(t)为信噪比改变后的音频。对x(t)和y(t)分别进行分割,并以x(t)的分割点为基准,统计y(t)分割的准确率:
P=NXYNX×100%(6)
NX表示x(t)分割点的总数,NXY表示x(t)和y(t)分割点一致的数目(两个分割点相距1帧,也认为一致)。从数据库中随机选取了10 min长的音频,分别叠加不同信噪比的高斯白噪声生成带噪音频数据,统计了不同信噪比下带噪音频与无噪音频的分割准确率,实验结果如表1所示。
实验结果显示,信噪比降低对音频分割准确率有一定影响,但总体看该分割算法具有一定的抗噪性。
3.2音频标注实验
3.2.1音频类别标注
BP神经网络设置为3层,其中输入层节点24个,对应24维MFCC参数;输出节点10个,对应10个不同音频类型并分别用数字依次标记;隐层节点设置为25个。本实验训练时参数设置为:反向传播算法最大循环次数为3 000,学习系数为0.000 1,误差阈值为0.000 01。模型识别实验结果如表2所示。
表2是BP网络训练10类音频的预测正确率,统计实验结果显示网络的平均识别正确率达97%。音频类别标注实验中,每1 min音频数据送入训练好的神经网络,在输出端通过预测门限给出每帧的音频类别编号,然后统计该段各编号出现次数并统计为直方图。将大于200帧的编号都记录下来,以此作为该段进行标注有效的音频类别。图3是在众多切分成1 min的音频片段中某一片段的统计直方图。
从图3可以看出,该时间段标记为1、3、7、9四类,表示这1 min的音频片段里有此四类有效音频。
3.2.2音频指纹标注
音频指纹标注同样针对1 min音频段进行。将该段音频中大于3帧的段基元各帧子带能量谱进行平均,然后提取音频指纹,记录该段音频中出现过的所有音频指纹。图4为某1 min音频段共270个段基元生成的指纹图。不难发现,以段基元产生的指纹比按帧产生的指纹数据量大大减少,这样使后续建立音频索引表进行音频检索更简洁、高效。
4结束语
本文以建立音频检索的索引表为目标,研究了音频分割与标注问题。基于能量和度量距离将音频流分割成有声段和无声段,有声段进一步分割成一系列段间差异大,而段内差异小的段基元。然后将音频流以段长1 min为单位标注,完成了基于BP神经网络的音频类别标注和基于音频指纹的音频内容标注。仿真实验表明,文中音频分割和标注算法是有效的,而且具有一定的鲁棒性。这为后续建立合适的音频索引打下了良好基础,下一步将深入研究基于内容的音频检索。
参考文献
[1] 刘巍.基于内容的同源音频和视频检索[D].北京:北京邮电大学, 2011.
[2] 张卫强,刘加.网络音频数据库检索技术[J].通信学报, 2007,28(12):152-155.
[3] 张雪源,贺前华,李艳雄,等.一种基于倒排索引的音频检索方法[J].电子与信息学报,2012,34(11):2561-2567.
[4] 吴宇,钱旭,周剑鸣.基于相对熵和贝叶斯信息判据的在线分割算法[J].电声技术,2013,37(3):49-53.
[5] 王欢.语音发现与跟踪技术的研究及应用[D].北京:北京邮电大学,2014.
[6] 张卫清.语音识别算法的研究[D].南京:南京理工大学,2004.
[7] 陈仁林,郭中华,朱兆伟.基于BP神经网络的说话人识别技术的实现[J].智能计算机与应用,2012,2(2):47-49.
[8] 杨景花,王双喜,周思方,等.基于神经网络的智能语音识别研究[J].微型机与应用,2016,35(17):52-54.
[9] 周亦敏,牟同鑫.采用复倒谱和子串匹配的音频指纹算法研究[J].上海理工大学学报,2010,32(3):277-280.
[10] 鲁明明,张晖,沈庆宏. 基于功率谱特征的音频指纹实现[J].电子测量技术,2016,39(9):69-72.
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com