2017-04-19 2 views
3

Ich bin nur ein Anfänger hier in der Signalverarbeitung. Hier ist mein Code so weit auf Extrahieren MFCC Funktion aus einer Audiodatei (.wav):Wie man MFCC in Python plotten?

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) 

Ich wollte nur die mfcc Funktionen plotten zu wissen, wie es aussieht.

Antwort

3
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() 
+3

Bitte mehr Informationen bearbeiten. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". Wir bemühen uns, eine Ressource für Wissen zu sein. –

+0

Bitte bearbeiten Sie Ihre Antwort mit einigen Erklärungen. Code-only-Antworten machen wenig aus, um zukünftige SO-Leser zu schulen. Ihre Antwort befindet sich in der Moderationswarteschlange, weil sie von geringer Qualität ist. – mickmackusa

+0

Was ist, wenn ich mit mp3/.mp4 Dateien arbeiten möchte, wie wird sich der obige Code ändern? –

1

Dies wird die MFCC als Farben zeichnen, die

ein beliebter Weg ist
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() 
0

Die bisherige Antwort keine definierte mfcc_data tat.

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