可可 – 使用AVFoundationCoreMedia 其他框架来检测节拍 Onsets

可可 – 使用AVFoundationCoreMedia 其他框架来检测节拍 Onsets,第1张

概述(前言:这是我第一个关于Stack Overflow的音频相关问题,所以我尽量尽可能地这样写,欢迎编辑.) 我正在创建一个允许用户循环播放音乐的应用程序.目前,我们的原型允许这些“循环标记”(实现为UISliders)每秒捕捉,指定循环的开始和结束.显然,当循环播放音乐时,秒钟是非常粗暴的方式来处理,所以我想使用节拍. 我不想做任何除了标记节拍以外的其他UISliders捕捉到: 给我们的load (前言:这是我第一个关于Stack Overflow的音频相关问题,所以我尽量尽可能地这样写,欢迎编辑.)

我正在创建一个允许用户循环播放音乐的应用程序.目前,我们的原型允许这些“循环标记”(实现为UiSliders)每秒捕捉,指定循环的开始和结束.显然,当循环播放音乐时,秒钟是非常粗暴的方式来处理,所以我想使用节拍.

我不想做任何除了标记节拍以外的其他UiSliders捕捉到:

给我们的loadMusic方法一个音频文件.
>运行它通过库来检测节拍或它们之间的间隔(也许).
>将该值输入到滑块的setNumberOfTickMarks:方法中.
>利润!

不幸的是,我通过Google和SO进行的大部分结果都产生了更多高级的跳频检测库,如混音器所使用的那样.在我的情况下过度杀伤

这是CoreMedia,AVFoundation还是AudioToolBox可以处理的东西?如果没有,还有其他图书馆可以处理吗?我对苹果文档的研究只是产生了相关的结果…对于MIDI文件.但是苹果自己的软件有这样的功能,比如iMovie’s snap-to-beats functionality.

在这一点上,任何指导,代码或摘要都将非常有用.

编辑:做了更多的挖掘,似乎正确的术语,我正在寻找是发病检测.

解决方法 起始检测算法在从原始音乐信号到使用频域技术方面有许多风格.

如果你想要一个快速和容易的方法来确定节拍的位置:

将音乐信号切成小段(20-50ms的块)
>计算信号的平方和平均值:Sum(Xn ^ 2)/ N(其中N是每20-50ms的样本数)

如果你想要更复杂的技术:

http://bingweb.binghamton.edu/~ahess2/Onset_Detection_Nov302011.pdf

或为了硬核治疗:

http://www.elec.qmul.ac.uk/people/juan/Documents/Bello-TSAP-2005.pdf

总结

以上是内存溢出为你收集整理的可可 – 使用AVFoundation / CoreMedia /其他框架来检测节拍/ Onsets全部内容,希望文章能够帮你解决可可 – 使用AVFoundation / CoreMedia /其他框架来检测节拍/ Onsets所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1026622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存