2022年 11月 10日

python频域分析_Python提取频域特征知识点浅析

在多数的现代语音识别系统中,人们都会用到频域特征。梅尔频率倒谱系数(mfcc),首先计算信号的功率谱,然后用滤波器和离散余弦变换的变换来提取特征。本文重点介绍如何提取mfcc特征。

首先创建有一个python文件,并导入库文件:     from scipy.io import wavfile     from python_speech_features import mfcc, logfbank     import matplotlib.pylab as plt1、首先创建有一个python文件,并导入库文件:     from scipy.io import wavfile     from python_speech_features import mfcc, logfbank     import matplotlib.pylab as plt

读取音频文件:

samplimg_freq, audio = wavfile.read(“data/input_freq.wav”)

740e73969e56292162f46e53e72c04e1.png

提取mfcc特征和过滤器特征:

mfcc_features = mfcc(audio, samplimg_freq)

filterbank_features = logfbank(audio, samplimg_freq)

742cefd8ea0e7c7f42fb4c217d600e95.png

19f57e501e50b3a7c5f8da7bb790dfec.png

打印参数,查看可生成多少个窗体:

print(‘\nmfcc:\nnumber of windows =’, mfcc_features.shape[0])

print(‘length of each feature =’, mfcc_features.shape[1])

print(‘\nfilter bank:\nnumber of windows=’, filterbank_features.shape [0])

print(‘length of each feature =’, filterbank_features.shape[1])

0becdc6f8a54fdfcb6c228b22d1e94d7.png

将mfcc特征可视化。转换矩阵,使得时域是水平的:

mfcc_features = mfcc_features.t

plt.matshow(mfcc_features)

plt.title(‘mfcc’)

ace3124466e7dc00a2cf6f8d1bc7284d.png

将滤波器组特征可视化。转化矩阵,使得时域是水平的:

filterbank_features = filterbank_features.t

plt.matshow(filterbank_features)

plt.title(‘filter bank’)

plt.show()

e0f80992403db03eafb7a654ca9e41fd.png

希望与广大网友互动??

点此进行留言吧!