2022年matlab语音识别系统.pdf
《2022年matlab语音识别系统.pdf》由会员分享,可在线阅读,更多相关《2022年matlab语音识别系统.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、matlab 语音识别系统智能仪器课程设计题目: MATLAB实现语音识别功能班级: 学号: 姓名: 同组人员 : 任课教师 : 完成时间 : 2012/11/3 目录一、设计任务及要求1二、语音识别的简单介绍2、1 语者识别的概念2 2 、2 特征参数的提取3 2 、3 用矢量量化聚类法生成码本3 2 、4VQ的说话人识别4 三、算法程序分析3、1 函数关系、4 3、2 代码说明5 3、2、1 函数 mfcc5 3、2、2 函数 disteu 5 3、2、3 函数 vqlbg 、6 3、2、4 函数 test 6 3、2、5 函数 testDB 7 3、2、6 函数 train 8 3 、2
2、、7 函数 melfb 8四、演示分析、9五、心得体会、11 附:GUI 程序代码12一、设计任务及要求用 MATLAB 实现简单的语音识别功能; 具体设计要求如下 : 用 MATLAB 实现简单的数字 19 的语音识别功能。二、语音识别的简单介绍(威海)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 9 页 - - - - - - - - - - matlab 语音识别系统基于 VQ的说话人识别系统 , 矢量量化起着双重作用。在训练阶段, 把每一个说话者所提取的特征参数进行分类, 产生不同码
3、字所组成的码本。在识别( 匹配)阶段, 我们用 VQ方法计算平均失真测度 (本系统在计算距离d 时, 采用欧氏距离测度), 从而判断说话人就是谁。语音识别系统结构框图如图1 所示。图 1 语音识别系统结构框图2、1 语者识别的概念语者识别就就是根据说话人的语音信号来判别说话人的身份。语音就是人的自然属性之一 , 由于说话人发音器官的生理差异以及后天形成的行为差异, 每个人的语音都带有强烈的个人色彩, 这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点, 如语音就是人的固有的特征, 不会丢失或遗忘 ; 语音信号的采集方便 , 系统设备成本低 ; 利用电话网络
4、还可实现远程客户服务等。因此, 近几年来 , 说话人识别越来越多的受到人们的重视。与其她生物识别技术如指纹识别、手形识别等相比较, 说话人识别不仅使用方便, 而且属于非接触性 , 容易被用户接受 , 并且在已有的各种生物特征识别技术中, 就是唯一可以用作远程验证的识别技术。因此, 说话人识别的应用前景非常广泛: 今天, 说话人识别技术已经关系到多学科的研究领域, 不同领域中的进步都对说话人识别的发展做出了贡献。说话人识别技术就是集声学、语言学、计算机、信息处理与人工智能等诸多领域的一项综合技术, 应用需求将十分广阔。在吃力语音信号的时候如何提取信号中关键的成分尤为重要。语音信号的特征参数的好坏
5、直接导致了辨别的准确性。2、2 特征参数的提取对于特征参数的选取 , 我们使用 mfcc 的方法来提取。MFCC 参数就是基于人的听觉特性利用人听觉的屏蔽效应, 在 Mel 标度频率域提取出来的倒谱特征参数。MFCC 参数的提取过程如下 : 1、 对输入的语音信号进行分帧、加窗, 然后作离散傅立叶变换 , 获得频谱分布信息。设语音信号的 DFT为: 10,)()(112NkenxkXNnNnkja(1) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 9 页 - - - - - - - - -
6、 - matlab 语音识别系统其中式中 x(n) 为输入的语音信号 ,N 表示傅立叶变换的点数。2、 再求频谱幅度的平方 , 得到能量谱。3、 将能量谱通过一组Mel尺度的三角形滤波器组。我们定义一个有M个滤波器的滤波器组 (滤波器的个数与临界带的个数相近), 采用的滤波器为三角滤波器, 中心频率为 f(m),m=1,2,3, ,M本系统取 M=100 。4、 计算每个滤波器组输出的对数能量。N 12amk1S(m)ln(|(k) | H(k),0mM1X(2) 其中mH(k)为三角滤波器的频率响应。5、 经过离散弦变换 (DCT)得到MFCC 系数。10C(n)()cos(0.5/),(3
7、)01MmS mn mmnN MFCC 系数个数通常取 2030, 常常不用 0阶倒谱系数 , 因为它反映的就是频谱能量, 故在一般识别系统中 , 将称为能量系数 , 并不作为倒谱系数 , 本系统选取 20 阶倒谱系数。2、3 用矢量量化聚类法生成码本我们将每个待识的说话人瞧作就是一个信源, 用一个码本来表征。码本就是从该说话人的训练序列中提取的MFCC 特征矢量聚类而生成。只要训练的序列足够长, 可认为这个码本有效地包含了说话人的个人特征, 而与讲话的内容无关。本系统采用基于分裂的LBG的算法设计 VQ码本,(1,2,)kXkK为训练序列,B 为码本。具体实现过程如下 : 1、 取提取出来的
8、所有帧的特征矢量的型心( 均值)作为第一个码字矢量 B1。2、 将当前的码本 Bm 根据以下规则分裂 , 形成2m 个码字。)1()1(mmmmBBBB (4) 其中 m从 1 变化到当前的码本的码字数, 就是分裂时的参数 , 本文 =0、01。3、 根据得到的码本把所有的训练序列( 特征矢量 ) 进行分类 , 然后按照下面两个公式计算训练矢量量化失真量的总与nD以及相对失真 (n 为迭代次数 , 初始n=0,1D=,B为当前的码书 ), 若相对失真小于某一阈值, 迭代结束 , 当前的码书就就是设计好的 2m 个码字的码书 , 转。否则 , 转下一步。量化失真量与 : 精品资料 - - - 欢
9、迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 9 页 - - - - - - - - - - matlab 语音识别系统( )1min(,)KnkkDd XB (5) 相对失真 : (1)|nnnDDD (6) 4、 重新计算各个区域的新型心, 得到新的码书 , 转 3。5、重复 , 与步 , 直到形成有 M个码字的码书 (M就是所要求的码字数 ),其中 D0=10000 。 2 、4 VQ的说话人识别设就是未知的说话人的特征矢量1,TXXK, 共有 T 帧就是训练阶段形成的码书, 表示码书第 m个码字 , 每一个
10、码书有 M个码字。再计算测试者的平均量化失真 D,并设置一个阈值 , 若 D小于此阈值 , 则就是原训练者 , 反之则认为不就是原训练者。11min/1),(jMmmjTDBxd (7) 三、算法程序分析在具体的实现过程当中 , 采用了 matlab 软件来帮助完成这个项目。 在 matlab中主要由采集 , 分析, 特征提取 , 比对几个重要部分。 以下为在实际的操作中 , 具体用到得函数关系与作用一一列举在下面。3、1 函数关系主要有两类函数文件Train 、m与 Test 、m 在 Train 、m调用 Vqlbg、m获取训练录音的vq 码本, 而 Vqlbg、m调用 mfcc、m获取单
11、个录音的mel 倒谱系数 , 接着 mfcc、m调用 Melfb 、m- 将能量谱通过一组 Mel 尺度的三角形滤波器组。在 Test、m函数文件中调用 Disteu 、m计算训练录音 ( 提供 vq 码本) 与测试录音( 提供 mfcc)mel 倒谱系数的距离 , 即判断两声音就是否为同一录音者提供。Disteu 、m调用 mfcc、m获取单个录音的 mel 倒谱系数。 mfcc、m调用 Melfb 、m- 将能量谱通过一组Mel 尺度的三角形滤波器组。3、2 具体代码说明3、2、1 函数 mffc: function r = mfcc(s, fs) - m = 100; n = 256;
12、l = length(s); nbFrame = floor(l - n) / m) + 1; %沿- 方向取整for i = 1:n for j = 1:nbFrame M(i, j) = s(j - 1) * m) + i); %对矩阵 M赋值精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 9 页 - - - - - - - - - - matlab 语音识别系统end end h = hamming(n); %加 hamming 窗, 以增加音框左端与右端的连续性M2 = diag(h)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 matlab 语音 识别 系统
限制150内