找回密码
 立即注册
LiveVideoStack 首页 资讯 查看内容
  • QQ空间
  • 回复
  • 收藏

基于TensorflowLite的人声识别在端上的实现(2)

2018-4-26 17:33

2.2 短时傅里叶变换


声音信号是一维的时域信号,直观上很难看出频率变化规律。如果通过傅里叶变换把它变到频域上,虽然可以看出信号的频率分布,但是丢失了时域信息,无法看出频率分布随时间的变化。为了解决这个问题,很多时频分析手段应运而生。短时傅里叶,小波,Wigner分布等都是常用的时频域分析方法。


图2.5 FFT变换和STFT变换示意图


通过傅里叶变换可以得到信号的频谱。信号的频谱的应用非常广泛,信号的压缩、降噪都可以基于频谱。然而傅里叶变换有一个假设,那就是信号是平稳的,即信号的统计特性不随时间变化。声音信号就不是平稳信号,在很长的一段时间内,有很多信号会出现,然后立即消失。如果将这信号全部进行傅里叶变换,就不能反映声音随时间的变化。


本文采用的短时傅里叶变换(STFT)是最经典的时频域分析方法。短时傅里叶变换(STFT)是和傅里叶变换(FT)相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。它的思想是:选择一个时频局部化的窗函数,假定分析窗函数h(t)在一个短时间间隔内是平稳的,使f(t)h(t)在不同的有限时间宽度内是平稳信号,从而计算出各个不同时刻的功率谱。短时傅里叶变换使用一个固定的窗函数,通常使用的窗函数有汉宁窗、海明窗、Blackman-Haris窗等。本文中采用了海明窗,海明窗是一种余弦窗,能够很好地反映某一时刻能量随时间的衰减关系。


因此,本文的STFT公式在原先傅里叶变换公式

公式的基础上加了窗函数,因此STFT公式变换为 

其中,

为海明窗函数。


图2.6 基于海明窗的STFT变换


2.3 梅尔频谱


声谱图往往是很大的一张图,为了得到合适大小的声音特征,往往把它通过梅尔标度滤波器组,变换为梅尔频谱。什么是梅尔滤波器组呢?这里要从梅尔标度说起。


梅尔标度,由Stevens,Volkmann和Newman在1937年命名。我们知道,频率的单位是赫兹(Hz),人耳能听到的频率范围是20-20000Hz,但人耳对Hz这种标度单位并不是线性感知关系。例如如果我们适应了1000Hz的音调,如果把音调频率提高到2000Hz,我们的耳朵只能觉察到频率提高了一点点,根本察觉不到频率提高了一倍。如果将普通的频率标度转化为梅尔频率标度,映射关系如下式所示:

经过上述公式,则人耳对频率的感知度就成了线性关系[4]。也就是说,在梅尔标度下,如果两段语音的梅尔频率相差两倍,则人耳可以感知到的音调大概也相差两倍。


让我们观察一下从Hz到梅尔频率(Mel)的映射图,由于它们是Log的关系,当频率较小时,梅尔频率随Hz变化较快;当频率很大时,梅尔频率的上升很缓慢,曲线的斜率很小。这说明了人耳对低频音调的感知较灵敏,在高频时人耳是很迟钝的,梅尔标度滤波器组启发于此。 


图2.7 频率转梅尔频率示意图


如下图所示,12个三角滤波器组成滤波器组,低频处滤波器密集,门限值大,高频处滤波器稀疏,门限值低。恰好对应了频率越高人耳越迟钝这一客观规律。上图所示的滤波器形式叫做等面积梅尔滤波器(Mel-filter bank with same bank area),在人声领域(语音识别,说话人辨认)等领域应用广泛。


图2.8 梅尔滤波器组示意图

原作者: 仝辉 上叶 来自: 阿里巴巴闲鱼技术互动组
文章点评
相关文章