当前位置: 首页 > article >正文

基于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’的识别结果

五 总结

通过这次二级项目,更深入的了解的Matlab软件强大的功能,了解了利用Matlab软件进行界面设计等。学习到语音识别技术仿真中各函数的运用。在不断地改进和完善中,这次二级项目终于顺利完成。

参考文献

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

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

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

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

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


http://www.kler.cn/a/381122.html

相关文章:

  • 苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
  • 【RAG实战】Prompting vs. RAG vs. Finetuning: 如何选择LLM应用选择最佳方案
  • Python入门:4.Python中的运算符
  • 开发手札:CameraRTS精准性优化
  • 解锁动态规划的奥秘:从零到精通的创新思维解析(3)
  • 一些elasticsearch重要概念与配置参数
  • 仿真APP助力汽车零部件厂商打造核心竞争力
  • MySQL表的增删改查(CRUD3约束)
  • HTTP请求和请求体Body
  • 【Oracle】空格单字符通配符查询匹配失败
  • 【PMP】学习总结
  • FreeMarker模版引擎入门及实战
  • 人工智能学习--归一化(Normalization)
  • 编译工具与文件学习(一)-YAML、repos、vcstoolcolcon
  • 【大模型LLM面试合集】大语言模型架构_chatglm系列模型
  • STM32移植RT-Thread---时钟管理
  • 【MyBatis源码】CacheKey缓存键的原理分析
  • 【AI照片数字人整合包及教程】EchoMimic:开启照片数字人的新纪元
  • 【启明智显技术分享】开发Model系列遇到像素时钟Pclk与接口时钟SCL相关问题
  • macOS 开发环境配置与应用开发指南
  • 使用 OpenCV 读取和显示图像与视频
  • Flutter鸿蒙next中封装一个输入框组件
  • 数据结构--二叉树_链式(下)
  • Node.js:Express 中间件 CORS 跨域资源共享
  • ETLCloud怎么样?深度解析其在数据管理中的表现
  • 小菜家教平台(二):基于SpringBoot+Vue打造一站式学习管理系统