Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。

4年前关闭。



Improve this question




我想制作一个可以找到节拍时间戳以及“长音符”的应用程序,通常我想了解有关曲目的所有信息并将其存储在看起来像这样的“属性”数组中,让我们说(节拍):
beatsTimeStamps = [1, 4, 7, 10, 12](所有整数均以秒为单位)。也就是说,这就是在15秒音轨中发生拍子的时间。

另一个示例是存储有关长和弦信息的字典,例如:
longChordsTimeIntervals: [1: 4, 7:10, 15:20],其格式为[beginningTimeStampOfChord1: endingTimeStampOfChord1, beginningTimeStampOfChord2: endingTimeStampOfChord2, etc....].
最好知道该和弦由哪些音符组成,但这可能会更难。

我该如何分析音轨以获得此类信息?第三方iOS音频框架似乎都无法轻松实现此目的。

最佳答案

MIREX music-ir网站上的音频速度估计和音频节拍跟踪 Realm 有大量有关最新技术的研究论文。

http://www.music-ir.org/mirex/wiki/MIREX_HOME

http://www.music-ir.org/mirex/wiki/2015:Audio_Tempo_Estimation

http://www.music-ir.org/mirex/wiki/2015:Audio_Beat_Tracking

在标准的iOS音频框架中并不能简单找到它。 iOS设备可能具有足够的计算能力,但是创建算法和代码并非易事。

MIREX网站上还有关于复音音高估计的内容,但是比节拍跟踪困难得多。

07-26 09:43