如何用Python确定音频文件的BPM?
我试着阅读了aubio和librosa的相关论文,但对里面的术语不是很熟悉。
我正在写一段代码,用来处理一批音频文件,格式是.wav和.mp3,目的是创建一些元数据。现在这段代码已经能从文件中提取出标题、艺术家、时长等信息。
之前我用Mixmeister这个程序把BPM(每分钟节拍数)嵌入到.mp3文件中,但对.wav文件就没办法了。
所以,我想找个方法来计算每个音频文件的BPM,无论是.mp3还是.wav格式。
更新
我最后决定使用两种方法的平均节奏,具体可以参考这个链接:librosa是如何估算节奏的?
这两种结果的平均值更接近Mixmeister的结果,但也存在很多八度音错误(有些结果需要除以二才能得到实际的BPM,比如实际BPM是59,但方法返回的是BPM 188)。你可以查看这个链接了解更多:我们如何提高librosa中的节奏检测准确性?
有没有办法检测出哪些歌曲的结果需要除以二?
你能分享一下你认为在处理音频文件的BPM或每分钟节拍数时,最准确的方法是什么吗?
0 个回答
暂无回答