本部分知识基于葛世超等人著《实时语音处理实践指南》一书进行整理。第一章 信号处理

第一节 语音基础知识

  1. 语音信号是实信号。
  2. 语音信号是时变的,每秒约产生10个音节,所以在10~30ms内可以看成是准静态的。
  3. 为什么要加窗处理?

答:对连续的语音分帧做STFT处理,等价于截取一段时间信号,对其进行周期延拓,从而变成无限长序列,然后对该无限长序列做FFT变换,但是这一截断并不符合傅里叶变换的定义,因此会导致频谱泄露和混叠泄露会导致幅度较小的频点淹没在幅度较大的频点泄漏分量重,而混叠会在分段拼接处引入虚假的峰值,进而不能获得准确的频谱情况。通过加窗可以抑制频谱泄漏和混叠。

  1. 在语音增强算法一般用FIR滤波器,是为了保持线性相位

第二节 重叠相加和重叠保留法

  1. 重叠相加(OLA)和重叠保留(OLS)主要用于将无限长序列的傅里叶变换、卷积和滤波运算转换成若干子段的傅里叶变换、卷积和滤波运算,时域计算复杂度为O(n^2),频域为O(nlogn)。语音信号中一般在频域实现。
  2. 对于分段长度为L,滤波器长度为M的情况,通常选择L+M-1为2的倍数,以利用FFT加速运算。

第三节 加权重叠相加法(WOLA)

  1. 加权重叠相加法在IFFT变换之后还要对数据进行加权,加权使用窗函数来实现,然后安装FFT对应段再相加,重叠相加结果是最终结果。加窗的目的是减小截断效应带来的不利影响,以抑制帧边缘主观听感上的不连续性。常用的窗函数包括均方汉宁窗均方布莱克曼窗
  2. 不同窗具有的最优重叠长度不一致,布莱克曼哈里斯窗的最优重叠长度为窗长的66.1%,而汉明窗和汉宁窗则为50%

第四节 语音预加重预加重技术是为了提高高频分辨率。例如speex在做AEC的时候,选择的预加重洗漱为0.9。常用预加重洗漱提高200Hz以上的频率成分。