资源简介
提取mfcc特征
代码片段和文件信息
# coding=utf-8
# 计算每一帧的MFCC系数
import numpy
from sigprocess import audio2frame
from sigprocess import pre_emphasis
from sigprocess import spectrum_power
from scipy.fftpack import dct
# 首先,为了适配版本3.x,需要调整xrange的使用,因为对于版本2.x只能使用range,需要将xrange替换为range
try:
xrange(1)
except:
xrange = range
def calcMFCC_delta_delta(signal samplerate=16000 win_length=0.025 win_step=0.01 cep_num=13 filters_num=26
NFFT=512 low_freq=0 high_freq=None pre_emphasis_coeff=0.97 cep_lifter=22
appendEnergy=True):
‘‘‘计算13个MFCC+13个一阶微分系数+13个加速系数一共39个系数
‘‘‘
feat = calcMFCC(signal samplerate win_length win_step cep_num filters_num NFFT low_freq high_freq
pre_emphasis_coeff cep_lifter appendEnergy) # 首先获取13个一般MFCC系数
result1 = derivate(feat)
result2 = derivate(result1)
result3 = numpy.concatenate((feat result1) axis=1)
result = numpy.concatenate((result3 result2) axis=1)
return result
def calcMFCC_delta(signal samplerate=16000 win_length=0.025 win_step=0.01 cep_num=13 filters_num=26 NFFT=512
low_freq=0 high_freq=None pre_emphasis_coeff=0.97 cep_lifter=22 appendEnergy=True):
‘‘‘计算13个MFCC+13个一阶微分系数
‘‘‘
feat = calcMFCC(signal samplerate win_length win_step cep_num filters_num NFFT low_freq high_freq
pre_emphasis_coeff cep_lifter appendEnergy) # 首先获取13个一般MFCC系数
result = derivate(feat) # 调用derivate函数
result = numpy.concatenate((feat result) axis=1)
return result
def derivate(feat big_theta=2 cep_num=13):
‘‘‘计算一阶系数或者加速系数的一般变换公式
参数说明:
feat:MFCC数组或者一阶系数数组
big_theta:公式中的大theta,默认取2
‘‘‘
result = numpy.zeros(feat.shape) # 结果
denominator = 0 # 分母
for theta in numpy.linspace(1 big_theta big_theta):
denominator = denominator + theta ** 2
denominator = denominator * 2 # 计算得到分母的值
for row in numpy.linspace(0 feat.shape[0] - 1 feat.shape[0]):
tmp = numpy.zeros((cep_num))
numerator = numpy.zeros((cep_num)) # 分子
for t in numpy.linspace(1 cep_num cep_num):
a = 0
b = 0
s = 0
for theta in numpy.linspace(1 big_theta big_theta):
if (t + theta) > cep_num:
a = 0
else:
a = feat[int(row)][int(t + theta - 1)]
if (t - theta) < 1:
b = 0
else:
b = feat[int(row)][int(t - theta - 1)]
s += theta * (a - b)
numerator[int(t - 1)] = s
tmp = numerator * 1.0 / denominator
result[int(row)] = tmp
return result
def calcMFCC(signal samplerate=16000 win_length=0.025 win_step=0.01 cep_num=13 filters_num=26 NFFT=512
low_freq=0 high_freq=None pre_emphasis_coeff=0.97 cep_lifter=22 ap
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-12-09 19:36 MFCC\
文件 9286 2020-11-10 16:19 MFCC\calcmfcc.py
文件 920 2020-11-19 17:08 MFCC\getWave.py
文件 4526 2020-11-22 22:58 MFCC\MFCC_test.py
文件 5878 2020-11-10 15:20 MFCC\sigprocess.py
相关资源
- ppt提取表格到xls(pdf_to_xls.py)
- 用Pythonopencv提取图像中的红色区域
- Python-在特征金字塔网络FPN的Pytorch实现
- Python-Goose3一个用Python编写的文章提取
- SIFT提取特征进行全景图拼接
- PDFPlumber:从PDF文件提取文字和表格的
- 人脸识别-python-特征脸-PCA
- 富文本使用案例
- python实现特征检测算法SIFT、SURF、OR
- 深度网络特征可视化工具
- python dlib 训练人脸特征点检测器
- Python-Camelot一个可以轻松地从PDF文件中
- ukbench前1000张图片及提取的sift特征
- 基于phash图像特征的图像聚类-kmeans-
- Python网络爬虫与信息提取课件
- 利用python绘制热图、计算网络节点d
- Slicer安装包用于放射组学特征提取等
- 基于python+opencv的目标图像自动识别提
- 灰度共生矩阵纹理特征提取.py
- 基于python+opencv的目标图像自动识别提
- python信号处理
- fer2013数据集和提取出的数据集图片以
- shape_predictor_68_face_landmarks.dat
- python实现超简单的视频对象提取功能
- jieba分词,连接数据库,分析数据库中
- Arcpy实现dem河网提取
- python读excel数据计算特征值和特征向量
- 基于DEAP数据集的特征提取———近似
- python_QQ群联系人提取器
- python从双目视觉图片提取深度信息
评论
共有 条评论