所以我有一个转换后的复数数组。我不知道如何处理返回的数据。我尝试计算每个元素的大小,将最高元素指定为正确的频率,但发现我经常得到像 5,000hz 这样的奇怪数字。我可以对返回的数据执行更好的操作来确定音高吗?
注意:我想使用音调作为语音 Activity 检测算法的一部分。
最佳答案
有许多不同的音调检测算法 - 我建议您尝试使用 Harmonic Product Spectrum方法,因为您已经开始了基于 FFT 的路线,并且实现您拥有功率谱的路线相当简单。
关于java - 如何使用 FFT 变换阵列检测音高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18797518/