您好、欢迎来到现金彩票网!
当前位置:秒速快三 > 说话人识别 >

基于FPGA的说话人识别系统包含原理图、源代码

发布时间:2019-05-20 11:46 来源:未知 编辑:admin

  随着网络信息化技术的迅猛发展,身份验证的数字化、隐性化、便捷化显得越来越重要。语言作为人类的自然属性之一,说话人语言具有各自的生物特征,这使得通过语音分析进行说话人识别(Speaker Recognition, RS)成为可能。人的语音可以非常自然的产生,训练和识别时并不需要特别的输入设备,诸如个人电脑普遍配置的麦克风和到处都有的电话都可以作为输入设备,因此采用说话人语音进行说话人识别和其他传统的生物识别技术相比,具有更为简便、准确、经济及可扩展性良好等众多优势。

  说线年代,如今在特征提取、模型匹配、环境适应性等方面的研究已臻于成熟,各种算法也趋于稳定,说话人识别技术也正逐步进入到实用化阶段。因此,我们根据已有的特征提取算法基于FPGA工具搭建说话人识别系统是可行的。

  系统具体方案及模型已搭建成功,并采用最小距离算法对系统进行说话人确认和说话人辨认的matlab仿真。 仿真结果显示,识别成功。

  图1是一个典型的说话人识别框图,包括训练和识别两个部分,训练又分为训练语音预处理、特征提取、训练建模、获取模型参数库四个过程,识别部分分为测试语音预处理、特征提取、模式匹配、判决输出四个过程。识别部分的模式匹配模块是将测试语音的特征矢量同模型库里的特征矢量进行距离匹配。

  无论是训练语音信号还是测试语音信号在进行特征提取之前都要进行预处理。预处理包括预加重、分帧加窗、端点检测等。

  (1)预加重:正常人的语音频率范围一般为40Hz~4000Hz,在求语音信号频谱时,频率越高相应的频谱成分越小,高频部分的频谱比低频部分的难求,预加重的目的是对语音信号的高频部分(大约800Hz以上)加以提升,是信号的频谱变得平坦,以便于频谱分析。预加重在语音信号数字化之后进行,用一阶数字滤波器来实现,公式为:

  (2)分帧加窗:语音信号在很短的一个时间内可以认为是平稳的,所以我们在对其处理时,先对语音信号分帧,对每帧信号处理就相当于对固定特性的持续语音进行处理。一帧语音信号时长约10~30ms,本系统采样频率

  为22050Hz,所以,帧长N取256,帧移为128。.分帧后,对每帧信号采取加窗处理,为避免吉布斯效应,本系统采用长度为256的汉明窗,其表达式为:

  (3)端点检测:端点检测的目的是从包含语音的一段信号中消除无声段的噪音和减少处理语音段的时间,确定出语音的起点以及终点。本系统通过短时能量的大小来区分清音段和浊音段。设第

  在进行说话人语音端点检测时,首先根据背景噪声确定一个短时能量的门限阈值,由于我们获取说话人语音信息时是在安静环境下进行的的,所以仅根据此门限来确定语音的起点和终点也是可行的。但为了避免突发性的瞬时噪声(其短时能量有时比较大)的干扰,我们在此基础上,进行了进一步的限定,即,一旦检测到某帧的短时能量超过了门限,我们再继续检测接下来的32(经验值)帧,如果在这32帧里有3/4(经验值)的帧其短时能量都超过了门限,我们才确定最初检测的帧为语音起点,否则继续下一帧的检测。实验仿真证明,这种方法相比于单纯通过门限值判断能更好地确定语音的起始点和终点。

  语音信号的特征提取是说话人识别的关键问题。对一帧语音信号进行某种变换以后产生的相应矢量,如线性预测系数、LPC倒谱系数、线谱对参数、共振峰率、短时谱等。综合考虑性能和硬件实现复杂度,在本系统中我们选择语音信号的短时谱作为其特征参数。首先我们对分帧加窗后的语音信号进行短时傅里叶变换,得到每帧语音信号频谱的幅值分布,再根据这些频谱幅值分布提取每一帧的特征矢量。

  在本系统,我们用DFT来等价短时傅里叶变换。对所求得的帧信号的频谱幅值分布进行分析:每4个样本点求一次最大幅值,记录下对应最大幅值的那个样本点标号,这样长256的一帧信号可以得到64个这样的样本点。取这64个样本点组成的矢量向量为该帧的特征矢量。对输入语音的所有帧特征矢量求平均,得该输入语音的帧平均特征矢量,即该语音的特征矢量,记为

  在训练建模部分,我们建立识别模型,所谓识别模型,是指用什么模型来描述说话人的语音特征在特征空间的分布。对于说话人识别系统,特征参数被提取出来后,需要用识别模型为说话人建模,并对特征进行分类,以确定属于哪一个说话人。目前常用的识别模型有,最小距离模型,矢量量化模型,隐马尔可夫模型,高斯混合模型。综合考虑下,本系统采用最小距离模型对说话人语音进行训练。

  说话人识别包括说话人辨别和说话人确认,说话人辨别是从多个说话人语音中辨认出某个人的那一段语音信息,而说话人确认是确定某段语音信息是不是某人所说。

  我们用测试数据与训练数据的平均特征矢量之间的均方差作为一种距离度量。在说话人确认中,我们设定一个判决阈值

  ,如果测试者数据与训练数据的距离小于此阈值,我们就认为确认到了原说话人;在说话人辨认中,我们把与测试说话人距离最小的说话人作为目标说话人。

  我们通过Windows自带的录音机得到声音数字信号,采样频率为22050Hz,单声道。说线,在训练阶段,每个说线次芝麻开门。

  计算测试语音语音1(zx036)的特征向量avtzv1与说话人zx的模型特征向量zxtzv的距离,为0.0196,小于说话人zx的确认阈值为zxp(0.0403),所以确认测试语音1为zx所说;计算测试语音2(bb13)的特征向量avtzv2与说话人zx的模型特征向量zxtzv的距离,为0.2310,大于说话人zx的确认阈值为zxp(0.0403),所以确认测试语音2不是zx所说。

  计算测试语音语音1(zx036)的特征向量avtzv1与说话人bb的模型特征向量bbtzv的距离,为0.1292,大于说话人bb的确认阈值为bbp(0.0940),所以确认测试语音1不是bb所说;计算测试语音2(bb13)的特征向量avtzv2与说话人bb的模型特征向量bbtzv的距离,为0.0932,小于说话人bb的确认阈值为bbp(0.0940),所以确认测试语音2是bb所说。

  计算测试语音语音1(zx036)的特征向量avtzv1与说话人zx的模型特征向量zxtzv的距离,为0.0196;计算测试语音语音1(zx036)的特征向量avtzv1与说话人bb的模型特征向量bbtzv的距离,为0.1292。所以,将测试语音1辨认为zx所说。

  计算测试语音2(bb13)的特征向量avtzv2与说话人zx的模型特征向量zxtzv的距离,为0.2310;计算测试语音2(bb13)的特征向量avtzv2与说话人bb的模型特征向量bbtzv的距离,为0.0932。所以,将测试语音1辨认为bb所说。

http://lenjproductions.com/shuohuarenshibie/55.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有