基于MATLAB鸟叫声特征提取方法的研究
2013-03-30戴天虹
戴天虹,李 野,孙 鹏
(东北林业大学机电工程学院,哈尔滨150040)
对鸟叫声的研究涉及鸟类行为学和声学,它们相互交叉相互渗透,使之成为了一门新的边缘学科[1]。而且鸟叫声作为鸟类重要的生物学特征之一,相关研究人员早在上世纪30年代的时候已经开展了相关研究工作,截止到目前为止,全世界绝大部分鸟类已被录到叫声。在对鸟叫声进行研究时,需要从已得到的鸟叫声的信号波形中提取多个特征参数[2],为后续研究工作提供可靠数据,而本文主要介绍了如何利用MATLAB对鸟叫声提取特征参数。
1 鸟叫声的声学特征
描述鸟叫声的声学形状的主要参数及定义如下:音节库的数量的多少及其组成,能够反映音节时间特征的音节声长,间歇,相对幅值,在所有音节中能量最高且具有一定带宽的基本音,其个数可以体现出鸟叫声的婉转程度且作为一个音节中在基本音频率之上成分的陪音。在周期性震荡中,其频率等于基频整数倍的正弦量谐波,脉冲持续时间。每个音节的脉冲个数,脉冲间隔时间,频率范围,包括很多不同频率成分的复信号中主频率,主频最大值等[3]。
可以把鸟叫声分解为一系列连续的正弦波,这个正弦波是一个复杂的周期函数,把它看成是许多不同频率的简谐振动的叠加,进而进行傅里叶变化。
2 鸟叫声的特征提取
2.1 预处理
为了更好地对语音信号的进行特征提取,预处理是它能够获得成功的重要保障。本文使用Matlab对鹭鸶叫声进行了特征提取,得到如图1~图5所示的实验数据。
图1 原始语音信号Fig.1 Original speech signal
图2 鸟鸣叫声的语音图谱Fig.2 A bird singing map
图3 语音信号的频率响应图Fig.3 Frequency response chart of speech signal
图4 鸟叫声的功率谱Fig.4 Birds singing power spectrum
2.2 去噪
在鸟叫声的采集过程中,难免会有噪声的干扰,为了能更好的对语音信号进行预处理,本实验采用了小波去噪[4],可以直接采用Matlab语音信号工具箱中自带的函数进行去噪,结果如图5所示。
图5 鸟叫声去噪处理结果Fig.5 Denoising processing results of a bird singing
2.3 预加重
对输入的鸟叫声信号进行预加重是为了对叫声信号中的高频部分进行加重,去除口唇辐射对信号的影响,令语音信号的高频分辨率得到改善,如图6所示。
图6 鸟叫声的预加重Fig.6 Pre-emphasis of a bird sing
由图6可知,对鸟叫声信号进行了预加重处理,有效的滤除了低频干扰部分,提高了语音高频频谱的识别,以遍更好的对语音信号进行处理。
2.4 加窗分帧
语音信号是一种随时间而变化的信号,而且鸟叫声复杂多样,其叫声波形里包含了各种不同的事件,这种波形在时域的变化同时意味着频谱特征随时间而进行较大幅度变化。加窗函数为Hanning窗函数,宽度为256,重叠点数为200。
声音信号虽然是非线性时变信号,但是它同时具有短时平稳的特点,所以对其进行分帧可以提取它的这种特性。
2.5 端点检测
端点检测的目的是为了能够在实时输入的声音信号中区分背景噪声和环境噪声,更加准确地判断出声音信号的起止点。端点检测需要由特定的算法自动完成。常用的算法是由语音能量和过零率组合的双门限法、由短时能量和过零率的乘积构成的能频值法。
3 提取特征的方法
语音信号经过上面所介绍的预处理后,将进行语音识别中的一个非常重要环节——特征参数的提取。选择良好的特征参数不仅可以很好地反应语音特征,而且计算更方便,这对系统的实现非常重要。
3.1 线性预测系数
目前为止,应用最广泛的特征参数提取技术是线性预测 (Linear Prediction)分析技术,许多成功的应用系统都是基于该技术提取的倒谱参数。但是该方法采用的是纯数学模型,并没有考虑人类听觉系统对语音的处理特点。本文中将鸟叫声信号看作一个输入序列激励一个全极点的系统模型而产生的输出。其中系统的传递函数为:
式中:G为增益常数;ai为实数;P为模型参数。
利用公式中的 {ai}可以定义一个P阶线性预测器,即可以利用鸟叫声的前P个样本来预测当前样本得到公式 (2)的预测值[5]。
式中:{ai}为线性预测系数 (LPC)。
3.2 Mel频率倒谱系数 (Mel Frequency Cepstrum Coefficient,MFCC)
Mel频率依据人耳的听觉特性,并与Hz频率成非线性的对应关系。Mel频率根据它们之间的这种关系,通过计算得到的Hz频谱特征。MFCC参数也是以人的听觉特性为依据,因此具有较好的鲁棒性。在鸟叫声的频谱范围内,可以设置若干个带通滤波器,每个滤波器都具有三角形或正弦形的滤波特性,然后使鸟叫声的能量谱通过该滤波器组,这样可以求出每个滤波器的输出,对其取对数,并作DCT变换,所得结果就是MFCC系数[6]。
求解MFCC如公式 (3)所示。
式中:x(k)为语音信号经DFT变换结果;M为滤波器个数。
得到MFCC系数的具体步骤如图7所示。
图7 计算MFCC系数的具体步骤Fig.7 The specific steps of calculating MFCC coefficient
4 软件实现
本文使用MATLAB中的GUI界面设计设计了一款软件,可以实现上文所描述的对鸟叫声特征进行提取处理并得到上述结论。界面如图8所示。
图8 鸟叫声软件截图Fig.8 The screenshot of a bird singing software
5 结论与讨论
对鸟叫声进行相应的特征提取是鸟叫声研究的基础。对鸟叫声进行FFT变换的基础上,对鸟叫声进行了LPC线性预测和MFCC系数分析。
本文中讨论所设计一款软件实现了对鸟叫声的特征提取,为鸟叫声更广泛的应用提供了一定的技术保证。并可以在以下方面可以得到良好的应用。
(1)根据对不同地区的鸟类叫声进行分析和判别,可以得出该地区的鸟类物种及群落的分布特点,方便相关专家作更全面的调查研究,并对该地区的鸟类展开遗传学、行为生态学、种群生态学等多个方面的研究,并且分析它们对栖息地的选取及该栖息地对种群的影响。
(2)自古以来,大部分的鸟类都存在迁徙的习性,而迁徙是鸟类整个生命周期中风险系数最高的行为,受到体能、天敌等各种各样因素的制约,而且人类的越来越多的活动常常会有意无意地破坏了鸟类迁徙的补给站点,为它们的迁徙带来了更大的困难,有时甚至对一些物种的存续产生非常严重的影响。针对旅鸟物种较为丰富的现象,定期的对各地鸟类分布进行汇总,以确定该地是否为旅鸟(特别是水鸟)迁徙的重要“中转站”,并根据对应情况制定相应的保护方案具有十分重要的现实意义[7]。
(3)目前全国多处地方出现鸟群对建筑物、飞机等进行撞击,这种情况的发生使鸟击防灾成为了一门新兴的学科,所以系统的掌握鸟类生态习性和治理方法,对鸟击灾害的减控具有十分重要的现实意义[8]。
但是在实际的生活中,还要克服各种各样的困难,首先鸟叫声相当,在不同环境下、不同条件下鸟类叫声有很大的区别,例如高兴、伤痛、求偶、进食、入侵、防御、飞行和营巢时鸟类都会发出不同的叫声,因此想要获取纯粹不掺杂噪音的自然鸟叫声比较困难,其次所得到的鸟叫声声源的质量和数量对鸟叫声特征提取的可靠性影响比较大,这一方面的的工作还需研究[9]。
本文通过使用软件MATLAB2010a对鸟叫声进行预处理、LPC分析和MFCC分析等方法提取了鸟叫声的特征参数,为鸟叫声的识别和鸟叫声与鸟类行为学的相关研究提供了一定的声学依据。但是在实际应用中还会遇到各种各样的问题,例如采集环境和采集设备的选择、背景噪声、多个鸟叫声混合等,这还需要进一步研究。
[1]雷富民.鸟类鸣声结构地理变异及其分类学意义[J].动物分类学报,1999,24(2):232 -240.
[2] Weary D M,Norris K J,Falls J B.Song features birds use to identify individuals[J].The Auk,1990,107:623-625.
[3]伟利国,张小超,吴文彪.鸟鸣叫声特征提取方法的研究[J].辽宁师范大学学报(自然科学版),2010,33(1):108-111.
[4]刘保住.Matlab7.0从入门到精通[M].北京:人民邮电出版社,2006.
[5]李宏松,苏健民,黄英来,等.基于声音信号的特征提取方法的研究[J].信息技术,2006,1(1):91 -94.
[6]李亚微,郭 敏,任建设,等.基于小波分析的朱鹮声信号预处理研究[J].数字信号处理,2007,31(10):68 -70.
[7]朱文琰,孙 平,王占彬,等.机场鸟害防治的生态学措施[J].生态经济,2007,2(1):148 -149.
[8]雷富民,王 钢,尹祚华.鸟类鸣唱的复杂性和多样性[J].动物分类学报,2003,28(1):163 -171.
[9] 苏 秀,朱 曦.鸟声研究进展[J].浙江林学院学报,2006,23(3):323-327.