【语音识别】MFCC+VAD端点检测智能语音门禁系统【含GUI Matlab源码 451期】

news2025/7/18 22:33:42

⛄一、MFCC简介

1 引言
语音识别是一种模式识别, 就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。语音识别技术主要包括特征提取技术、模式匹配准则及模型训练技术3个方面。目前一些语音识别系统的适应性比较差, 主要体现在对环境依赖性强, 因此要提高系统鲁棒性和自适应能力。支持向量机 (Support Vector Machine, SVM) 是基于统计学理论发展起来的新的机器学习方法, 采用将数据从低维空间映射到高维空间的思想, 由支持向量来决定最优分割线, SVM先自动找出对分类有较好区分能力的支持矢量, 然后构造出分类器来最大化类与类的间隔, 因此有较好的适应能力和较高的分准率。

本文在现有语音识别技术基础上, 提出一种MFCC (Mel Frequency Cepstrum Coefficients, Mel频率倒谱系数) +SVM的语音识别方法, 实现对几种英文单词的分类。实验结果表明, 该识别方法具有较高的准确率。

2 语音识别系统
语音识别过程一般分为3个阶段:信号处理、特征提取和模式识别, 如图1所示。
在这里插入图片描述
图1 语音识别系统原理

3 MFCC特征提取
特征提取是数据挖掘和模式识别中的一个重要步骤。其目的是从原有特征数据中提取出与特定任务, 如分类、压缩、识别等密切相关的新特征 (或特征子集) , 以有效地完成特定任务或进一步减少计算量。

研究者通常使用经典的特征提取技术, 如MFCC、连续小波变换 (Continuous Wavelet Transform, CWT) 和短时傅里叶变换 (Short-Time Fourier Transform, STFT) 来提取语音片段的特征。Mel频率是基于人耳听觉特性提出来的, 它与Hz频率成非线性对应关系。MFCC则是利用它们之间的这种关系, 计算得到的Hz频谱特征。由于MFCC具有良好的识别性能和抗噪能力, 在语音识别中得到广泛的使用, 而且研究人员仍在对MFCC的各种参数进行实验和调整, 并通过同其它模型的协同工作来找出提高识别率的方法。

MFCC参数的提取包括以下几个步骤 (如图2所示) :
在这里插入图片描述
图2 MFCCs特征的提取过程
(1) 预加重。通过一个一阶有限激励响应高通滤波器, 使信号的频谱变得平坦, 不易受到有限字长效应的影响。
(2) 分帧。根据语音的短时平稳特性, 语音可以以帧为单位进行处理。n为每一帧语音采样序列的点数, 本系统取n=256。
(3) 加窗。为了减小语音帧的截断效应, 降低帧两端的坡度, 使语音帧的两端不引起急剧变化而平滑过渡, 需要让语音帧乘以一个窗函数。目前常用的窗函数是Hamming窗。
(4) 对每帧序列s (n) 进行预加重、分帧加窗后, 然后经过离散FFT变换, 将s (n) 取模的平方得到离散功率谱S (n) 。
(5) 计算S (n) 通过M个滤波器Hm (n) 后所得的功率谱, 即计算S (n) 和Hm (n) 在各离散频率点上的乘积之和, 得到M个参数Pm, m=0, 1, …, M-1。
(6) 计算Pm的自然对数, 得到Lm, m=0, 1, …, M-1。
(7) 对L0, L1, …, Lm-1计算其离散余弦变换, 得到Dm, m=0, 1, …, M-1。
(8) 舍去代表直流成分的L0, L1, …, Lm-1, 取L0, L1, …, Lm-1作为MFCC参数。

⛄二、部分源代码



⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3] 李玲俐.一种基于MFCC和SVM的语音识别方法[J].软件导刊. 2012,11(03)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/38167.html

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

相关文章

[mysql] 深入分析MySQL版本控制MVCC规则--实测 (mysql 8.0 innodb引擎)

背景:基于之前的一篇文章 可重复读:可重复读隔离级别的实现是每个事务在打开时都会生成一个一致的视图。 当其他事务提交时,不会影响当前事务中的数据。 为了保证这一点,MySQL是通过多版本控制机制MVCC来实现的; 我们亲…

Go语言面试题合集(2022)

基础语法 Go 支持默认参数或可选参数吗? 不支持。但是可以利用结构体参数,或者…传入参数切片数组。 // 这个函数可以传入任意数量的整型参数 func sum(nums ...int) {total : 0for _, num : range nums {total num}fmt.Println(total) }Go 语言 tag…

pandas算术运算、逻辑运算、统计运算describe()函数、统计函数、累计统计函数及自定义函数运算

一、pandas算术运算 直接对数据进行加、减、乘、除等运算,可使用函数add()、sub()、mul()、div()或、-、、 代码如下 数据生成 import pandas as pd import numpy as np# 数据生成代码 num np.random.randint(50, 100, (3, 5))# 传入标签索引 column [第一列, …

[hadoop全分布部署]安装Hadoop、配置Hadoop 配置文件①

👨‍🎓👨‍🎓博主:发量不足 个人简介:耐心,自信来源于你强大的思想和知识基础!! 📑📑本期更新内容:安装Hadoop、配置Hadoop 配置文件…

基于SSM的高校课程评价系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

一文带你深入理解【Java基础】· 注解

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

多线程编程【条件变量】

条件变量📖1. 为什么需要条件变量?📖2. 条件变量概念📖3. 发信号时总是持有锁📖4. 生产者消费者问题📖5. 基于阻塞队列的生产者消费者模型📖1. 为什么需要条件变量? 在很多情况下&a…

Android开发音效增强中铃声播放Ringtone及声音池调度SoundPool的讲解及实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留下QQ~~~ 一、铃声播放 虽然媒体播放器MediaPlayer既可用来播放视频,也可以用来播放音频,但是在具体的使用场合,MediaPlayer存在某些播音方面的不足之处 包括以下几点 1:初始化比较消耗资源 尤其…

软件开发工程师笔试记录--关键路径,浮点数计算,地址变换,中断向量,I/O接口,海明码

时间:2022年11月26日 10:00 -11:00 (可提前登录15分钟) 公司:XX(rongyu) 岗位:软件开发工程师(我的简历语言是Java) 题型:选择题&…

一次应用多次fgc原因的排查及解决

应用多次fgc性能排查(一次抢购引起的性能问题) 大家好我是魔性的茶叶,今天分享一个项目jvm多次fgc的整个排查流程 上班后不久运维突然通知我们组,有一个应用在短时间内多次fgc,即将处于挂掉的状态。 首先我登录skyw…

客户听不进去,很强势,太难沟通了,怎么办?

案例 最近接手一项目,项目范围蔓延,成本超支,进度延期,问项目经理怎么回事? 项目经理C无奈诉苦到:用户A大领导,是业主B的领导,咱们业主B不敢反驳他,让我直接与用户A对接,说A提的需求,默认答应,我有什么办法啊,只能接了。 分析 经过复盘,导致项目蔓延的主要原因…

【参赛经历总结】第五届“传智杯”全国大学生计算机大赛(初赛B组)

成绩 比赛链接 比赛过程 被虐4h 比赛体验不是很好我开始五分后才在qq上看到题第一题签到题第二题调了1h吧,算法题做的不多,题目没读全,wa了几发,有几发是网络问题,交了显示失败,但还是判wa了第三题知道…

mulesoft What‘s the typeOf(payload) of Database Select

Whats the typeOf payload of Database SelectQuestionOptionExplanationMule ApplicationDebugQuestion Refer to the exhibit. The Database Select operation returns five rows from a database. What is logged by the Logger component? Option A “Array” B “Objec…

第五届传智杯-初赛【B组-题解】

A题 题目背景 在宇宙射线的轰击下,莲子电脑里的一些她自己预定义的函数被损坏了。 对于一名理科生来说,各种软件在学习和研究中是非常重要的。为了尽快恢复她电脑上的软件的正常使用,她需要尽快地重新编写这么一些函数。 你只需输出fun(a,…

数据库错误知识集3(摘)

(摘) 逻辑独立性是外模式不变,模式改变时,如增加新的关系,新的属性,改变属性的数据类型,由数据库管理员对各个外模式/模式的映像做相应改变,可以使得外模式不变,因为应用…

sdfsdfasfsdfdsfasfdfasfasadsfasdfasf

白包api 图片编辑功能: 1、你变体下 SnapEditMenuManager 的 这个方法 public void initEditMainMenu(final EditUITabMenu editUITabMenu) 换成你需要的配置,需要哪个功能 就拿哪一坨,别拿多了 //相框 MenuBean menuBean new MenuBean…

线程的学习

v# 1. 线程基本概念 1.1进程 进程是指运行中的程序,比如启动了QQ,就相当于启动了一个进程,操作系统会为该进程分配空间;当我们使用迅雷,就相当于又启动了一个进程,操作系统将为迅雷分配新的内存空间&…

坦克大战①

1. java绘图技术 JFrame:画板 Jpanel:画板 Graphics:画笔 初始化画板,定义画框的大小,设置可视化; 1.1 画坦克 初始化我方坦克、敌方坦克 绘图:(1)更改背景颜色;(2)绘制敌方坦克…

【Docker】常用命令

背景 当下,docker技术已成为开发者常用的技术栈。不管是开发过程中需要应对的各种复杂多变的开发环境的搭建,还是生产部署环节需要的自动化运维,都离不开docker,本文简单介绍相关命令的含义,用作平时查询使用。 1. doc…

【计算机毕业设计】38.网上轰趴预订系统

一、系统截图(需要演示视频可以私聊) 摘要 在网上轰趴发展的整个过程中,网上轰趴预定担负着最重要的角色。为满足如今日益复杂的管理需求,各类网上轰趴程序也在不断改进。本课题所设计的网上轰趴预定系统,使用SSM框架…