MFCC特征值详解

2023-11-04

看了网上的很多MFCC,依然没能够学号MFCC,因此糊了一段时间详细的看了下MFCC的内容。现在也算是对于MFCC有了更深入的理解了。

不管是语音识别还是其他的一系列的识别大体都分为三个步骤,1、输入信号的预处理2、特征值提取3、相关算法的识别与分类。MFCC算是语音识别中特征值提取一种方法,其他的还有LPCC等一系列的特征值提取方法。我在进行语音识别的过程中我采用的就是MFCC特征值的提取,在后面识别算法中我采用的是支持向量机算法。下面是MFCC在matlab上的完整代码,基本上每一句都有相应的注释。

[voice,fs]=wavread('1.wav');%读取WAV格式的语音信号;
%数据的前期处理,以及参数的设置为了后面第四与第五歩的计算
dvoice=double(voice);%转化为double类型;
voicematrix=melbankm(24,256,fs,0,0.5,'t');%24表示后面的三角滤波器是24阶,后面每帧是256点,0和0.5是默认值,t表示滤波器是三角滤波器;
%melbankm返回的是一个系数矩阵,包含滤波器的振幅;
voicematrix=full(voicematrix);%将稀疏矩阵转化为全矩阵,方便后面的计算;
voicematrix=voicematrix/max(voicematrix(:));%矩阵数据归一化,减少计算量;
%设置三角滤波器以及输出MFCC参数的阶数
for k=1:12 %设置MFCC的输出向量的阶数
    n=0:23;%三角滤波器的阶数
    dctcoef(k,:)=cos((2*n-1)*k*pi/(2*24));%DCT离散余弦变换的的公式
end
w=1+6*sin(pi*(1:12)./12);%归一化倒谱提升窗口
w=w/max(w);%归一化
%1:预处理
dvoice=filter([1-0.9375],1,dvoice);%预加重通过一个高通滤波器;
%2:分帧
dvoice=enframe(dvoice,256,80);%分帧处理,每一帧采样256点,帧移80;
for i=1:size(dvoice,1);%获得一共分的帧个数;
    tvoice=dvoice(i,:);%提取每一帧语音;
    %3:加汉明窗
    hvoice=tvoice'.*hamming(256);%每一帧语音加上汉明窗;
    %4:快速傅里叶变换
    fvoice=abs(fft(hvoice));%加窗后的没一帧语音进行fft快速傅里叶变换;
    fvoice=fvoice.^2;%语音谱取模平方得到功率谱;
    %5:三角带通滤波器滤波加上,离散余弦变换;
    mvoice=dctcoef*log(voicematrix*fvoice(1:129));
    mvoice2=mvoice.*w';%将12阶的系数同比例的缩小,减少运算量的
    mfccmatrix(i,:)=mvoice2';
    %mfccmatrix(i,:)=mvoice';
end
%6:一阶差分提取动态特征
dimfccmatrix=zeros(size(mfccmatrix));
for i=3:size(mfccmatrix,1)-2
    dimfccmatrix(i,:)=-2*mfccmatrix(i-2,:)-mfccmatrix(i-1,:)+mfccmatrix(i+1,:)+2*mfccmatrix(i+2,:);
end
dimfccmatrix=dimfccmatrix/3;
%7:二阶差分提取动态特征
ddimfccmatrix=zeros(size( dimfccmatrix));
for i=3:size(dimfccmatrix,1)-2
    ddimfccmatrix(i,:)=-2* dimfccmatrix(i-2,:)- dimfccmatrix(i-1,:)+ dimfccmatrix(i+1,:)+2* dimfccmatrix(i+2,:);
end
 ddimfccmatrix= dimfccmatrix/3;
 totalmatrix=[mfccmatrix, dimfccmatrix, ddimfccmatrix];%合并mfcc参数和动态参数;
 totalmatrix=totalmatrix(3:size(mfccmatrix,1)-2,:);%去除首尾两帧,这两帧差分为零;
 totalmatrix

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFCC特征值详解 的相关文章

  • Kaldi-MFCC模块源码主流程分析

    那么趁着这个机会 研究一下kaldi源码中MFCC部分的内容 不说废话 我们从 compute mfcc feats cc开始讲解 这里是个main函数 需要携带参数 具体使用样例如下 1 compute mfcc feats 其实看到这里
  • 语音识别芯片LD3320介绍再续

    语音识别芯片LD3320驱动程序 1 芯片复位 复位就是对LD3320芯片的第47腿 RSTB 发送低电平 然后需要对片选CS做一次拉低 拉 高的操作 以激活内部DSP 按照以下顺序 void LD reset RSTB 1 delay 1
  • Kaldi语音识别学习记录-----编译安装

    语音识别领域的开源框架有CMUSphinx HTK Kaldi等等 而目前仍然比较活跃 且工程价值较高的就数Kaldi 很多从事语音方面的公司 都使用该框架训练自己的语音识别能力 由于其内部代码逻辑较为复杂 故这里一步一步来解读 了解语音识
  • ROS机器人语音模块

    ROS机器人语音模块 文章目录 ROS机器人语音模块 零 乘骐骥以驰骋兮 来吾道夫先路 壹 路漫漫其修远兮 吾将上下而求索 贰 苟余情其信姱以练要兮 长顑颔亦何伤 叁 不吾知其亦已兮 苟余情其信芳 肆 虽体解吾犹未变兮 岂余心之可惩 末 亦
  • Matlab Babble噪声

    问题 我们在做语音相关实验的时候可能需要用到Babble噪声 解决 可以从该链接下载babble噪声 截取我们所需要的长度 设置信噪比 进行加噪 上代码 load babble mat 导入babble文件 voicepath M5 wav
  • Kaldi 入门详解

    train mono sh 是音素训练脚本 下面详细介绍各个功能 这部分是训练用参数 调用mono sh时可以通过 name value的方式改变这些参数 nj 4 并行个数 cmd run pl 处理程序 scale opts trans
  • Audacity如何改变音频节奏?Audacity调整音频节奏方法

    很多人在录完音频后都会试听效果 经常会发现音频的节奏要么太快 要么太慢 可是自己又不愿意花时间 花人力 物力再去录制音频 为了解决这问题 我们可以用Audacity改变音频的节奏 加快或者减慢某个音频片段或者整个音频的节奏 只是很多人不懂怎
  • 可以白嫖的语音识别开源项目whisper的搭建详细过程

    原文来自我个人的博客 1 前提条件 服务器为GPU服务器 点击这里跳转到我使用的GPU服务器 我搭建 whisper 选用的是 NVIDIA A 100显卡 4GB显存 Python版本要在3 8 3 11之间 输入下面命令查看使用的Pyt
  • 不限次数的chatGPT

    不说废话直接看方法 不用翻墙 开干 第一步 打开电脑的Edge浏览器 就是windows系统的默认浏览器 搜索wetab 点击如下的官方链接就会进入安装插件界面 第二步 点击chat AI就会弹出这个弹窗 点击 安装教程 按钮 第三步 来到
  • cogmen: contextualized gnn based multimodal emotion recognition(2022)

    cogmen 基于语境gnn的多模式情感识别 摘要 情感是人类互动的固有部分 因此 开发理解和识别人类情感的人工智能系统势在必行 在涉及不同人群的对话中 一个人的情绪受到另一个说话者的话语以及他们自己在话语中的情绪状态的影响 在本文中 我们
  • 实时语音通讯技术的应用场景与挑战

    随着互联网和移动通信技术的快速发展 实时语音通讯技术已经成为人们日常生活和工作中不可或缺的一部分 实时语音通讯技术可以让人们通过网络进行实时语音通话 不受时间和地点的限制 带来了极大的便利和效率提升 本文将探讨实时语音通讯技术的应用场景和挑
  • (九)kaldi thchs30 三音子模型(line 71-76)

    概览 首先放代码 triphone steps train deltas sh boost silence 1 25 cmd train cmd 2000 10000 data mfcc train data lang exp mono a
  • 一个将XM音频导入小宇宙的工具

    这个喜马拉雅语音导出工具 能够帮助你导出喜马拉雅中的音频节目 下载后的音频文件 可以复制到小宇宙设备文件夹里面 这样我们就可以用小宇宙播放我们导入的音频文件啦 windows电脑版 https jscs lanzouw com imVZ40
  • 《Graph Neural Networks Foundations,Frontiers and Applications》第一部分第一章第1.2.2节翻译和解读

    书名 Graph Neural Networks Foundations Frontiers and Applications 图神经网络的基础 前沿和应用 出版社 Springer Berlin Heidelberg 作者 Lingfei
  • 人脸识别解决方案全套文件大合集,120份全新精选,有这个就够了

    人脸识别解决方案全套文件大合集 120份全新精选 有这个就够了 一 人脸识别4个特点 二 人脸识别的 4 个步骤 三 人脸识别的 5 个难点 四 人脸识别算法的发展轨迹 五 人脸识别的典型应用 六 下载人脸识别全套解决方案 一 人脸识别4个
  • 如何使用python调用电脑麦克录音

    import wave import pyaudio 定义数据流块 CHUNK 1024 FORMAT pyaudio paInt16 CHANNELS 2 RATE 44100 录音时间 RECORD SECONDS 5 要写入的文件名
  • 腾讯智影+IDM进行数字人制作(无限使用)

    腾讯智影 IDM进行数字人制作 无限使用 首先确保您电脑上有windows自带的Edge浏览器 安装IDM下载工具 IDM 安装到浏览器扩展 下载IDM使用工具 链接 https pan baidu com s 1iARibnICpbnOR
  • GB28181设备接入端如何播放语音广播数据?

    技术背景 语音广播功能是GB28181设备接入端非常重要的功能属性 语音广播让终端和平台之间 有了实时双向互动 可以满足执法记录仪 智能安全帽 智能监控 智慧零售 智慧教育 远程办公 明厨亮灶 智慧交通 智慧工地 雪亮工程 平安乡村 生产运
  • 如何使用 TarsosDSP 获得 MFCC?

    我到处搜索 但不知道如何在 Android 上使用 TarsosDSP 提取 MFCC 特征 我知道如何从文件中获取 FFT 有什么帮助吗 查看官方github页面 MFCC 测试文件 public class MFCCTest priva
  • 将神经网络应用于可变长度语音片段的 MFCC

    我目前正在尝试创建和训练一个神经网络 以使用 MFCC 执行简单的语音分类 目前 我为每个样本使用 26 个系数 总共 5 个不同的类别 这些是具有不同音节数的五个不同单词 虽然每个样本都有 2 秒长 但我不确定如何处理用户可以非常慢或非常

随机推荐

  • MIPI学习记录——(4)mipi数据流实现

    数据流实现 数据流接收过程 1 sensor发送过来的数据 通过data lane到达D PHY 2 D PHY将接收到的data buffer缓存到内部DMA 3 CPU将DDR中的buffer table地址 0x 写入到D PHY的寄
  • 百度地图根据地点名称,获得坐标(但是延时太重,不利于使用)

    localSearch setSearchCompleteCallback function searchResult var poi searchResult getPoi 0 lng poi point lng lat poi poin
  • vue更换主题设置主题

    1 创建一个后缀为 scss文件将下述代码放进去 将scss文件引入main js中 如果引入报错可以网上搜一下 很多 root bg white color fff bg pink color pink bg black color 37
  • 送书

    如图1所示是网易财经展示的贵州茅台股票的历史交易数据 图1 单击 下载数据 超链接 会弹出如图2所示的对话框 选择完成后单击 下载 按钮就可以下载数据了 所下载的数据是CSV格式 图2 CSV Comma Separated Values
  • RTSP流媒体服务搭建

    主要用于测试目的 系统是windows 使用的是docker desktop 3 5 1 1 rtsp simple server 参考 https github com aler9 rtsp simple server docker 运行
  • React中 Real DOM 和 Virtual DOM 的区别?优缺点?

    一 是什么 Real DOM 真实 DOM 意思为文档对象模型 是一个结构化文本的抽象 在页面渲染出的每一个结点都是一个真实 DOM 结构 如下 Virtual Dom 本质上是以 JavaScript 对象形式存在的对 DOM 的描述 创
  • Qt 音乐播放器:实现点击窗体外的地方该窗口自动关闭

    最近在模仿网易云播放器的时候遇到这个问题 点击 播放列表 弹出音乐列表窗体 点击该窗体的其他的地方 该窗口自动关闭 如下所示 ps 录屏的时候 鼠标显示不出来 尴尬 为此 记录实现该种效果的方法 创建该对象的时候 设置坐标和大小都为0 m
  • tcp为什么要三次握手,tcp为什么可靠。

    为什么不能两次握手 防止已失效的连接请求又传送到服务器端 因而产生错误 假设改为两次握手 client端发送的一个连接请求在服务器滞留了 这个连接请求是无效的 client已经是closed的状态了 而服务器认为client想要建立 一个新
  • indexDB & localForage

    一 前言 前端本地化存储算是一个老生常谈的话题了 我们对于 cookies Web Storage sessionStorage localStorage 的使用已经非常熟悉 在面试与实际操作之中也会经常遇到相关的问题 但这些本地化存储的方
  • 没有参数的ajax怎么怎么写,我的ajax没传任何参数请求接口为systemlog/read "?“跟的是什么参数怎么去掉或者说为什么会这样 ?...

    Request URL http localhost 3600 systemlog read callback jQuery1111025511396121069163 1491487798084 Request Method POST S
  • Pycharm(python) 报错: from lxml import etree ModuleNotFoundError: No module named ‘lxml‘

    Pycharm 报错 from lxml import etree ModuleNotFoundError No module named lxml 注 此类错误绝大多数情况下都是环境中少了报错时提示的python包 按照以下方法均可解决
  • Shell--基础--02--变量

    Shell 基础 02 变量 1 定义变量 变量名 值 k v1 定义变量k 值为v1 1 1 注意 变量名和等号之间不能有空格 1 2 命名规则 只能使用英文字母 数字和下划线 首个字符不能以数字开头 中间不能有空格 可以使用下划线 不能
  • linux内网yum源服务器搭建

    1 nginx location root usr local Kylin Server V10 SP3 General Release 2303 X86 64 autoindex on autoindex localtime on aut
  • 下载网页视频并自动合成视频

    本人博客已迁移至 https nasdaqgodzilla github io 1 首先使用Chrome打开网页 单击F12打开开发者工具 开始视频播放 在F12出来的界面中单击Network 在Network中有文件列表 检查当中是否存在
  • 星星之火-48:在LTE中,66.67us的符号发送时间是怎么来的呢?

    66 67us符号的发送时间是怎么来的呢 这就涉及到 发送一个符号所需的时间 即符号周期是怎么来的 1 先从频率的角度看子载波的频率 频分复用 1 LTE基带信号的带宽 1 4MHz 3MHz 5MHz 10MHz 15MHz 20MHz等
  • 企业微信回调接口验签

    文章目录 一 企业微信配置参数 二 验签 三 企业微信客户联系回调 四 相关工具类 企业微信提供了回调接口 允许企业服务商和企业应用接收到企业微信的事件通知和用户操作通知 在接收到回调通知时 需要进行验签操作 以确保通知的安全性和有效性 官
  • html+css+js

    2021年3月16日 一 标签内容 1 声明为HTML5文档 1 用于游览器正确显示网页 2
  • react项目搭建 (eslint+prettier)

    1 安装nodejs 安装git 安装vscode 安装yarn 2 npm install create react app yarn g 在yarn中安装react脚手架 3 在系统资源中配置path 在指定目录下create reac
  • JAVA面试(三)

    1 什么是本地调用 java编译器将包含本地方法的class对应的方法添加ACC NATIVE标识 而JVM负责将动态库加载到内存 Java执行引擎执行到本地方法时找到对应的函数 完成本地方法的调用 2 多线程 3 线程同步怎么实现 1 s
  • MFCC特征值详解

    看了网上的很多MFCC 依然没能够学号MFCC 因此糊了一段时间详细的看了下MFCC的内容 现在也算是对于MFCC有了更深入的理解了 不管是语音识别还是其他的一系列的识别大体都分为三个步骤 1 输入信号的预处理2 特征值提取3 相关算法的识