基于Matlab的语音识别

一、引言

语音识别技术是让计算机识别一些语音信号,并把语音信号转换成相应的文本或者命令的一种高科技技术。语音识别技术所涉及的领域非常广泛,包括信号处理、模式识别、人工智能等技术。近年来已经从实验室开始走向市场,渗透到家电、通信、医疗、消费电子产品等各个领域,让人们的生活更加方便。

语音识别系统的分类有三种依据:词汇量大小,对说话人说话方式的要求和对说话人的依赖程度。

(1)根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量及无限词汇量识别系统。

(2)根据对说话人说话方式的要求,可以分为孤立字(词)语音识别系统、连接字语音识别系统及连续语音识别系统。

(3)根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统。

二、语音识别系统框架设计

2.1语音识别系统的基本结构

语音识别系统本质上是一种模式识别系统,其基本结构原理框图如图l所示,主要包括语音信号预处理、特征提取、特征建模(建立参考模式库)、相似性度量(模式匹配)和后处理等几个功能模块,其中后处理模块为可选部分。

三、语音识别设计步骤

3.1语音信号的特征及其端点检测

图2 数字‘7’开始部分波形

图2是数字”7”的波形进行局部放大后的情况,可以看到,在6800之前的部分信号幅度很低,明显属于静音。而在6800以后,信号幅度开始增强,并呈现明显的周期性。在波形的上半部分可以观察到有规律的尖峰,两个尖峰之间的距离就是所谓的基音周期,实际上也就是说话人的声带振动的周期。

这样可以很直观的用信号的幅度作为特征,区分静音和语音。只要设定一个门限,当信号的幅度超过该门限的时候,就认为语音开始,当幅度降低到门限以下就认为语音结束。

3.2 语音识别系统

3.2.1语音识别系统的分类

语音识别按说话人的讲话方式可分为3类:(1)即孤立词识别(isolated word recognition),孤立词识别 的任务是识别事先已知的孤立的词,如“开机”、“关机”等。(3)连续语音识别,连续语音识别的任务则是识别任意的连续语音,如一个句子或一段话。

从识别对象的类型来看,语音识别可以分为特定人语音识别和非特定人语音识别,特定人是指针对一个用户的语音识别,非特定人则可用于不同的用户。显然,非特定人语音识别系统更符合实际需要,但它要比针对特定人的识别困难得多。

3.2.2语音识别系统的基本构成

语音识别系统的实现方案如图3所示。输入的模拟语音信号首先要进行处理,包括预滤波,采样和量化,加窗,端点检测,预加重等。语音信号经处理后,接下来很重要的一环就是特征参数提取。

图3 语音识别系统

在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模版,与参考模板进行匹配,将匹配分数最高的参考模型作为识别结果。

3. 2.3 语音识别系统的特征参数提取

特征提取是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,获得影响语音识别的重要信息。语音信号是一种典型的时变信号,然而如果把观察时间缩短到十毫秒至几十毫秒,则可以得到一系列近似稳定的信号。人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。

全极点线性预测参数 (LPC: Liner Prediction Coeffieient)可以对声管模型进行很好的描述,LPC参数是模拟人的发声器官的,是一种基于语音合成的参数模型。

在语音识别中,很少用LPC系数,而是用LPC倒谱参数 (LPCC: Liner Prediction Cepstral Coefficient)。LPCC参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。

然而,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数关系。近年来,一种能够比较充分利用人耳这种特殊的感知特性的参数得到了广泛的应用,这就是Mel倒谱参数(MFCC:Mel一Frequency CePstral Coeffieient)。MFCC参数能够比LPCC参数更好地提高系统的识别性能。

3.2.4 特定人语音识别算法—DTW算法

在孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法,用于孤立词识别。HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算。所以在孤立词语音识别中,DTW算法仍然得到广泛的应用。

无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R(1),R(2),……,R(m),……,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模板所包含的语音帧总数,R(m)为第m帧的语音特征矢量。所要识别的一个输入词条语音称为测试模板,可表示为T={T(1),T(2),……,T(n),……,T(N)},n为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。参考模板与测试模板一般采用相同类型的特征矢量(如MFCC,LPC系数)、相同的帧长、相同的窗函数和相同的帧移。

四、基于Matlab的语音识别系统仿真

4.1 语音模板的获取

运用系统的采集模块录制一个普通男声声音,录制 0~9 十个语音为实验对象 分别命名为0a.wav,1a.wav,2a.wav,3a.wav,4a.wav,5a.wav,6a.wav,7a.wav,8a.wav,9a.wav 分析处理后提取特征参数,经过模板训练,为十个语音分别选取最合适的语音作为模板,存入数据库建立参考模型库。

4.2 语音训练

类似,录制一组普通男声的声音,同样为 0~9十个语音,作为十个待测语音信号。

图4 数字‘0’的训练波形及系数

4.3 语音识别

训练结束后,用录音设备录入0~9中的数字,经过波形及系数匹配识别出录入数字,并正确显示识别结果。

图4 数字‘0’的识别结果

参考文献

1.何强、何英. MATLAB扩展编程.北京:清华大学出版社, 2012.6

2.江官星 王建英. 一种改进的检测语音端点的方法.微计算机信息 2016

3.陈勇 屈志毅 刘莹 等.语音特征参数 MFCC的提取及其应用.湖南农业大学学报 自然科学版 2019

4. 王炳锡等,实用语音识别基础,北京,国防工业出版社,2015年

5. 韩纪庆 张磊 郑铁然.语音信号处理.北京:清华大学出版社 2015

基于Matlab的语音识别相关推荐

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

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

  2. 【语音处理】基于matlab实现语音基频检测

    ​1 简介 随着智能化设备的广泛普及,语音信号作为智能化设备的一个重要的交互语言显得尤为重要,语音信号处理被广泛地应用在语音识别,智能控制,身份识别,智能家居等领域,MATLAB仿真软件具有强大的信号 ...

  3. 孤立词语音识别matlab,基于Matlab仿真的孤立词语音识别技术研究

    基于Matlab仿真的孤立词语音识别技术研究 摘要:研究一种改进的语音识别算法---改进的端点检测(滑动帧)动态时间规整(DTW)算法, 以一个能识别数字0-10的语音识别系统的实现过程为例,阐述了基 ...

  4. 【语音识别】基于matlab电话按键语音识别(含按键录音)【含Matlab源码 1752期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[语音识别]基于matlab电话按键语音识别(含按键录音)[含Matlab源码 1752期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  5. matlab htk tools,基于HTK调用MATLAB的语音识别的研究

    基于HTK调用MATLAB的语音识别的研究 张戈,严欢,殷景华 (哈尔滨理工大学,哈尔滨,150080) 摘要:根据HTK(Hidden Markov Model Toolket)原理,介绍基于HTK ...

  6. 【语音识别】基于matlab GUI动态时间规整算法(RTW)语音识别系统【含Matlab源码 341期】

    ⛄一.动态时间规整算法(RTW)语音识别 软件算法主要分为语音信号滤波去噪.预加重.分帧.端点检测.特征参数提取.模式匹配.算法的关键点和难点是特征参数提取和模式匹配.孤立词的语音识别应用程序也是基于 ...

  7. dtw算法 matlab,基于DTW的语音识别在MATLAB中的实现方法浅析

    摘要:本文阐述了基于DTW的非特定人语音识别的基本原理与实现方法.该语音识别系统预先建立标准语音模板库与三名待测者的语音模板的方法,然后结合MATLAB中自带voicebox语音工具箱及相应语音处理函 ...

  8. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  9. 【语音识别】基于matlab GUI智能语音识别门禁系统【含Matlab源码 596期】

    ⛄一.案例简介 本文基于Matlab设计实现了一个文本相关的声纹识别系统,可以判定说话人身份. 1 系统原理 a 声纹识别 这两年随着人工智能的发展,不少手机App都推出了声纹锁的功能.这里面所采用的 ...

  10. AI:基于计算机视觉和语音识别案例项目打包过程记录20181226-19

    AI:基于计算机视觉和语音识别案例项目打包过程记录20181226-19 基于计算机视觉和语音识别案例项目打包过程 521 INFO: PyInstaller: 3.3.1 521 INFO: Pyt ...

最新文章

  1. 大数据和数据库的理解文章收藏
  2. ASP.NET 3.5之屠龙刀
  3. redis -Spring与Jedis集群 Sentinel
  4. Python发送邮件(带附件)
  5. NYOJ 61 传纸条(一)
  6. 设计模式——装饰者(Decorator)模式DEMO——成绩汇报的装饰者模式实现
  7. 基于享元记忆的 Boost.Flyweight 示例
  8. 接收超时死信的死信交换机
  9. time series 时间序列 | fractional factorial design 部分要因试验设计
  10. 【Servlet】Servlet显示时间和IP等信息
  11. 输出dag的所有拓扑排序序列_算法学习笔记(53): 拓扑排序
  12. 创建Windows Mobile上兼容性好的UI 程序
  13. 安装ugjava安装在哪里_南开区业销售避雷墩/哪里有安装的
  14. 【Android LibGDX游戏引擎开发教程】第06期:图形图像的绘制(下)图片整合工具的使用...
  15. 关于镇江市大数据服务体系的对策和建议研究
  16. 用计算机研究唐诗,妙哉!用文言文编程 竟从 28 万行唐诗中找出了对称矩阵
  17. 项目实战:Qt+OpenCV大家来找茬(Qt抓图,穿透应用,识别左右图区别,框选区别,微调位置)
  18. 海湾gst5000主机消防广播_海湾GST5000消防主机调试步骤
  19. VUCA时代下的敏捷
  20. AutoJs学习-自动抢单学习

热门文章

  1. usb不能识别的解决方案
  2. flash动画转html5 效果,一键把SWF转HTML5 canvas动画的工具-Fanvas
  3. 【GDOI模拟】屏保
  4. 高端程序员上班摸鱼指南
  5. 使用PyTorch实现CNN
  6. 三星android智能手机usb驱动程序,三星手机驱动官方下载
  7. 数据结构期末考题总结(附答案)
  8. [游戏开发]网络同步方式
  9. 极路由3刷老毛子稳定使用锐捷教程
  10. 基于linux环境tcp网络编程(在线英英词典)文档【2】