2010-10-10 32 views
1

我有這個,如何減少波形的點數?

f = audiolab.Sndfile('test.wav', 'r') 
data = f.read_frames(f.nframes, dtype=numpy.int16) 

pyplot.rcParams['figure.figsize'] = 10, 2 
pyplot.plot(data) 
pyplot.xticks([]) 
pyplot.yticks([]) 
pyplot.show() 

但ploting是緩慢和凍結PC,HOY我可以減少點的數量或者我如何能提高代碼的性能?

回答

0

你可以採取(大致)從數據這樣1000均勻分佈的點:

n = len(data) 
pyplot.plot(data[::n/1000]) 
+0

感謝,好主意 – Alquimista 2010-10-11 04:12:39

0

使用類似NumPy的數據將數據重新採樣到較低的頻率,然後將其添加到圖中。