如何解决如何在 Android 上使用 tarsosDSP 获取当前声音的所有频率使用 FFT_YIN
这是得到峰值频率的FFT_YIN算法代码
public PitchDetectionResult getPitch(final float[] audioBuffer) {
final int tauEstimate;
final float pitchInHertz;
// step 2
difference(audioBuffer);
// step 3
cumulativeMeannormalizedDifference();
// step 4
tauEstimate = absoluteThreshold();
// step 5
if (tauEstimate != -1) {
final float betterTau = parabolicInterpolation(tauEstimate);
// step 6
// Todo Implement optimization for the AUBIO_YIN algorithm.
// 0.77% => 0.5% error rate,// using the data of the YIN paper
// bestLocalEstimate()
// conversion to Hz
pitchInHertz = sampleRate / betterTau;
} else{
// no pitch found
pitchInHertz = -1;
}
result.setPitch(pitchInHertz);
return result;
}
但是我想通过 tarsosdsp 的 FFT_YIN 算法得到当前声音的所有频率。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。