Аудиоанализатор для поиска песен - PullRequest
1 голос
/ 20 августа 2009

Есть ли в любом случае, чтобы проанализировать звуковой шаг программно. Например, я знаю, что большинство игроков показывают график или гистограмму, и если высота песен высока в момент времени t, планка поднимается в момент времени t ... что-то вроде этого. Есть ли какая-либо утилита / инструмент / API для определения высоты звука песен, чтобы мы интерполировали ее на полосу, которая идет вверх и вниз.

Спасибо за любую помощь

Ответы [ 4 ]

5 голосов
/ 20 августа 2009

Наивный, но надежный: преобразуйте сегмент скромной длины в Фурье пробел и найдите пики . Повторите по мере необходимости.

Скорость может быть проблемой, поэтому выберите длину сегмента как степень 2, чтобы вы могли использовать Быстрое преобразование Фурье , которое, ну, в общем, fast .

Множество связанных вещей уже на SO. Попробуйте: https://stackoverflow.com/search?q=Fourier+transform

2 голосов
/ 20 августа 2009

Ну, к сожалению, я не очень разбираюсь в аудио с iPhone, но могу указать вам пару хороших ресурсов.

Core Audio, вероятно, станет большой вещью в том, что вы хотите сделать: htp: //developer.apple.com/iphone/library/documentation/MusicAudio/Conceptual/CoreAudioOverview/Introduction/Introduction.html

Кроме того, Audio Toolbox может оказать некоторую помощь: htp: //developer.apple.com/iphone/library/navigation/Frameworks/Media/AudioToolbox/index.html

Если у вас есть аккаунт разработчика, на форумах есть множество людей, которые могут вам помочь: htps: //devforums.apple.com/community/iphone

Вам придется добавить 't' в часть http этих URL, поскольку я не могу опубликовать более одной гиперссылки (извините!).

1 голос
/ 21 августа 2009

Чтобы найти текущий тон песни, вам нужно узнать о преобразовании Фурье в дискретное время. Чтобы найти темп, вам нужна автокорреляция.

0 голосов
/ 20 августа 2009

Я думаю, что вы можете говорить о графическом эквалайзере, который отображает амплитуду различных частотных диапазонов в определенный момент времени в звуковом сигнале.Обычно он оснащен элементами управления для изменения амплитуд между заданными частотными диапазонами.Вот пример .Это то, о чем вы думаете?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...