如何减少波形点数?
我有这个,
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()
但是绘图很慢并且冻结了电脑,我可以减少点数或者如何提高代码的性能?
I have this,
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()
but the ploting is slow and freeze the pc, hoy I can reduce the numbers of points or how can I increase the performance of the code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过以下方式从数据中获取(大约)1000 个均匀分布的点:
You could take (roughly) 1000 evenly spaced points from your data this way:
在将数据添加到绘图之前,使用 NumPy 之类的工具将数据重新采样到较低的频率。
Use something like NumPy to resample the data to a lower frequency before adding it to the plot.