更新
此命令将为您提供整个文件的速度估计(在 中可用0.4.5):
aubio tempo foo.wav
Run Code Online (Sandbox Code Playgroud)
有一个简单的演示aubio的python/demos:demo_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。