人工智能我见及特征提取mfcc算法理解
一、人工智能
从LeNex手写数字识别,AlexNet图像识别,到无人驾驶汽车,再到Alpha Go、Alpha Go Zero的横空出世,人工智能无疑已经成为了当下科技的大热。那么什么是人工智能呢?直白点,人工智能就是让机器拥有人的智能。科学家们为了让机器拥有智能,从人是如何识别、思考、解决问题的角度出发,为机器量身订做了一套方案。
神经网络就是一个最好的例子:早期,科学家们从鸟儿的翅膀发明了飞机,现在,科学家们从人是如何思考的,大脑是如何运作的出发,进而发明了神经网络。下面我们要引出本篇博客的重点mfcc特征提取算法,这也是基于人类的行为而发明出来的。
二、mfcc算法
mfcc是为了完成声音识别而开发出来的一套算法,基于人是如何识别声音的。首先明确四点:
1.语音信号的大部分信息包含在低频分量中;
2.语音信号的大部分信息包含在低幅部分中;
3.人耳听到的声音高低与声音频率不成线性关系,但是与该声音频率的对数近似成线性正比关系;
4.人并不能区分所有频率分量,只有两个频率分量相差一定带宽时(1000hz以下,带宽恒定100hz;1000hz以上,带宽与中心频率成指数关系),人类才能区分,否则人就会把两个音调听成一个,这称为屏蔽效应,带宽称为临界带宽;(中心频率:声音高低主要与频率有关,由于可听声的声频太宽(从20Hz到20000Hz),为便于进行频率分析,将其分为若干段,称为频程。每频程的上限与下限频率的几何平均值称为该频程的中心频率)
MFCC在一定程度上模拟了人耳对语音的处理特点,应用了人耳听觉感知方面的研究成果,采用这种技术语音识别系统的性能有一定提高。
mfcc是一种特征,这个特征在自动语音和说话人识别中广泛的使用。
如果现在给我们一段语音,我们首先得到它的频谱包络(连接所有共振峰值点的平滑曲线,共振峰值携带了声音的辨识属性,如同人的身份证),但是对于人类来说,人类听觉的感知至聚焦在某些特定的区域而不是整个频谱包络,而MEL频率分析就是基于人类听觉感知实验的。实验观测发现人耳就像一个滤波器组一样,它只关注某些特定的频率分量。它在低频区域有很多的滤波器,在高频区域则较少。
人耳听觉的特性与Mel频率的增长一致,Mel滤波器能向人一样的去提取特征。(而gfcc是基于GT滤波器的)
人工智能我见及特征提取mfcc算法理解的更多相关文章
- 关于KMP算法理解(快速字符串匹配)
参考:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 2016-08- ...
- FFT算法理解与c语言的实现
完整内容迁移至 http://www.face2ai.com/DIP-2-3-FFT算法理解与c语言的实现/ http://www.tony4ai.com/DIP-2-3-FFT算法理解与c语言的实现 ...
- EM算法理解的九层境界
EM算法理解的九层境界 EM 就是 E + M EM 是一种局部下限构造 K-Means是一种Hard EM算法 从EM 到 广义EM 广义EM的一个特例是VBEM 广义EM的另一个特例是WS算法 广 ...
- HMM-前向后向算法理解与实现(python)
目录 基本要素 HMM三大问题 概率计算问题 前向算法 后向算法 前向-后向算法 基本要素 状态 \(N\)个 状态序列 \(S = s_1,s_2,...\) 观测序列 \(O=O_1,O_2,.. ...
- HMM-维特比算法理解与实现(python)
HMM-前向后向算法理解与实现(python) HMM-维特比算法理解与实现(python) 解码问题 给定观测序列 \(O=O_1O_2...O_T\),模型 \(\lambda (A,B,\pi) ...
- 最小生成树——Kruskal算法理解
背景:本文是在小甲鱼数据结构教学视频中的代码的基础上,添加详细注释而完成的.该段代码并不完整,仅摘录了核心算法部分,结合自己的思考,谈谈理解. Prim算法理解: 如图(摘录自小甲鱼教学视频中的图片) ...
- 最小生成树——Prim算法理解
背景:本文是在小甲鱼数据结构教学视频中的代码的基础上,添加详细注释而完成的.该段代码并不完整,仅摘录了核心算法部分,结合自己的思考,谈谈理解. Prim算法理解: 如图(摘录自小甲鱼教学视频中的图片) ...
- 编译系统中的 NFA/DFA算法理解
1.问题概述 NFA 和 DFA浅析---要深入了解正则表达式,必须首先理解有穷自动机. 有穷自动机(Finite Automate)是用来模拟实物系统的数学模型,它包括如下五个部分: 有穷状态集St ...
- KNN算法理解
一.算法概述 1.kNN算法又称为k近邻分类(k-nearest neighbor classification)算法. 最简单平庸的分类器或许是那种死记硬背式的分类器,记住全部的训练数据,对于新的数 ...
随机推荐
- windows下自动启动Redis隐藏命令行窗口
这段时间看了看关于Redis的相关内容,对于Redis在windows下的安装和常规启动我就不多说了.可以参考其他的博客http://www.cnblogs.com/edisonchou/p/3821 ...
- 训练赛第一场D题
解题报告:一开始不知道ATA的意思,后来才知道原来是转置矩阵乘以原来的矩阵.这题说起来比较麻烦就不说了,直接上代码: #include<cstdio> #include<cstrin ...
- Java并发编程(2) AbstractQueuedSynchronizer的设计与实现
一 前言 上一篇分析AQS的内部结构,其中有介绍AQS是什么,以及它的内部结构的组成,那么今天就来分析下前面说的内部结构在AQS中的具体作用(主要在具体实现中体现). 二 AQS的接口和简单示例 上篇 ...
- 【LinuxC】GCC编译C程序,关闭随机基址
1.编译.链接和运行程序 C代码示例: #include <stdio.h> #include <stdlib.h> int main() { printf("hel ...
- Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析【转】
转自:http://www.latelee.org/embedded-linux/porting-linux-tstest-code.html 本文是作者对tslib库的ts_test.c文件进行分析 ...
- [HBase] 服务端RPC机制及代码梳理
基于版本:CDH5.4.2 上述版本较老,但是目前生产上是使用这个版本,所以以此为例. 1. 概要 说明: 客户端API发送的请求将会被RPCServer的Listener线程监听到. Listene ...
- Linux下配置Samba服务器全过程
Linux下配置Samba服务器全过程 user级别的samba的配置 http://www.linuxidc.com/Linux/2014-11/109234.htm http://www.linu ...
- java基础63 JavaScript中的Number、Math、String、Date对象(网页知识)
本文知识点(目录): 1.Number对象 2.Math对象 3.String对象 4.Date对象 (日历例子) 1.Number对象 1.1.Number对象的创建方式 方式1: ...
- Linux网络综合命令——IP
1.作用 ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命令. ...
- Trie树子节点快速获取法
今天做了一道leetcode上关于字典树的题:https://leetcode.com/problems/word-search-ii/#/description 一开始坚持不看别人的思路,完全自己写 ...