gpt4 book ai didi

iphone - 高性能代码中的峰值检测

转载 作者:行者123 更新时间:2023-12-03 20:00:56 24 4
gpt4 key购买 nike

我正在寻找使用 HPS 方法在 iphone 中实现语音音高检测。但检测到的音调不是很准确。 Performous在音高检测方面做得不错。

我查看了代码,但没有完全理解计算背后的理论。他们使用 FFT 并找到峰值。但他们使用 FFT 输出相位的部分让我感到困惑。我认为他们对语音频率使用了一些启发式方法。

那么,有人可以解释一下 Performous 中用于检测音调的算法吗?

最佳答案

[Performous][1] 从麦克风中提取音高。而且代码是开源的。以下是该算法的编码人员对该算法功能的描述(irc.freenode.net#performous 上的 Tronic)。

  • PCM 输入(带缓冲)
  • FFT(一次 1024 个样本,然后从缓冲区前面删除 200 个样本)
  • 重新分配方法(针对之前的 FFT,即之前的 200 个样本)
  • 峰值过滤(这部分可以做得更好,甚至可以省略)
  • 将峰值组合成谐波组(我们将这种组合称为音调)
  • 音调的时间过滤(更新之前检测到的音调集,而不是简单地使用新检测到的音调)
  • 选择最好的声调(频率限制、权重,也可以使用和声阵列,但我认为我们不会这样做)

我仍然无法从这些信息中找出并实现它。如果有人解决了这个问题,请在此处发布您的结果,并评论此回复,以便 SO 通知我。

任务是围绕此代码创建一个最小的 C++ 包装器。

关于iphone - 高性能代码中的峰值检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com