如何用Python确定音频文件的BPM?

0 投票
0 回答
36 浏览
提问于 2025-04-12 09:46

我试着阅读了aubio和librosa的相关论文,但对里面的术语不是很熟悉。

我正在写一段代码,用来处理一批音频文件,格式是.wav和.mp3,目的是创建一些元数据。现在这段代码已经能从文件中提取出标题、艺术家、时长等信息。

之前我用Mixmeister这个程序把BPM(每分钟节拍数)嵌入到.mp3文件中,但对.wav文件就没办法了。

所以,我想找个方法来计算每个音频文件的BPM,无论是.mp3还是.wav格式。

更新

我最后决定使用两种方法的平均节奏,具体可以参考这个链接:librosa是如何估算节奏的?

这两种结果的平均值更接近Mixmeister的结果,但也存在很多八度音错误(有些结果需要除以二才能得到实际的BPM,比如实际BPM是59,但方法返回的是BPM 188)。你可以查看这个链接了解更多:我们如何提高librosa中的节奏检测准确性?

有没有办法检测出哪些歌曲的结果需要除以二?

你能分享一下你认为在处理音频文件的BPM或每分钟节拍数时,最准确的方法是什么吗?

0 个回答

暂无回答

撰写回答