Mathematica绘制波形图的两种方法的区别
来源:网络收集 点击: 时间:2024-07-27先把音频转化为数据。
b = AudioData

再用ListPlot画波形图:
ListPlot

但是这个简单的代码,却极度耗电耗时:
ListPlot, PlotStyle - Blue] // AbsoluteTiming
用时长达十几秒,而且内存占到90%。

直接用AudioPlot把音频转化为波形图:
AudioPlot


这个非常节省时间,只需0.5秒左右。

上面的音频是双声道音频,所以AudioPlot能够画出两个波形图。
但是ListPlot却把两组数据画到一起了。
因此,这里需要单独画某一个声道的波形图:
ListPlot], PlotStyle - Blue,
AspectRatio - 2/3] // AbsoluteTiming
用时5秒左右。

如果要用AudioPlot画波形图,需要把单声道的数据转化为音频,然后画图:
AudioPlot] // Audio, PlotStyle - Blue,
AspectRatio - 2/3] // AbsoluteTiming
用时0.3秒左右。

或者还可以这样:
AudioPlot], PlotStyle - Blue,
AspectRatio - 2/3] // AbsoluteTiming

绘制散点图,或者说波形图,还是转化为Audio,再使用AudioPlot比较快。
AudioPlot背后的算法是很神奇的。^o^
MATHEMATICA波形图音频处理版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1014211.html