我有这个,
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()
但是绘图很慢并冻结了电脑,如何减少点数或者如何提高代码的性能呢?
答案 0 :(得分:0)
使用NumPy之类的东西将数据重新取样到较低的频率,然后再将其添加到绘图中。
答案 1 :(得分:0)
您可以通过这种方式从您的数据中获取(大致)1000个均匀间隔的点:
n = len(data)
pyplot.plot(data[::n/1000])