对Python使用mfcc的两种方式详解

yipeiwu_com6年前Python基础

1、Librosa

import librosa 
filepath = "/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav"
y,sr = librosa.load(filepath)
mfcc = librosa.feature.mfcc( y,sr,n_mfcc=13 )

返回结构为(13,None)的np.Array,None表示任意数量

2、python_speech_features

from python_speech_features import mfcc as pmfcc
filepath = "/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav"
(rate,sig) = wav.read(filepath)
amfcc = pmfcc( sig, rate ).T

返回结构为(None,13)的np.Array,通过 .T 可转为(13,None)

3、这两种方式的mfcc还是有明显的区别的,上面两个子图是从(1)Librosa得到的 mfcc[0] 和 mfcc[1],下面的是(2)python_speech_features得到的 amfcc[0] 和 amfcc[1]

Python使用mfcc

以上这篇对Python使用mfcc的两种方式详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

把项目从Python2.x移植到Python3.x的经验总结

 经历移植jinja2到python3的痛苦之后,我把项目暂时放一放,因为我怕打破python3的兼容。我的做法是只用一个python2的代码库,然后在安装的时候用2to3工具...

python实现浪漫的烟花秀

python实现浪漫的烟花秀

无意中看到一段用Tkinter库写的放烟花的程序,就跟着跑了一遍。 设计理念:通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生“膨胀”,意思是它们会以恒速移动且相互之间的...

Django ManyToManyField 跨越中间表查询的方法

1、在 django 表中用到了 manytomany 生成了中间表 pyclub_article_column from django.db import models # Cr...

如何在Django中添加没有微秒的 DateTimeField 属性详解

前言 今天在项目中遇到一个Django的大坑,一个很简单的分页问题,造成了数据重复。最后排查发现是DateTimeField 属性引起的。 下面描述下问题,下面是我需要用到的一个 Tas...

Python中一行和多行import模块问题

Python 不建议用一行 import 所有模块,而是推荐用多行 import 来导入模块。更多的是出于操作便利性的原因,与代码本身无关: 更易于阅读 import fred 比...