2010-10-10 2 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 медленно и заморозить компьютер, ха я могу уменьшить количество точек или как можно повысить производительность кода?

ответ

0

Вы можете взять (примерно) 1000 равномерно разнесенных точек из данных таким образом:

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

спасибо, хорошая идея – Alquimista

0

Используйте что-то вроде NumPy для повторной настройки данных на более низкую частоту, прежде чем добавлять их в график.

Смежные вопросы