本文主要是介绍vq矢量量化lbg matlab,MATLAB环境下基于矢量量化的说话人识别系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MATLAB环境下基于矢量量化的说话人识别系统
王靖琰
中南大学信息科学与工程学院,长沙 (410083)
E-mail:wjycsu@http://www.doczj.com/doc/52df69136c175f0e7cd13750.html
摘要:说话人识别是以话音对说话人进行区分,从而进行身份鉴别与认证的技术。本文介绍了一个用MATLAB设计的说话人识别系统,包含其原理、所采用的识别方法及其系统实现与测试。
关键词:说话人识别,MFCC,矢量量化,LBG算法,MATLAB
0.引言
语音是人的自然属性之一,每个人的语音都带有强烈的个人色彩,这使得通过分析语音信号来识别说话人成为可能。说话人识别技术按其被输入的测试语音可以分为与文本无关的说话人识别和与文本有关的说话人识别。前者是不规定说话内容的说话人识别,后者是规定内容的说话人识别。目前自动说话人识别的主要方法有基于隐马尔可夫模型(HMM)、基于矢量量化(VQ)以及基于高斯混合模型法(GMM) [5]。由于VQ方法具有简单、实用的特点,故得到了广泛应用,本研究工作主要探讨如何利用矢量量化算法来实现说话人自动识别系统,并且在MATLAB平台上设计了一个基于本方法的说话人识别系统,系统测试结果表明本系统实现了说话人识别的基本功能。
1. 说话人识别系统的组成
说话人识别系统分为两个阶段[2],即训练(学习)和识别阶段。在训练阶段,系统根据每个使用者说出的若干训练语句建立相应的模型或模型参量参考集。在本系统中通过function code = train(traindir, n)函数实现。而在识别阶段,由待识别人说的语音中导出参量要与训练过程中的参考参量集或模板加以比较。我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),选取距离最小者判断说话人是谁。在本系统中通过function test(testdir, n, code)函数实现。
图1是说话人识别系统的框图[2]。
图1 说话人识别系统框图
2. Mel频率倒谱系数(MFCC)的提取
MFCC参数是基于人的听觉特性利用人听觉的屏蔽效应[2],在Mel标度频率域提取出来的倒谱特征参数。
MFCC参数的提取过程如下[4]:
1.对输入的语音信号进行分帧、加窗,然后作离散傅立叶变换,获得频谱分布信息。
这篇关于vq矢量量化lbg matlab,MATLAB环境下基于矢量量化的说话人识别系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!