我正在尝试同步(重叠)同一首歌曲的两个录音:一个完整的 HQ 版本和一个不完整的嘈杂版本(例如电话录音)。嘈杂的录音可能已经增加/减少了节奏。
目前,我根据 2001 年的这篇论文进行了一些工作:“节拍谱:节奏分析的新方法”
简而言之:
- 为每首歌曲获取一个自相似向量,该向量将包含歌曲栏持续时间的每个倍数的峰值(例如,拉丁音乐每 4 或 8 个节拍)
- 对于从 0.7 到 1.3 的每个 r(相对节奏比),缩放第二个向量,然后对这两个向量进行点积,使用 v1[i]·v2[i] = d1[i]*d2[i](其中d1[i] 是 v1 导数的符号;对于 d2)
当录音中的节拍清晰时,我会以正确的比率(通常为 1.0)获得清晰的最大值。问题是当节拍丢失时(由于 EQ、坏的麦克风、噪音),自相似图停止显示周期性条,并且我在点积的错误位置获得最大值。
我的问题是,除了做 BPM(song1) / 之外,我还能用什么来代替导数符号的点积,以及在存在噪声的情况下确定节奏变化率的其他可靠方法是什么? BPM(歌曲 2)。
如果有人可以更进一步:通过将样本重叠两次(在 [0, ofs, ofs+ofs] 而不是仅 [0, ofs])计算自相似性,可以为每个节拍持续时间提供更准确的最大值。但我还没有在我拥有的所有样品上测试它。