毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

基于旋律的音乐检索系统设计与实现(10)

时间:2017-01-17 18:48来源:毕业论文
4.2.2 信号能量检测 声音波形的振幅大小说明了声音的强度,在数字信号处理中用能量来表示。无声时波形的振幅理论上应该是零,但实际上受到各种内部


 4.2.2 信号能量检测
声音波形的振幅大小说明了声音的强度,在数字信号处理中用能量来表示。无声时波形的振幅理论上应该是零,但实际上受到各种内部和外部噪声的影响,有时会有比较小的振幅出现,而有声时的波形振幅就要大得多,因此可以通过声音波形振幅的大小来判断有声和无声的情况。在实际使用中,系统是采用短时能量来进行能量检测的,如公式(4.9)所示:
                                                  (4.9)
   其中n为时序编号,N为窗长,En表示时刻((n - N + 1)到n段的短时信号能量,s(n)为离散信号的时间序列,w(n)为窗函数。
    可以先设定一个短时能量的闽值,声音波形的能量大于这个闭值的为有声,小于闽值的就为无声,这样便能够过滤掉声音波形中的无声部分。同时,能量检测还能用于音符的切分。
4.2.3 信号过零率检测
    过零率是指在单位时间内信号跨越零值的次数,也就是信号符号改变的次数,是对信号频率的一种简单度量。对于窄带信号,如单一正弦波而言,其过零率是比较精确的,为信号频率的两倍。对于一个声音波形来说,如果频率越高,那么其过零率也越高;频率越低,则过零率也越低。对于人所发出的声音频率,一般合理的范围在87.31Hz和784Hz之间,在此范围之外的波形就可以作为噪声过滤掉。在实际使用中,系统采用短时过零率,即一个短时帧内信号的过零率来去除噪声,如公式(4.10)所示:
4.2.3 中值平滑滤波
    由于哼唱时噪声的存在和基音检测中不可避免的误差,在波形的各个部分都很可能出现一些非典型点。这些点处的波形同前后相邻的波形相比有很大的突变,而这种变化不是由用户哼唱所引起的正常结果,因此会大大影响随后的音符切分和参数提取。在实际中,系统采用平滑滤波来处理这些非典型点。
    有多种平滑滤波算法可以用来去除这些非典型点,其中最常用的是中值滤波平滑算法。中值滤波是一种能有效抑制声音波形中非典型点的信号处理技术,它是一种非线性的平滑方法,能有效避免传统线性平滑方法对声音信号尖锐边缘的破坏。
    中值平滑处理的基本原理是:设x(n)为输入信号,y(n)为输出信号,采用一滑动窗在信号上滑动,则信号n0处的输出值y(n0)就是将窗的中心移动到n。处时窗内输入样点的中值。即在n0点的左右各取L个样点,连同被平滑点一起共同构成一组信号采样值,然后将这(2L十1)个样值从大到小依次排成一队,取此队列中的中间值作为平滑器的输出。L值一般取为1或2,即中值平滑窗口一般长度为3或5,称为3点或5点中值平滑。中值平滑的优点是既可以有效的去除少量的野点,又不会破坏基音周期轨迹中两个平滑段之间的阶跃性变化,同时声音波形经过中值滤波的处理后噪声也被进一步抑制和去除。
    在实验中,我们发现有些音符经过基音提取后处理之后,本来是一个音符的信号,被分成了两三个小的音符。这是因为音符里有些点受到噪声的影响比较大,被前面的能量检测或者过零率检测当作非典型点去掉了。在中值平滑滤波中,系统的解决方法是采用考虑零点的5点中值滤波尽量去恢复这些信号,把基音值为0的点恢复成它周围点的信号。因此在实际操作中,信号需要经过两次中值滤波,先采用考虑零点的5点中值滤波去恢复丢失的信号和去掉非典型点,其次再用不考虑零点的7点中值滤波再次平滑非典型点。 基于旋律的音乐检索系统设计与实现(10):http://www.youerw.com/tongxin/lunwen_2379.html
------分隔线----------------------------
推荐内容