基于MATLAB的语音识别系统

设计任务及要求

1.1设计任务

作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技 术一直受到各国科学界的广泛关注。以语音识别开发出的产品应用领域非常广泛,有声控电话交换、语音拨号系统、信息网络查询、家庭服务、宾馆服务、 旅行社服务系统、订票系统、声控智能玩具、医疗服务、银行服务、股票查询 服务、计算机控制、工业控制、语音通信系统、军事监听、信息检索、应急服务、翻译系统等,几乎深入到社会的每个行业、每个方面,其应用和经济社会 效益前景非常广泛。本次任务设计一个简单的语音识别系。

1.2设计要求

要求:使用matlab软件编写语音识别程序

算法方案选择

2.1设计方案

语音识别属于模式识别范畴,它与人的认知过程一样,其过程分为训练和识别两个阶段。 在训练阶段,语音识别系统对输入的语音信号进行学习。学习结束后,把学习内容组成语音模型库存储起来;在识别阶段,根据当前输入的待识别语音信号,在语音模型库中查找出相应的词义或语义。

语音识别系统与常规模式识别系统一样包括特征提取、模式匹配、模型库等3个基本单元,它的基本结构如图1所示。

图1 语音识别系统基本结构图

本次设计主要是基于HMM模型(隐马尔可夫模型)。这是在20世纪80年代引入语音识别领域的一种语音识别算法。该算法通过对大量语音数据进行数据统计,建立识别词条的统计模型,然后从待识别语音信号中提取特征,与这些模型进行匹配,通过比较匹配分数以获得识别结果。通过大量的语音,就能够获得一个稳健的统计模型,能够适应实际语音中的各种突发情况。并且,HMM算法具有良好的识别性能和抗噪性能。

2.2方案框图

图2 HMM语音识别系统

2.3隐马尔可夫模型

HMM过程是一个双重随机过程:一重用于描述非平稳信号的短时平稳段的统计特征(信号的瞬态特征);另一重随机过程描述了每个短时平稳段如何转变到下一个短时平稳段,即短时统计特征的动态特性(隐含在观察序列中)。人的言语过程本质上也是一个双重随机过程,语音信号本身是一个可观测的时变列。可见,HMM合理地模仿了这一过程,是一种较为理想的语音信号模型。其初始状态概率向量π,状态转移概率矩阵向量A,以及概率输出向量B一起构成了HMM的3个特征参量。HMM 模型通常表示成λ={π,A,B}。

2.4HMM模型的三个基本问题

HMM模型的核心问题就是解决以下三个基本问题:

(1)识别问题:在给定的观测序列O和模型λ=(A,B,π)的条件下,如何有效地计算λ产生观测序列O的条件概率 P(O︱λ)最大。常用的算法是前后向算法,它可以使其计算量降低到N2T次运算。

(2)最佳状态链的确定:如何选择一个最佳状态序列Q=q1q2…qT,来解释观察序列O。常用的算法是Viterbi算法。

(3)模型参数优化问题:如何调整模型参数λ=(A,B,π),使P(O︱λ)最大:这是三个问题中最难的一个,因为没有解析法可用来求解最大似然模型,所以只能使用迭代法(如Baum-Welch)或使用最佳梯度法。

第一个问题是评估问题,即已知模型λ=(A,B,π)和一个观测序列O,如何计算由该模型λ产生出该观测序列O的概率,问题1的求解能够选择出与给定的观测序列最匹配的 HMM模型。

第二个问题力图揭露模型中隐藏着的部分,即找出“正确的”状态序列,这是一个典型的估计问题。

第三个问题是使模型参数最优化,即调整模型参数,以使模型能最好地描述一个给定观测序列,最好说明这个观测序列就是最优化模型产生出来的。用于调整模型参数,使之最优化的观测序列称为训练序列。通过训练自适应调整模型参数使之适应于训练序列并最优化,从而得到实际应用中最好的模型。

系统设计

3.1系统框图

图3 系统整体结构框图

3.2实施方案

实施方法及具体过程如下:

(1)端点检测vad(x):采用双门限的算法。输入为采样语音数据x,输出X1, X2是起始端点和结束端点的帧数,并将xi到x2帧的语音数据存sample(k).wave结构数组中。

(2)MFCC参数算法mfcc(x):输入为采样语音数据x,输出为mfcc参数,取x1—2至x2—2帧的mfcc参数到sample(k).data结构数组中。

(3)HMM参数初始化inithmm(samples,M):输入为samples和NX*1的数组M,N为状态数,M是每个状态包含的高斯混合个数。

(4)viterbit识别算法:输入删模型和mfcc参数,回溯最佳状态路径,返回输出概率和状态路径。

(5)训练过程train(sample,M):对一次迭代函数baum.m实施n次迭代(设 置迭代次数)。输出为训练后的HMM模型参数和总输出概率,将模型参数存入 hmm{i}(hmm为一个cell数组)。

(6)识别主程序(recog):对输入待识别的语音用函数vad进行端点检测, 计算出MFCC参数之后,交由识别函数viterbi.m计算得到其对数形式的输出概率,最后显示出识别结果。

四.体会

通过这次课题,我们在自己的亲身实践中掌握了有关Labview以及matlab设计的思想和方法,对专业知识有了进一步的理解,对语言识别领域有了初步的认识。我们将以前学习的知识在这次设计中进行了充分的应用,通过解决问题得到了很多实践的经验,有助于我们以后的学习.。

通过自己搜集的资料和相关的专业知识,我们完成了理论算法与实际应用的设计,虽然在设计的过程中不断的遇到了很多问题,但是我们克服困难,一步步前进,这不仅丰富了我们的知识,给我们对理论与知识的结合与应用提供了动力,也给我们最后解决问题提供了欣喜的源泉,为我们今后的工作打下了坚实的基础。

参考文献

  1. 郭圣权,连晓峰.MATLAB环境下的基于HMM模型的语音识别系统.计算机测量与控制,2004,12(5):470- 475.
  2. 王炳锡,屈丹,彭宜.实用语音识别基础.北京:国防工业出版社,2005:258-266.
  3. 刘么和.语音识别与控制应用技术.北京:科学出版社,2018: 1- 35.
  4. 胡广书.现代信号处理教程.北京:清华大学出版社,2014: 397- 398.
  5. 吴朝晖,杨莹春著.说话人识别模型与方法.北京:清华大学出版社,2019: 21- 76.
  6. 段红梅,汪军,马良河,等.隐马尔可夫模型在语音识别中的应用.工科数学,2002.
  7. 谢锦辉.隐Markov模型(HMM)及其在语音处理中的应用.武汉:华中理工大学出版社,2019.

基于matlab的语音识别系统相关推荐

  1. matlab参数是差分的,第13章 基于MATLAB的语音识别系统

    对特征参数的要求: 1)提取的特征参数能有效地代表语音特征,具有很好的区分性: 2)各阶参数之间有良好的独立性: 3)特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实现. 声带可以有周 ...

  2. 基于MATLAB的OFDM系统实现

    基于MATLAB的OFDM系统实现 OFDM(正交频分复用)的基本原理是将高速的数据流通过串并转换分解成若干低速的数据流,利用多个正交的子载波并行传输.本文借鉴了IEEE802.11a标准并进行简化, ...

  3. 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真教程.doc

    基于MATLAB的MIMO系统预编码性能仿真教程 PAGE \* MERGEFORMAT - 33 - 摘要在现今的移动通信系统中,被极多的国际通信标准采纳为基础性关键技术的一种方法是多输入多输出的技 ...

  4. matlab频分复用,基于MATLAB的频分复用系统的仿真_.doc

    基于MATLAB的频分复用系统的仿真_ 基于MATLAB的频分复用系统的仿真_毕业论文(设计) Abstract With the development of communication techn ...

  5. 【音乐检索】基于matlab音乐检索系统【含Matlab源码 435期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[音乐检索]基于matlab音乐检索系统[含Matlab源码 435期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏 ...

  6. 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真.doc

    基于MATLAB的MIMO系统预编码性能仿真.doc (33页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分  摘要在现今的移动通信系统 ...

  7. 手把手教你:基于TensorFlow的语音识别系统

    系列文章 第十章.手把手教你:基于Django的用户画像可视化系统 第九章.手把手教你:个人信贷违约预测模型 第八章.手把手教你:基于LSTM的股票预测系统 目录 系列文章 一.项目简介 二.语音数据 ...

  8. matlab进行mppt控制仿真,基于matlab光伏发电系统的MPPT控制与仿真.pdf

    基于matlab光伏发电系统的MPPT控制与仿真 ( ) J.SHANXIAGRIC.UNIV.NaturalScienceEdition ( ) , () 002990 学报 自然科学版 2013 ...

  9. matlab扩频与解扩,基于+MATLAB+的DSSS+系统的仿真研究.pdf

    基于+MATLAB+的DSSS+系统的仿真研究.pdf 2012年第08期 专题研究 基于MATLAB的 DS-SS系统的仿真研究 ■ 梁春东 摘要:文章阐述了扩频通信的理论基础,并利用MATLAB可 ...

  10. 基于matlab的16qam系统,基于MATLAB的16QAM通信系统的仿真精选.doc

    基于MATLAB的16QAM通信系统的仿真精选 基于MATLAB的16QAM通信系统的仿真 [摘要]随着现代通信技术的发展,特别是移动通信技术高速发展,频带利用率问题越来越被人们关注.在频谱资源非常有 ...

最新文章

  1. 1.6.2 java路径下载_《我的世界1.6.2》官方下载 单机我的世界1.6.2中文整合版_SJ3G游戏中心...
  2. edittext 选中焦点在最后_安卓开发中EditText的焦点改变处理(获取焦点和失去焦点交互变化)...
  3. c#以文件流的形式输出xml(可以解决内存溢出)-XmlTextWriter
  4. object.assign
  5. umijs 修改默认配置_UmiJS基础教程(2) 目录结构
  6. u9系统的使用方法仓库_用友U9--INV库存管理手册.pdf
  7. 单片机原理及应用(c语言编程),单片机原理及应用——C语言程序设计与实现
  8. MP3音频文件转换成caf格式
  9. MatConvNet对自己的图片分两类及提取图片特征
  10. 国仁老猫:新人怎么做好一场直播带货;首先需要明白以下几点即可。
  11. 如何让图片变清晰——PS滤镜Camera Raw帮你解决
  12. 如何干掉腾讯网迷你版
  13. kubernetes pod NodeLost 分析
  14. kvm切换器linux换屏方法,kvm切换器连接图及安装方法
  15. 修改Mac默认设置使Mac支持NTFS硬盘的读写
  16. 一个stm32的简单程序的编译
  17. 4k分辨率是多少(真4k与假4k区别)
  18. 《软件工程与计算(卷二)》-Chapter9-10-软件体系结构
  19. Mathon广告过滤规则发现
  20. 暗恋如烟花,绚烂也落寞

热门文章

  1. DynamipsGUI 模拟pix防火墙
  2. 假如时光倒流,我会这么学习Java
  3. Android mc怎么和win10联机,大更新!我的世界手机版/win10版联机完美互通
  4. 相对客观的权重计算方法——熵权法
  5. 注册Flash8.ocx控件
  6. [ CSOL - CLS ] 活动网站 map area
  7. excel如何批量查询手机号归属地
  8. EP100的局部地址、逻辑地址和全局地址
  9. Arduino学习笔记:基于LiquidCrystal库运行LCD1602
  10. android 模拟点击屏幕,按键精灵后台简明教程(后台找色,后台鼠标点击等)