信号处理(二)音频信号的分帧, 加窗

1 .语音信号的三个参数

语音信号有三个重要的参数:声道数、取样频率和量化位数。

  1. 声道数:单声道或者双声道

  2. 采样频率:一秒钟对声音采样的次数,例如10000HZ代表一秒钟将信号分解为10000份,当采样数量非常高的时候,我们人眼看起来就是连续的。(实际是离散的)。采样频率越高声音的还原就越真实越自然。在当今的主流采集卡上,采样频率一般共分为22.05KHz、44.1KHz、48KHz三个等级,22.05KHz只能达到FM广播的声音品质,44.1KHz则是理论上的CD音质界限,48KHz则更加精确一些。

  3. 量化位数:用多少bit表达一次采样所采集的数据,通常有8bit、16bit、24bit和32bit等几种。
    例如CD中所储存的声音信号是双声道、44.1kHz、16bit。

  4. 过零率(Zero Crossing Rate)
    概念:过零率(Zero Crossing Rate,ZCR)是指在每帧中,语音信号通过零点(从正变为负或从负变为正)的次数。 这个特征已在语音识别和音乐信息检索领域得到广泛使用,是对敲击的声音的分类的关键特征。

ZCR的数学形式化定义为:
其中 是采样点的值, 为帧长,函数 在A为真是值为1,否则为0.
特性:
(1).一般而言,清音(unvoiced sound)和环境噪音的ZCR都大于浊音(voiced sound);
(2).由于清音和环境噪音的ZCR大小相近,因而不能够通过ZCR来区分它们;
(3).在实际当中,过零率经常与短时能量特性相结合来进行端点检测,尤其是ZCR用来检测清音的起止点;
(4).有时也可以用ZCR来进行粗略的基频估算,但这是非常不可靠的,除非有后续的修正(refine)处理过程。

2. 信号的分帧

给定一个音频文件, 通过 Load 加载进来得打signal, shape 为(M ), 比如 sr = 22050, t = 10.62s;

通过分帧后, 将一维的 M 转化为 二维的分帧矩阵:
矩阵的行数 = 单帧的 帧长度
矩阵的列数 = 分帧的帧数 n f nf nf:

2.1 样本总点数;

M = s r ∗ t i m e = 采 样 率 × 时 间 M = sr * time = 采样率 × 时间 M=srtime=×

2.2 单帧内的重叠点数;

      重叠个数 = 帧长 -  帧移动长度:

o v e r l a p = w l e n − i n c overlap = wlen - inc overlap=wleninc

2.3 分帧后的 帧数;

n f = ( 信 号 点 数 − 重 叠 个 数 ) / 帧 移 长 度 nf= (信号点数 - 重叠个数) / 帧移长度 nf=()/:
n f = M − o v e r l a p i n c nf = \frac{M - overlap}{ inc} nf=incMoverlap

比如 帧长=2048; 帧移 = 512;
overlap = 2048 -512 = 1536;

举个例子,假设一个音频向量为:
[ 0 , 1 , 2 , 3 , 4 , 5 ] [0, 1, 2, 3, 4, 5] [0,1,2,3,4,5]
点数 m = 6
若帧长为4,帧移为2,overlap = 4 -2 = 2;
则分帧后得到的帧数为:
nf = ( 6 - 2) /2 = 2 , 得到 2 帧;

[ 0 2 1 3 2 4 3 5 ] \begin{bmatrix} 0& 2 \\ 1&3 \\ 2 &4 \\ 3 &5 \\ \end{bmatrix} 01232345
每一帧都有4个基本元素。

3. 信号的加窗

3.1 FFT 变换的条件

FFT变换时,总是从离散数据中选取一部分处理,将其称为一帧数据。
并且FFT是在一定假设下完成的,即认为被处理的信号是周期信号。

因此,FFT之前会对这一帧数据进行周期扩展(加窗, 使得这帧数据 近似 周期信号)。

如果选取的这一帧数据不是信号周期的整数倍,则在周期扩展时会存在样点的不连续性,这将导致FFT之后得到的频谱失真,主要体现在频率成分上。理论上,频谱中只包含待测信号的频率,但实际上此时的频谱包含众多的频率分量。通常将这种现象称为频谱泄露效应。

3.2 加窗的原因

为了解决上述频谱泄露现象, 故对帧信号进行 加窗, 使得加窗后的信号, 左右两端 连起来时, 更具有周期性;

3.3 加窗的效果

而通常一小段音频数据没有明显的周期性,加上汉明窗后,数据形状就有点周期的感觉了。(也就是说窗的左端和右端应该大致能连在一起);

对汉明窗中的数据进行FFT 时,它假设一个窗内的信号是代表一个周期的信号。

因为加上汉明窗,只有中间的数据体现出来了,两边的数据信息丢失了,所以等会移窗的时候,只会移1/3或1/2窗,这样被前一帧或二帧丢失的数据又重新得到了体现。

4.STFT:

4.2 平稳信号的 FFT

即傅里叶变换适用于分析频率特征 稳定的平稳信号。
对于非平稳信号, 傅里叶变换只能表示出 信号中有哪些频率成分,而各个频率成分出现的时间却无法体现;

短时傅里叶变换, 是为了克服傅里叶变换针对 非平稳信号的不足之处;

当想知道信号频率随时间变化的情况,以及各个时刻的瞬时频率及其幅值,

这便是时频分析, 即考虑频率特征,也考虑时间序列变化, 以及他们对应的幅度值;
常用方法:STFT, wavelet;

4.2 帧信号的 FFT

对加窗后的信号,会逐帧进行快速傅里叶变换(fast Fourier transform,FFT)。
逐帧进行快速傅里叶变换的过程被称为短时傅里叶变换(short-time Fourier transform 或 short-term Fourier transform,STFT)

你可能感兴趣的:(#,音频部分,深度学习,数字信号处理)