4

我目前正在为我拥有的涉及节拍检测的游戏构思一个想法。我使用的引擎是 Unity,我从来没有任何音频方面的经验,编码方面,所以要温柔:)

我查看了几篇文章并测试了几种算法,包括我自己的一些算法,但没有一个是真正成功的,也不够准确,我觉得我一直在做错什么。

具体来说,我已经尝试实现这里提出的想法:http: //archive.gamedev.net/archive/reference/programming/features/beatdetection/index.html

但收效甚微,我仍然认为我跳过了一些东西,我无法确定它。

如果有人可以提供有关如何制作实际准确的节拍检测器的解释,我将不胜感激。

编辑:有些人对我遇到的问题感到困惑。这是我检测节拍的最新尝试,我仍然不明白为什么它如此不准确: http: //pastebin.com/BD8y9tfz

在此,我使用上面发布的链接中的 (R1) 方程从我采集的 1024 个样本中计算瞬时能量,然后我使用 (R3) 从包含所有先前瞬时能量计算的缓冲区中计算局部平均声能,然后我检查了瞬时能量与本地平均声能相比是否有显着上升,如果有,则表示有节拍,如果没有,则程序照常继续。

(愚蠢的信誉系统不允许我发布链接和图片):)。

编辑 2:为 R4、R5 和 R6 添加了实现,但仍然无法正常工作。添加了一些调试,由于某种原因,常量非常小,数字如下:

Constant: -103416

而且Constant: -54793.28,我不知道为什么我会得到这些数字,有什么帮助吗?

4

0 回答 0