Использование AVFoundation / CoreMedia / Other Frameworks для обнаружения ударов / наступлений

( Предисловие: Это мой первый вопрос, связанный со звуком, о переполнении стека, поэтому я постараюсь сформулировать его как можно точнее. Изменения приветствуются.)

Я Я создаю приложение, которое позволит пользователям зацикливать музыку. В настоящий момент наши прототипы позволяют этим «маркерам цикла» (реализованным как UISliders) привязываться каждую секунду, указывая начало и конец цикла. Очевидно, что при зацикливании музыки секунды - очень грубый способ справиться с этим, поэтому я хотел бы вместо этого использовать биты.

Я не хочу ничего делать, кроме как отмечать биты для UISlider'ов, к которым они будут привязаны:

  • Подайте нашему методу loadMusic аудиофайл.
  • Запустите его через библиотеку, чтобы определить удары или интервалы между ними (возможно).
  • Подайте это значение в метод setNumberOfTickMarks: ползунка.
  • Прибыль!

К сожалению, большинство результатов, с которыми я столкнулся через Google и SO, привели к появлению гораздо более продвинутых библиотек обнаружения биений, подобных тем, которые используют ремиксеры. В моем случае это перебор.

Может ли это CoreMedia, AVFoundation или AudioToolbox? Если нет, то есть ли другие библиотеки, которые могут с этим справиться? Мое исследование документации Apple дало соответствующие результаты ... только для файлов MIDI.Но в собственном программном обеспечении Apple есть такие функции, как iMovie, функция мгновенной синхронизации .

Здесь были бы чрезвычайно полезны любые инструкции, коды или отрывки.

РЕДАКТИРОВАТЬ: После того, как я немного покопался, мне кажется, что правильная терминология для того, что я ищу, - это обнаружение начала .

12
задан Bryan Veloso 20 February 2012 в 06:03
поделиться