Android,如何使用麦克风来计算声音频率?

时间:2012-01-28 10:48:16

标签: android microphone audio

我正在研究音频调谐器应用程序以调整乐器。 用户应该播放一个音符,然后在我的应用程序中,我应该显示它有哪个频率。

首先,我应该访问麦克风?

AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
sampleRate, AudioFormat.CHANNEL_IN_STEREO,
AudioFormat.ENCODING_PCM_16BIT, bufferSize);

然后我需要计算声音的频率。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

我也试图这样做。我还没有自己管理,因为我对android开发完全不熟悉,但是这里有两个有用的链接到其他调谐器的源代码,一个是Java,一个不是:

编辑: 我认为我可以更好地链接到这个网站上的许多替代品,人们试图制作吉他调音器。

RE-编辑: FFT.java

解决了我的问题。 (没有正确链接,因为我是新用户)

答案 1 :(得分:0)

您需要计算FFT。也许你可以尝试这个链接:

FFT

但是你可以在互联网上找到很多用于FFT算法的实现。