在android中绘制音频文件的谱图

时间:2014-08-28 06:17:35

标签: android signal-processing spectrogram

我正在开发一个Android应用程序,我需要在其中创建一个频谱图(这是声音中频率频谱随时间变化的直观表示)。我有一个音频文件并使用FFT在频域有信号,现在我需要绘制频谱图。我需要一个API来帮助我绘制这个图表看起来像Matlab中的类似图表。任何建议?

2 个答案:

答案 0 :(得分:1)

在适当大小的布局中声明一个空的<View>元素,并且适合您要显示的内容。鉴于它的id为myview

实现您自己的类,该类可以从View查看并覆盖onDraw(Canvas canvas)。我们将这个类命名为MyView。向该类添加任何方法,以便将数据传递给它(即FFT的结果)。

在您的活动的onCreate方法中,请致电findViewById(R.id.myview).setContentView(new MyView());

实现MyView.onDraw(),以便在画布上绘制数据可视化。如果数据发生更改,请在视图类上调用invalidate方法强制重绘。

至于绘制什么,这取决于你。我想为每个频段都有一堆矩形或线条。 “真实”的一种颜色和“想象的”的另一种颜色。

答案 1 :(得分:1)

如果您正在寻找可以帮助您绘制频谱图的Android库,只要您在进行音频信号的FFT后获得数据点, 你应该看看下面的图书馆

MPAndroidChart

AChartEngine

EazeGraph

相关问题