android fft 实例,适用于Android的标准FFT类/库?

我计划通过音频“可视化”一些图形数据.简而言之:我从一些图像数据中得到了一堆频率和相关的幅度值.这个具有256对数据的频率/幅度表必须转换为相关的正弦波形.

一种解决方案是为每个表条目生成具有不同频率的正弦波形.这将意味着最多生成256次正弦波形.但是我想那很慢.那么使用FFT转换应该是一个更好的解决方案吗?

所以我的问题是:是否存在可用于Android的某种快速且易于使用的FFT标准?

解决方法:

在我的Android项目中,我使用了JTranforms,可在Android上完美运行.

示例代码:

android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);

AudioRecord ar = // initialize AudioRecord here;

ar.startRecording();

// Here's the Fast Fourier Transform from JTransforms

DoubleFFT_1D fft = new DoubleFFT_1D(samples.length);

do {

// Read audio to 'samples' array and convert it to double[]

ar.read(samples, 0, samples.length);

// Will store FFT in 'samplesD'

fft.realForward(samplesD);

} while ( /* condition */ );

ar.stop();

ar.release();

更新:

它可以在JTransforms上找到,该版本在github here上维护,可以作为Maven插件here获得.

要与最新的Gradle版本一起使用,请执行以下操作:

dependencies {

...

implementation 'com.github.wendykierp:JTransforms:3.1'

}

标签:fft,trigonometry,frequency,android,signal-processing

来源: https://codeday.me/bug/20191031/1973741.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android FFT是一种用于在Android平台上进行快速傅里叶变换(FFT)的文件。FFT是一种用于将时域信号转换为频域信号的数学算法,用于信号处理、音频处理以及图像处理等领域。 Android FFT通常包含了一系列的函数和方法,用于实现FFT算法的相关操作。它可以接收输入信号的样本数据,并在频域上对其进行分析,得到频谱信息。通过使用FFT,开发人员可以方便地对音频数据进行频谱分析,以及其他与频域相关的处理操作。 Android FFT使用可以极大地简化开发过程,提升开发效率。通过将FFT集成到Android应用中,开发人员可以实现音频实时分析、频谱可视化、音频滤波等功能。同时,由于FFT的高效性能,应用的响应速度和实时性也能够得到保证。 在选择Android FFT时,开发人员可以根据其功能、性能、可靠性和支持等因素进行评估。目前在Android开发中,一些常用的FFT包括libgdx、KissFFTFFT4J等。 总之,Android FFT是一种有助于实现快速傅里叶变换的文件,可用于Android平台上的信号处理和音频处理等应用领域。它为开发人员提供了方便快捷的频谱分析工具,提升了开发效率和应用性能。 ### 回答2: Android FFT是一种用于在Android平台上进行快速傅里叶变换(Fast Fourier Transform,FFT)的工具FFT是一种数学算法,用于将时域信号转换为频域信号,常用于信号处理领域。 在Android开发中,FFT可以帮助开发者快速实现音频分析、频谱绘制、数据压缩等功能。通过使用FFT,开发者可以将音频信号转化为频域信号,从而实现对音频数据的频谱分析。例如,可以根据音频信号的频谱分布绘制频谱图,以便用户更直观地了解音频的频率分布情况。 同时,FFT还可以用于进行音频数据压缩。通过对音频信号进行FFT变换,可以将频域信号中较低能量的部分忽略或者降低精度,从而实现对音频数据的压缩,减少存储空间和带宽的占用。 Android FFT使用方式通常是通过导入相应的文件和API接口,通过调用接口函数实现FFT变换的计算。开发者可以根据具体的需求和场景,选择合适的FFT进行集成和使用。 总而言之,Android FFT是一种非常有用的工具,可以帮助开发者在Android平台上实现快速傅里叶变换,从而实现音频分析、频谱绘制、数据压缩等功能。开发者只需导入相应的文件和调用接口函数,即可轻松集成和使用。 ### 回答3: Android FFT是用于进行快速傅里叶变换(Fast Fourier Transform,FFT)的,它提供了一种有效的方法来分析和处理音频信号或其他时域信号。 FFT是一种计算复杂度较低的算法,可以将时域信号转换为频域信号。通过对信号进行FFT变换,我们可以获得信号的频谱信息,包括频率、幅度和相位等。这对于音频信号处理、频谱分析、滤波和频域特征提取等应用非常有用。 Android FFT提供了实现FFT算法的函数和方法。开发者可以使用这些函数和方法将输入的时域信号转换为频域信号,并对频域信号进行进一步的处理和分析。此外,Android FFT还提供了一些额外功能,如频域滤波和频域特征提取等,方便开发者进行更复杂的操作。 使用Android FFT,开发者可以在Android平台上轻松地进行音频信号处理和频域分析。例如,可以利用FFT进行音频降噪、音频声音特征提取、频谱显示等操作。同时,Android FFT还可以与其他音频处理和工具结合使用,提升开发效率。 总之,Android FFT是一个强大而方便的工具,可以帮助开发者在Android平台上进行音频信号处理和频域分析。无论是对音频信号进行实时处理、音频特征提取还是频谱分析,Android FFT都可以满足开发者的需求,并提供了丰富的功能和接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值