Как уменьшить количество точек сигнала? - PullRequest
1 голос
/ 10 октября 2010

У меня есть это,

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

, но заговор идет медленно и замораживает компьютер. Как же я могу уменьшить количество точек или как я могу увеличить производительность кода?

Ответы [ 2 ]

0 голосов
/ 10 октября 2010

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

n = len(data)
pyplot.plot(data[::n/1000])
0 голосов
/ 10 октября 2010

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

...