大家好,又见面了,我是你们的朋友全栈君。
语音信号处理过程的总体结构:
语音输入–>预处理–>数字化–>特征提取
预处理:对信号适当放大和增益控制,并进行反混叠滤波来消除工频信号干扰
数字化:进行A/D转换
特征提取:用反映语音信号特点的若干参数来代表语言
共振峰:当把声道看成一个发音的腔体的时候,激励的频率达到他的固有频率,则声道会以最大的振幅来振荡,即产生共鸣,这个频率称为共振频率(formant frequency),简称共振峰(formant)
语音信号分析分为时域、频域、倒谱域
时域分析优点:简单直观、清晰易懂、运算量小、物理意义明确
常用的频域分析方法有带通滤波器组方法、傅里叶变换方法和线性预测分析法
频谱分析方法优点:频谱对外界环境变化具有一定的顽健性。利用频域分析获得语音特征具有实际的物理意义。如:共振峰参数、基音周期等参数
倒谱域是将对数功率谱进行反傅里叶变换后得到的
语音信号分析分为模型分析法和非模型分析法。
模型分析法:依据语音信号产生的数学模型,来分析和提取表征这些模型的特征参数:共振峰模型分析和线性预测分析
语音信号数字化
数字化之前,必须进行防混叠滤波及防工频干扰滤波。防混叠滤波指滤除高于1/2采样频率的信号成分或噪声,是信号带宽限制在某个范围内,否则产生频率混叠;工频干扰指50Hz的电源干扰。
语音信号的采样与量化:将语音信号变成时间和幅度都离散的数字信号。
采样:把模拟信号在时间域上进行等间隔取样,两个取样点之间的间隔成为采样周期,倒数称为采样频率。当采样频率大于信号最高频率的两倍的时候,在采样过程中就不会丢失信息,且可以用采样后的信号重构原始信号。
量化:将整个信号的幅度值分成若干个有限的区间,并把落入同一区间的样本点用同一个幅度表示,这个幅度值称为量化值。 零记忆量化、分组量化、序列量化
预加重:提升高频部分,使信号的频谱变得平坦,便于进行频谱分析或升到参数的分析。
u值接近于1,典型取值在0.94~0.97之间,预加重后的信号在分析处理之后需要进行去加重处理。
短时加窗处理
为了得到短时的语音信号(10ms~30ms短时间内是平稳的),窗函数平滑地在语音信号上滑动,将语音信号分成帧。分针可以连续,也可以采用交叠分段的方法,交叠部分称为帧移,一般为窗长的一半。
矩形窗:
汉明窗:
汉宁窗:
N为窗口长度,不同的窗函数形状将影响分帧后短时特征的特性。
矩形窗的谱平滑性较好,但波形细节丢失,并且矩形窗会产生泄露现象;而汉明窗可以有效地克服泄露现象,应用范围也最为广泛。
时域分析
短时能量分析:
表示x(n)经过加窗处理
hn=w2n, En表示信号的第n个点开始加窗函数时的短时能量。
短时能量可以区分清音和浊音,浊音能量比清音大;其次可以用短时能量对有声段和无声段进行判定、对声母韵母分解以及对连字分界等;作为特征中的一维参数来表示语音信号能量的大小和超音段信息。
由于短时能量是对信号进行平方运算,因而人为增加了高低信号之间的差距,可以用短时平均幅值来表示能量变化
短时平均过零率:
每帧内信号通过零值的次数。对于连续信号,考察时域波形通过时间轴的情况;对于离散信号,信号采样点符号变化的次数
一般,浊音段有较低的过零率,清音段有较高的过零率
将短时平均过零率和短时能量结合起来判断语音起止点的位置,即进行端点检测。
上面定义中计算短时平均过零率容易受到低频的干扰,可以设立一个门限T,将过零率的含义修改为跨过正负门限的次数:
待续… …
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141179.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...