Python中有很多现成的包可以直接拿来使用,本篇博客主要介绍一下librosa包中mfcc特征函数的使用。

1、电脑环境

电脑环境:Windows 10 教育版

Python:python3.6

2、需要了解的知识

librosa包的介绍与安装见博主另一篇博客:
https://blog.csdn.net/qq_39516859/article/details/80333431
梅尔倒谱系数(mfcc)的介绍见博主另一篇博客:
https://blog.csdn.net/qq_39516859/article/details/80505981

3、librosa.feature.mfcc的介绍

librosa.feature.mfcc(y=None, sr=22050, S=None, n_mfcc=20, dct_type=2, norm='ortho', **kwargs)

参数:

y:np.ndarray [shape=(n,)] 或 None
音频时间序列

sr:number > 0 [scalar]
y的采样率

S:np.ndarray [shape=(d, t)] or None
对数功能梅尔谱图

n_mfcc: int > 0 [scalar]
要返回的MFCC数量

dct_type:None, or {1, 2, 3}
离散余弦变换(DCT)类型。默认情况下,使用DCT类型2。

norm:None or ‘ortho’
规范。如果dct_type为2或3,则设置norm =’ortho’使用正交DCT基础。
标准化不支持dct_type = 1。

kwargs:额外的关键参数
参数melspectrogram,如果按时间序列输入操作

返回: M:np.ndarray [shape=(n_mfcc, t)]
MFCC序列

4、librosa.feature.mfcc的使用

import librosa
y, sr = librosa.load('i1.wav',sr=None)
mfccs = librosa.feature.mfcc(y=y, sr=sr,n_mfcc=24)

librosa.feature.mfcc这个函数内部是这样的:

# -- Mel spectrogram and MFCCs -- #
def mfcc(y=None, sr=22050, S=None, n_mfcc=20, **kwargs):if S is None:S = logamplitude(melspectrogram(y=y, sr=sr, **kwargs))return np.dot(filters.dct(n_mfcc, S.shape[0]), S)

可以看出,如果只给定原始的时域信号(即S参数为None),librosa会先通过melspectrogram()函数先提取时域信号y的梅尔频谱,存放到S中,再通过filters.dct()函数做dct变换得到y的梅尔倒谱系数。

librosa.feature.mfcc函数介绍GitHub:
http://librosa.github.io/librosa/generated/librosa.feature.mfcc.html#librosa.feature.mfcc
源码:http://librosa.github.io/librosa/_modules/librosa/feature/spectral.html#mfcc

Python中使用librosa包进行mfcc特征参数提取相关推荐

  1. MFCC特征参数提取(一)(基于MATLAB和Python实现)

    1.MFCC概述 在语音识别(Speech Recognition)和话者识别(Speaker Recognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scale Frequency ...

  2. python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比

    python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比 目录

  3. python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比、自定义设置每一个数据格的颜色

    python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比.自定义设置每一个数据格的颜色 目录

  4. python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票、基金的持仓结构(treemap with squarify package)

    python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票.基金的持仓结构(treemap with squarify package) 目录

  5. python 柱形图_如何利用python 中的pyecharts包绘制柱形图

    平均线 Python中的pyecharts包,与百度echarts相对应.利用这个包绘制图形只需要简单的几行代码即可,而且绘制的图形还很美观. 安装pyecharts工具包. 导入pyecharts包 ...

  6. python 去除panda安装包_沉淀,再出发:python中的pandas包

    沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...

  7. Python中的解包用法

    Python中的解包用法 解包(unpacking:解包,拆包),基本意思将容器里面的元素逐个取出来使用.封包(packing:封包,打包)基本意思将多个元素合起来作为一个整体使用. 可迭代对象支持解 ...

  8. python中的解包操作

    在看别人写的python代码的时候,有时候会看到在变量前面加上一个*或者是**,上网找了一下相关的资料发现这些星号原来是python中的解包操作,相当于将一个容器中的元素取出来然后分配给不同的变量,下 ...

  9. 解决VS Code连接远程服务器使用Python中的matplotiib包画图无法显示的问题

    项目场景: 在使用VS Code连接远程服务器使用Python中的matplotiib包画图时,会出现无法显示的问题 问题描述: 在直接执行画图程序时,会报错:RuntimeError: Invali ...

最新文章

  1. echarts怎么用在php,在Vue.JS中怎样使用echarts
  2. Android测试环境配置
  3. Tesseract-OCR 字符识别-样书训练
  4. JavaScript下的进制转换
  5. 前端面试题Vue-cli目录汇总
  6. WordPress内核站群全自动新闻采集发布源码,单站专用
  7. 常见的 HTTP 状态代码及原因
  8. anaconda怎么运行python程序_怎么用cmd运行python
  9. [转载]我的WCF之旅(3):在WCF中实现双工通信
  10. 两个概念模型及算法之间的关系
  11. APUE读书笔记-18终端输入输出-09终端标识
  12. 怎么用计算机按键弹歌谱,键盘钢琴及谱子(弹钢琴练打字一举两得)
  13. 360手机助手下载|360手机助手下载
  14. gitlab无法推送
  15. 仗剑走天涯,执手闯天下
  16. 在设备上启用开发者选项
  17. 通达信经典实用选股公式
  18. 万般皆下品,惟有读书高
  19. X200 风扇速度控制
  20. 适合企业的IT运维软件应具有哪些特点?

热门文章

  1. 固态器件理论(4)电子和“空穴”
  2. Spartan-6的SelectIO资源
  3. 如何保证MongoDB的安全性?
  4. SQUAD的rnet复现踩坑记
  5. GO语言基础之reflect反射
  6. Oracle笔记(十三) 视图、同义词、索引
  7. 【转】Jquery -Ajax 入门练习 Jquery.Ajax 调用后台函数,获取DataTable Json,Asp.net
  8. openfire插件开发的四种方式
  9. 计算机三级考试网络技术怎么复习,2017计算机三级考试的三大复习阶段(网络技术为例)...
  10. 从名称认识电容在电路中的作用