我一直在对此进行大量研究,但仍然遇到麻烦,所以我希望对数字(音频)信号处理有深入了解的人可以为我指明正确的方向。
我很惊讶找到一个可以执行准确节拍检测的库是多么困难。我对 DSP 和 FFT 几乎一无所知。我真正想要的是一个图书馆,我可以简单地说:
BPMDetect detector = new BPMDetect();
float bpm = detector.GetBpm(filename);
但显然这要求太高了。我得到的最接近的是使用 SoundTouch 库,但我最近发现那里的 BPM 检测非常不可靠。我知道 bpm 检测不是一门精确的科学,但 SoundTouch 声称我的一个音乐文件是 170 BPM,而 abyssmedia 的 BPM Counter 程序准确地将其设置为 120 BPM。所以我知道这是可能的。我更关心准确性而不是速度。
所以我的问题是:是否有一个 C# 库可以做到这一点而不必了解很多关于 DSP 的知识?