基于MATLAB的说话人识别系统

一、课题介绍

说话是人类相互沟通交流最方便、最快捷的一种方式,世界上每一个说话人都拥有自己特定的语音,正如每个人的指纹一样,都是绝无仅有的。说话人识别应用广泛,现已应用到通信、消费电子产品等各个领域。本文将把语音进行数字化传输、存储、然后进行识别等。说话人识别系统主要包括预处理、特征提取、训练和识别四个模块。其中预处理和特征提取尤为重要。有许多的预处理方法,对语音信号的采样和量化是第一,然后预加重和加窗。特征提取是指提取语音信号的重要特征的过程。信号的时域分析包括信号的短时平均能量和短时过零率等。频域分析可以采用LPC倒谱系数法和Mel倒谱系数法。为了训练得到模版语音信号,可以利用矢量量化(VQ)、隐马尔可夫模型(HMM)、BP神经网络(ANN)等对说话人的语音信号进行训练识别。

说话人识别实现过程中的算法是多种多样的。本文将运用MATLAB仿真工具强大的编程、图形开发功能和数学计算能力。本文将把BP神经网络作为训练识别的方法,利用MFCC(MEL频率倒谱系数)产生的语音信号特征向量,最后运用十字交叉法,建立起一个说话人识别系统。结合MATLAB平台中的GUI设计预处理、特征提取、训练等几个模板,最后利用神经网络的模式识别,真正实现说话人的识别。

二、 研究背景及意义

说话人识别技术也被称之为声纹识别技术,它属于一种生物的识别技术。说话人识别技术拥有方便,经济,准确等特点,广受世人瞩目。

最早的语言研究被称为“口耳之学”。因为当时没有可供研究的仪器,只能通过耳听口模仿来进行研究。

最早的语音信号处理研究起源于1876年,电话的发明者贝尔首次使用声电、电声转换技术实现了语音的远距离传输

v2-4f89913ab376925632be5823a038f938_b.png

语音信号经过语音合成,语音编码和语音识别三个发展过程。语音识别的实验追溯到20世纪50年代贝尔实验室的Audry系统,此系统仅仅只能识别10个英文数字。又经过很长时间的研究发展,现在我们已经完全进入语音识别时代。

三 说话人识别的基本原理

3.1 语音识别基本过程

说话人识别即提取说话人语音中特征,然后将此特征作为确定说话人身份的过程。因此,需要找出每一个已知说话人发音中存在的差异,这些差异包括声道差异,发音习惯差异等等。

对于如何找出这些差异,确定说话人的身份,需要解决以下问题

v2-4f89913ab376925632be5823a038f938_b.png

(1)对说话人的语音进行预处理;

(2)提取说话人语音中的特征;

(3)用提取出的这些特征为指定说话人建立一个只属于此说话人的语音特征库;

(4)用一段未知语音与新建立的语料库进行对比,从而得出结论:此未知语音是否属于已知说话人。

为了解决以上问题,说话人识别系统一般进行以下四个模块的过程:预处理模块、特征提取模块,训练模块与识别模块。

3.2 预处理模块

3.2.1 采样

为了对语音数据进行数字处理,首先必须对模拟信号数字化。在数学上,声波可以表达为变量t(时间)的连续函数,用

v2-4f89913ab376925632be5823a038f938_b.png

表示。对模拟信号

v2-4f89913ab376925632be5823a038f938_b.png

进行周期采样,得到数字信号序列

v2-4f89913ab376925632be5823a038f938_b.png

v2-4f89913ab376925632be5823a038f938_b.png

就是离散信号或称之为数字信号。

对于这样的采样过程,最令人关注的问题就是采样之后的数字信号知否能准确的表示原始模拟信号,并且是全是模拟信号的唯一表示。经过调查研究,只要满足采样定理,就能保证已知模拟信号的准确性。

采样定理

v2-4f89913ab376925632be5823a038f938_b.png

:如果信号

v2-4f89913ab376925632be5823a038f938_b.png

的傅里叶变换

v2-4f89913ab376925632be5823a038f938_b.png

是带宽受限,即当

v2-4f89913ab376925632be5823a038f938_b.png

(

v2-4f89913ab376925632be5823a038f938_b.png

是奈奎斯特频率)时,

v2-4f89913ab376925632be5823a038f938_b.png

,则当抽样周期

v2-4f89913ab376925632be5823a038f938_b.png

时,用等间隔的抽样序列

v2-4f89913ab376925632be5823a038f938_b.png

能够唯一地恢复出原始信号

v2-4f89913ab376925632be5823a038f938_b.png

3.2.2 量化

在上节采样的过程当中,语音信号必定会产生一系列的振幅片段。为了把语音进行完整传输,存储等,必需把这些振幅片段进行量化,然后组成一个有限的振幅片段集。

量化过程只需两步

v2-4f89913ab376925632be5823a038f938_b.png

:首先必须产生量化幅度

v2-4f89913ab376925632be5823a038f938_b.png

的量化级,其次是用码字

v2-4f89913ab376925632be5823a038f938_b.png

表示每个量化后采样值的码化级。量化过程一般有两种实现方法:有些包含了过量的带宽,可以使用非线性量化加以缩减;在量化之前先压缩或扩张信号,然后均匀量化。这两种方法可以有效地实现减少码字,并且可以表示声音振幅的影响。

量化的过程中误差的产生是不可避免的

v2-4f89913ab376925632be5823a038f938_b.png

。量化之后的信号值和原始的信号值之间的差被称为量化误差,也可称为量化噪声。信号的量化信噪比是指信号与量化噪声之间的功率比。量化信噪比可表示为:


v2-4f89913ab376925632be5823a038f938_b.png

(2.5)

其中,

v2-4f89913ab376925632be5823a038f938_b.png

代表输入语音信号的方差,

v2-4f89913ab376925632be5823a038f938_b.png

代表信号的峰值,B代表量化分辨率,

v2-4f89913ab376925632be5823a038f938_b.png

代表噪声的方差。

3.2.3 预加重

由于发生过程中声门的激励与鼻辐射会产生能量的损耗,语音信号的平均功率谱受到影响。这使得在低频和中频的语音信号能量比在高频率处高得多。这样的现象不利于语音信号的分析和处理,所以预加重的目的在于增强信号的高频部分。

据了解,能量的损耗存在以下特点:当语音信号的频率加大2倍时,它的功率谱

v2-4f89913ab376925632be5823a038f938_b.png

约下降

v2-4f89913ab376925632be5823a038f938_b.png

。因此,我们可以采用

v2-4f89913ab376925632be5823a038f938_b.png

(一阶)来增强高频部分,以实现预加重的目的。语音信号预加重后,高频部分的能量的振幅和频率与低中频部分基本一致。

3.2.4 加窗

语音信号拥有短时平稳性,所以在短时段内(20~30ms的时间段内),语音信号的频域特征和少许物理特征基本保持稳定。为语音信号加窗就是利用它的这一重要特性。加窗即是对语音信号进行分帧。通常使用一个长度固定的窗函数来选取语音信号的某一段,每一段称为一个帧。

目前常用的窗函数有两种:

1.矩形窗,窗函数如下:


v2-4f89913ab376925632be5823a038f938_b.png

(2.6)

2.哈明窗(Hamming窗),窗函数如下:


v2-4f89913ab376925632be5823a038f938_b.png

(2.7)

3.汉宁窗(Hanning窗),窗函数如下:


v2-4f89913ab376925632be5823a038f938_b.png

(2.8)

帧的长度表示为N(单位是ms),一般帧长取10~20ms。分帧既可重叠,也可连续。在分割语音信号时,前一帧和后一帧重叠的部分叫作帧移。为了尽可能的使语音信号在变化的过程中存在信息丢失,在滑动窗函数分帧时必须交叠,一般交叠部分为帧长的一半,所以帧移与帧长的比值通常取

v2-4f89913ab376925632be5823a038f938_b.png

3.3 特征提取模块

特征提取是将通过加窗后获得的语音分析帧进行时频域的变化,用一些特定的参数来表示。说话人语音信号的特征采用每一帧语音所特有的参数所构成的参数集合来表示。所以对于说话人的识别,特征向量的提取是至关重要的。

经过不断的实验研究,能够表示时域特征的参数有

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值