基于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.mzph.cn/web/58258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 IntelliJ IDEA 中调整 `Ctrl+/` 快捷键生成注释的位置

前言 在使用 IntelliJ IDEA 编写代码时,注释是代码可读性和维护性的重要组成部分。IDEA 提供了快捷键 Ctrl/ 用于快速生成单行注释。然而,默认情况下,使用此快捷键生成的注释会出现在行首,导致注释与代码之间存在较大的空格&…

源鲁杯 2024 web(部分)

[Round 1] Disal F12查看: f1ag_is_here.php 又F12可以发现图片提到了robots 访问robots.txt 得到flag.php<?php show_source(__FILE__); include("flag_is_so_beautiful.php"); $a$_POST[a]; $keypreg_match(/[a-zA-Z]{6}/,$a); $b$_REQUEST[b];if($a>99999…

使用 ADB 在某个特定时间点点击 Android 设备上的某个按钮

前提条件 安装 ADB&#xff1a;确保你已经在计算机上安装了 Android SDK&#xff08;或单独的 ADB&#xff09;。并将其添加到系统环境变量中&#xff0c;以便你可以在命令行中运行 adb。 USB调试&#xff1a;确保 Android 设备已启用 USB 调试模式。这可以在设备的“设置” -…

数据库的使用02:SQLServer的连接字符串、备份、还原、SQL监视相关设置

目录 一、连接字符串 【本地连接字符串】 【远程连接字符串】 二、备份 三、还原 &#xff08;1&#xff09;还原数据库-bak、btn文件 &#xff08;2&#xff09;附加数据库mdf文件 四、SQL监视器的使用 一、连接字符串 【本地连接字符串】 server DESKTOP-FTH2P3S; Da…

Oracle视频基础1.3.6练习

1.3.6 以下是您的需求清单&#xff08;不含解决方案&#xff09;&#xff1a; 检查数据库启动情况等待会话结束&#xff0c;进行正常关机等待事务全部提交后再关机查看 alert 日志文件查看后台跟踪文件查看用户跟踪文件 检查数据库启动情况 ps -ef | grep oracle ipcs clear…

【大数据学习 | HBASE】hbase的原理与组成结构

1. hbase的简述 hbase作为google的大数据三篇比较重要的论文之一&#xff0c;它的起源叫做bigtable&#xff0c;意思非常简单就是大表的意思&#xff0c;是一个分布式存储很多数据的大型表格系统&#xff0c;它是对于hdfs中的数据不能直观查询和随机读写的病痛的一个补充和完善…

苍穹外卖Bug集合

初始化后端项目运行出现以下问题 以上报错是因为maven和jdk版本不符合&#xff0c;需要将jdk改成17&#xff0c;mavne改成3.9.9

【C++篇】在秩序与混沌的交响乐中: STL之map容器的哲学探寻

文章目录 C map 容器详解&#xff1a;高效存储与快速查找前言第一章&#xff1a;C map 的概念1.1 map 的定义1.2 map 的特点 第二章&#xff1a;map 的构造方法2.1 常见构造函数2.1.1 示例&#xff1a;不同构造方法 2.2 相关文档 第三章&#xff1a;map 的常用操作3.1 插入操作…

太空旅游:科技能否让星辰大海变为现实?

内容概要 在这个快速变化的时代&#xff0c;太空旅游成为了一个让人热血沸腾的话题。想象一下&#xff0c;坐在一颗漂浮的太空舱里&#xff0c;手中端着饮料&#xff0c;眺望着无尽的星辰大海&#xff0c;简直就像科幻电影中的情节一样。不过&#xff0c;这不仅仅是一个空洞的…

程序中怎样用最简单方法实现写excel文档

很多开发语言都能找到excel文档读写的库&#xff0c;但是在资源极其受限的环境下开发&#xff0c;引入这些库会带来兼容性问题。因为一个小功能引入一堆库&#xff0c;我始终觉得划不来。看到有项目引用的jar包有一百多个&#xff0c;看着头麻&#xff0c;根本搞不清谁依赖谁。…

【春秋云镜】CVE-2023-23752

目录 CVE-2023-23752漏洞细节漏洞利用示例修复建议 春秋云镜&#xff1a;解法一&#xff1a;解法二&#xff1a; CVE-2023-23752 是一个影响 Joomla CMS 的未授权路径遍历漏洞。该漏洞出现在 Joomla 4.0.0 至 4.2.7 版本中&#xff0c;允许未经认证的远程攻击者通过特定 API 端…

解决虚拟机启动报:此主机支持AMD-V,但AMD-V处于禁用状态

首先要知道你自己使用的主板型号&#xff0c;如果是京东购买的&#xff0c;可以直接上京东去问客服。如果没有订单号&#xff0c;如果能提供正确的主板型号&#xff0c;他们应该也是会帮忙解答的。 您好&#xff0c;AMD 平台与 Intel 平台以及部分新老主板开启虚拟化的步骤和细…

【EI会议推荐】抢先掌握学术前沿!快来参加EI学术会议投稿,展示你的研究成果,开启科研新高度!

【EI会议推荐】抢先掌握学术前沿&#xff01;快来参加EI学术会议投稿&#xff0c;展示你的研究成果&#xff0c;开启科研新高度&#xff01; 【EI会议推荐】抢先掌握学术前沿&#xff01;快来参加EI学术会议投稿&#xff0c;展示你的研究成果&#xff0c;开启科研新高度&#…

2.若依vue表格数据根据不同状态显示不同颜色style

例如国标显示蓝色&#xff0c;超标是红色 使用是蓝色&#xff0c;未使用是绿色 <el-table-column label"外卖配送是否完成评价" align"center" prop"isOverFlag"> <template slot-scope"scope"> …

Java基础-内部类与异常处理

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 一、Java 内部类 什么是内部类&#xff1f; 使用内部类的优点 访问局部变量的限制 内部类和继承 内部…

Java 基于SpringBoot+Vue 的公交智能化系统,附源码、文档

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Spring Boot开发入门教程

简介 Spring Boot是一个开源的Java基础框架&#xff0c;用于创建独立、生产级的基于Spring框架的应用程序。通过Spring Boot&#xff0c;你可以轻松地创建独立的、生产级的Spring应用程序。 环境准备 Java开发环境&#xff1a;确保你的机器上安装了Java 8或更高版本。Maven…

科技资讯|谷歌Play应用商店有望支持 XR 头显,AR / VR设备有望得到发展

据 Android Authority 报道&#xff0c;谷歌似乎正在为其 Play 商店增加对 XR 头显的支持。该媒体在 Play 商店的代码中发现了相关的线索&#xff0c;包括一个代表头显的小图标以及对“XR 头显”的提及。 谷歌也可能改变了此前拒绝将 Play 商店引入 Meta Quest 头显的决定。今…

使用Python Flask实战构建Web应用

你是否曾想过&#xff0c;使用Python来快速搭建一个Web应用&#xff1f;Flask作为一个轻量级的Web框架&#xff0c;因其简单、灵活且高效&#xff0c;成为了很多开发者首选的工具。今天&#xff0c;就让我们一同走进Flask的世界&#xff0c;探索如何使用它轻松构建一个实战Web应…