ios - Swift iOS - 如何分析给定的 MP3 文件以确定节拍的时间?

标签 ios swift audio avaudioplayer core-audio

<分区>


想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .

关闭 7 年前

我想制作一个应用程序来查找节拍的时间戳以及“长音符”,并且通常我想了解有关轨道的所有信息并将其存储在一个“属性”数组中看起来像这样,让我们​​说(对于节拍):

beatsTimeStamps = [1, 4, 7, 10, 12](所有整数均以秒为单位)。也就是说,假设这些是 15 秒轨道中出现节拍的时间。

另一个例子是存储长和弦信息的字典,例如:

longChordsTimeIntervals: [1: 4, 7:10, 15:20],遵循格式 [beginningTimeStampOfChord1: endingTimeStampOfChord1, beginningTimeStampOfChord2: endingTimeStampOfChord2, etc....].

最好知道和弦由哪些音符组成,但这可能更难。

我如何着手分析音轨以获得此类信息?市面上的第 3 方 iOS 音频框架似乎都无法轻松做到这一点。

最佳答案

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

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 网站上也有关于复调音高估计的内容,但这比节拍跟踪要难得多。

关于ios - Swift iOS - 如何分析给定的 MP3 文件以确定节拍的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35529884/

上一篇:ios - 如何正确地关闭呈现的 ViewController 并返回到父 ViewController?

下一篇:ios - swift 2 : Local Notification at Bottom of Screen instead of Middle

相关文章:

ios - 在 NSUserDefaults 中保存继承的对象

swift - 知道为什么这个函数正在写入/更新表中的第一个单元格而不是 CFQuery TableViewController 中选定的单元格吗?

android - 适用于 Android 的 TARSOS DSP : retrieving SpectralPeaks

audio - 文件上的Gstreamer音频捕获

android - 在某个时候声音停止工作

ios - boolean 返回帮助查找修复

iphone - Storyboard和 View 转换

ios - 这个以状态配置为中心的 ios UIButton 有什么用?

arrays - 按数字顺序在数组中插入 Int

ios - 如何在快速注册时检查用户是否已经注册