如何使用 aubio 找到 .wav 的节奏?

P G*_*P G 3 python audio analysis tempo aubio

我想在 python 3.6 中检测音频文件的速度,但我不太了解关于 aubio 的文档。有人可以指出如何使用aubio或其他图书馆提取节奏吗?

pie*_*iem 6

更新

此命令将为您提供整个文件的速度估计(在 中可用0.4.5):

aubio tempo foo.wav
Run Code Online (Sandbox Code Playgroud)

有一个简单的演示aubiopython/demosdemo_bpm_extract.py

最重要的部分是以下两行,它们计算每个连续节拍之间的周期 ( np.diff),将这些周期转换为 bpm ( 60./),并将中位数 ( np.median) 作为这一系列节拍最可能的bpm 候选:

#!/usr/bin/env python
import numpy as np
bpms = 60./np.diff(beats)
median_bpm = np.median(bpms)
Run Code Online (Sandbox Code Playgroud)

请注意这里的中位数如何比均值更合适,因为它始终会给出原始总体中存在的估计值bpms

  • 因为我是上游作者,所以被否决感觉有点讽刺。对此发表评论将不胜感激。 (3认同)