短时处理
音频文件或音频流的采样率通常是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/(L−1))
其中 α \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=0∑L−1(x[i])2
短时振幅:
E
=
∑
i
=
0
L
−
1
∣
x
[
i
]
∣
E = \sum_{i=0}^{L-1}|x[i]|
E=i=0∑L−1∣x[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]=variance∑j=0n−i(x[j]−xˉ)(x[i+j]−xˉ)
v
a
r
i
a
n
c
e
variance
variance是方差,基本就是个互相关系数,只不过两个信号都是自己。并且和卷积的计算类似,只不过卷积核方向不一样。然后就是量纲有所区别。
ACF数组的长度应该是信号长度一样长,
考虑到短时窗有的情况下截取不到一个周期,所以需要改进,把自相关改成互相关,然后其中一个信号多加上前一帧的数据。
绿色部分是前一帧的信号。文章来源:https://www.toymoban.com/news/detail-403371.html
但是相关系数计算复杂,吃计算量,而且受有时会受到一些次级峰的影响,相关系数也不是线性的,可能忽大忽小。因此有人发明了一种截断方式,比如3电平削波(3level clip)。把小于一定阈值的信号置为0。大于阈值的信号置为1或者-1。这样使得信号只有三个值,方便计算相关系数,归一化之后相关峰的值也比较大。这个原理之一在于用一个值去截断并二值化之后,一样的信号峰的宽度应该差不多。
阈值一般取当前帧最大值的60%-70%,或者综合参考前一帧,后一帧等
前面这帧的计算结果几种方法都差不多
这一帧的窗口没有截取到周期,因此不扩展周期的都计算错了。
把计算出来的基频和praat计算处来的对比,发现差不多
文章来源地址https://www.toymoban.com/news/detail-403371.html
到了这里,关于【音频分析】音频短时时域分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!