web-dev-qa-db-ja.com

PythonでMFCCをプロットする方法は?

私はここでは信号処理の初心者です。オーディオファイル(.WAV)からMFCC機能を抽出するためのこれまでの私のコードは次のとおりです。

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の機能をプロットして、どのように見えるかを知りたかっただけです。

8
E. Alicaya
from python_speech_features import mfcc
import scipy.io.wavfile as wav
import matplotlib.pyplot as plt

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

print(mfcc_feat)
plt.plot(mfcc_feat)
plt.show()
5
kanha.vishva

これにより、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()
4
itai ariel

前の回答では、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_dataMFCC_feat

2
Eduardo Freitas

最初にlibrosaを使用してwavファイルを読み取り、組み込み関数を使用しました

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

Librosaを使用しました

0