Как построить MFCC в Python?

Я просто новичок в обработке сигналов. Вот мой код для извлечения функции MFCC из аудиофайла (.WAV):

from python_speech_features import mfcc
import scipy.io.wavfile as wav

(rate,sig) = wav.read("AudioFile.wav")
mfcc_feat = mfcc(sig,rate)

print(mfcc_feat)

Я просто хотел нарисовать функции mfcc, чтобы узнать, как это выглядит.


person E. Alicaya    schedule 19.04.2017    source источник


Ответы (4)


Это отобразит MFCC в виде цветов, что является более популярным способом.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
fig, ax = plt.subplots()
mfcc_data= np.swapaxes(mfcc_data, 0 ,1)
cax = ax.imshow(mfcc_data, interpolation='nearest', cmap=cm.coolwarm, origin='lower')
ax.set_title('MFCC')

plt.show()
person itai ariel    schedule 17.05.2017

В предыдущем ответе не было определено mfcc_data.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm

(rate,sig) = wav.read("file.wav")
mfcc_feat = mfcc(sig,rate)

ig, ax = plt.subplots()
mfcc_data= np.swapaxes(mfcc_feat, 0 ,1)
cax = ax.imshow(mfcc_data, interpolation='nearest', cmap=cm.coolwarm, origin='lower', aspect='auto')
ax.set_title('MFCC')
#Showing mfcc_data
plt.show()
#Showing mfcc_feat
plt.plot(mfcc_feat)
plt.show()

MFCC_data MFCC_feat

person Eduardo Freitas    schedule 25.02.2018

Первоначально я читал wav-файл с помощью librosa и загружал его встроенной функцией.

import librosa
audio_path='../.../../../combo.wav' #location
(xf, sr) = librosa.load(audio_path)    
mfccs = librosa.feature.mfcc(y=xf, sr=sr, n_mfcc=4)
librosa.display.specshow(mfccs, x_axis='time')
plt.colorbar()
plt.tight_layout()
plt.title('mfcc')
plt.show

я использовал либрозу

person santhosh bandaru    schedule 25.01.2020

person    schedule
comment
Пожалуйста, отредактируйте с дополнительной информацией. Только для кода и попробуйте эти ответы не рекомендуется, потому что они не содержат контента для поиска и не объясняют, почему кто-то должен попробовать это. Мы прилагаем усилия здесь, чтобы быть источником знаний. - person Brian Tompsett - 汤莱恩; 21.04.2017
comment
Пожалуйста, отредактируйте свой ответ, чтобы включить некоторые пояснения. Ответы только на код очень мало помогают будущим читателям SO. Ваш ответ находится в очереди на модерацию как некачественный. - person mickmackusa; 22.04.2017
comment
что, если я хочу работать с файлами mp3/.mp4, как изменится приведенный выше код? - person kRazzy R; 01.12.2017
comment
Это даже не правильный способ построения функций mfcc. - person Isaac; 12.02.2019