android - 从android中的录音文件中获取频率和音高

标签 android fft android-audiorecord pitch-tracking

我正在尝试做一个应用程序,用户会说些什么,然后单击一个按钮,该按钮将为他们提供他们所说内容的频率值。我一直在搜索很多,我得出的结论是,我需要首先使用音频记录类来录制语音,然后使用 FFT 将其转换为频率。 我的主要问题是 FFT 给出了一个频率图,我不需要那个,我需要频率和音调值。我该怎么做?

请帮助我:)

最佳答案

除非您正在收集纯音调声音(如正弦波),否则您的结果实际上将是您目前使用 FFT 获得的一系列频率(查看 this 说明)。

可以使用音高估计算法从 FFT 图中收集声音的音高(参见答案 here)。 Here's some links如果合适的话,可以开源音高跟踪实现。

绝对可行!

祝你好运。

关于android - 从android中的录音文件中获取频率和音高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939588/

相关文章:

java - 来自 Android 的 Yelp v2 API 使用 SignPost oauth libs 说签名无效

java - 滚动 GridView 导致 GC_FOR_ALLOC 释放问题

numpy - Numpy fft 中的频率轴

android - 如何应用汉宁窗口功能

python - FFT减法-OpenCV

java - 无法获取简单麦克风应用程序的音频输入

android - 用于在 android 中列出元素的 xPath(使用 appium 自动化)

android - 参数类型 'Stream<User?>' 不能分配给参数类型 'Stream<User>?'

android - 如何检查另一个 Recorder 是否正在运行?

android - AudioRecord 对象未初始化