【音频分析】音频短时时域分析

短时处理

音频文件或音频流的采样率通常是8K,16K,48K之类的,即每秒钟有8000、16000、48000个样本。以16K采样率为例,一个信号仅耗时0.0625ms,显然逐信号处理的富余时间太短了。因此和视频传输类似,音频的传输单位,是一个较短时间窗口的采样累积,广义地也可以称之为帧(frame)。传输是逐帧完成,计算也可以逐帧完成,或者缓存一些帧来完成。
一般来说,16K音频采用10ms的窗口,这个窗口和音频长度相比非常小,因此,可以称之为“短时”。基于窗的短时处理也就是音频处理中的普遍标准范式。

窗函数

  • 截取一帧数据的时候,对数据进行加权,即施加窗函数。
  • 直接截取一部分音频数据,可以称之为矩形窗。
  • 有一种中心权重高,两边权重低的窗口函数,称之为汉明窗。
    公式如下:
    s a m p l e [ i ] = ( 1 − α ) − α ∗ c o s ( 2 π i / ( L − 1 ) ) sample[i] = (1-\alpha) - \alpha*cos(2\pi i/(L-1)) sample[i]=(1α)αcos(2πi/(L1))
    其中 α \alpha α是权重系数,值域[0,1], i i i是采样后样本在窗口的下标, L L L是采样窗的长度。
    如一般来说:
    16K音频每10ms有160个采样, L = 160 L=160 L=160 α \alpha α一般取0.46。
    在这里插入图片描述
    从上面的图可以看出,汉明窗让中间的信号强度增强,抑制了边缘的强度。这样做的原因在频域处理的时候避免因为边缘截断引起的频谱失真。具体可以参考《什么是泄漏?

短时能量和振幅

短时能量和振幅没啥好说的,上两个公式:
短时能量
E = ∑ i = 0 L − 1 ( x [ i ] ) 2 E = \sum_{i=0}^{L-1}(x[i])^2 E=i=0L1(x[i])2
短时振幅:
E = ∑ i = 0 L − 1 ∣ x [ i ] ∣ E = \sum_{i=0}^{L-1}|x[i]| E=i=0L1x[i]
有窗函数则乘上窗函数,等用到(如编解码等)再详细讨论

音调(音高)、基频和自相关

影响听觉最主要的因素是音调,所谓音调可以类比为do、re、mi、fa这种音乐上的音阶,在人的感觉上来说就是声音的粗细。根据经验,决定音调的因素是时域频率最小的那个波,称之为基频。
一般认为,人正常说话的发声的基频范围在70Hz-500Hz之间,一般男性在120-250左右,女性稍高。一个16K信号10ms的窗采样数是160,一个采样是0.0625ms,则能区分的最大频率为16000Hz,最小频率为100Hz。

自相关和相关面峰值是时域用来计算基频的一种算法。主要原理就是用和自身一样的滑动窗来滑动相乘。
在这里插入图片描述
每移动一格就计算重合部分的相关系数(auto-correlation coefficient 简称acf
蓝色和黄色部分为同一帧信号
A C F [ i ] = ∑ j = 0 n − i ( x [ j ] − x ˉ ) ( x [ i + j ] − x ˉ ) v a r i a n c e ACF[i] = \dfrac{\sum_{j=0}^{n - i}(x[j] - \bar{x})(x[i+j] - \bar{x})}{variance} ACF[i]=variancej=0ni(x[j]xˉ)(x[i+j]xˉ)
v a r i a n c e variance variance是方差,基本就是个互相关系数,只不过两个信号都是自己。并且和卷积的计算类似,只不过卷积核方向不一样。然后就是量纲有所区别。
ACF数组的长度应该是信号长度一样长,
考虑到短时窗有的情况下截取不到一个周期,所以需要改进,把自相关改成互相关,然后其中一个信号多加上前一帧的数据。
在这里插入图片描述
绿色部分是前一帧的信号。

但是相关系数计算复杂,吃计算量,而且受有时会受到一些次级峰的影响,相关系数也不是线性的,可能忽大忽小。因此有人发明了一种截断方式,比如3电平削波(3level clip)。把小于一定阈值的信号置为0。大于阈值的信号置为1或者-1。这样使得信号只有三个值,方便计算相关系数,归一化之后相关峰的值也比较大。这个原理之一在于用一个值去截断并二值化之后,一样的信号峰的宽度应该差不多。
阈值一般取当前帧最大值的60%-70%,或者综合参考前一帧,后一帧等
在这里插入图片描述
前面这帧的计算结果几种方法都差不多
在这里插入图片描述
这一帧的窗口没有截取到周期,因此不扩展周期的都计算错了。
在这里插入图片描述
把计算出来的基频和praat计算处来的对比,发现差不多
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值