如何使用iPhone SDK确定任何歌曲的bpm(每分钟节拍数)?

时间:2011-02-14 08:43:09

标签: iphone objective-c xcode ios4

我正在开发一款iPhone应用程序,可以确定iTunes资料库中每首歌曲的bpm(每分钟节拍数),然后将歌曲调整为140 bpm(或70),以获得完美的锻炼节奏。

我曾经使用AVAsset库来捕获itunes库中的歌曲,这部分工作正常。现在我想捕捉并修改该歌曲的bpm(每分钟节拍数)。

我真的很感激,如果有人能告诉我如何实现这一目标,以及是否有任何样本可用。

2 个答案:

答案 0 :(得分:1)

如果今天有人遇到这个问题......我制作了一个github repo来估算本地音频文件的bpm。

https://github.com/yaizudamashii/BPMDetection-iOS

答案 1 :(得分:0)

将歌曲加载到AVPLayer中。它具有setRate功能来改变歌曲的速度。

要阅读歌曲的BPM,您需要使用MPMediaItem。 离。

 MPMediaItem *mediaItem = ...;
 int BPM = [[mediaItem valueForProperty:MPMediaItemPropertyBeatsPerMinute]intValue];

如果您需要更多解释,请与我们联系