是否有任何Android的API,使用。来实现傅立叶变换 设备的DSP?或者是否有任何API允许使用设备的DSP?
感谢。
答案 0 :(得分:3)
不,没有用于执行硬件加速FFT的公共API。
您可以通过定位armeabi-v7a
ABI来优化本机代码,以便使用FPU。这对浮点FFT非常有用。
请参阅Android NDK的文档/目录中的CPU-ARCH-ABIS
。
答案 1 :(得分:2)
对不起,这有点晚了,但是如果你想在Android中计算真实或复数的傅里叶变换,你最好使用jTransfrom或libgdx.FFT。 libgdx使用KissFFT后端,不太清楚jTransform使用什么。
查看有关如何实现libgdx的示例:
http://www.digiphd.com/android-java-simple-fft-libgdx/
希望这有帮助。
答案 2 :(得分:1)
首先,并非所有设备都有DSP。实际上大多数都只有CPU和GPU。
截至今天,如果没有自定义ROM /固件,您可能无法真正做到您想要的。好消息是他们正在努力。查看从Honeycomb开始提供的Renderscript。它目前只在CPU上运行(虽然它可以使用多个内核),但计划是为了允许在GPU(也可能是DSP)上执行的未来版本,您的代码几乎不需要更改。有关详细信息,请参阅this post。
答案 3 :(得分:0)
据说Visualiyer能够从音频播放中导出FFT:
http://developer.android.com/reference/android/media/audiofx/Visualizer.html
但肯定不是你喜欢的。