Я хочу создать что-то подобное Tunatic, или Midomi (испытайте их, если Вы не уверены, что они делают), и я задаюсь вопросом, какие алгоритмы я должен был бы использовать; идея, которую я имею о работах таких приложений, является чем-то вроде этого:
Я, хотя из сокращения качества / скорость передачи из-за шумов среды и кодирования различий.
Я нахожусь в правильной дорожке здесь? Кто-либо может предоставить мне какую-либо определенную документацию или примеры? Midori, кажется, даже распознает hum's
, это является довольно удивительно впечатляющим! Как они делают это?
Звуковые хеши существуют, или это что-то, что я просто составил? Если они делают, как я могу вычислить их? И что еще более важно, как я могу проверить если child-hash
находится в father-hash
?
Как я пошел бы о создании аналогичной системы с Python (возможно, встроенный модуль) или PHP?
Некоторые примеры (предпочтительно в Python или PHP) будут значительно цениться.Заранее спасибо!
Я работал на периферии прохладной структуры, которая реализована Несколько музыкальных информационных технологий поиска. Я вряд ли эксперт (редактировать: на самом деле я никуда рядом с экспертом, просто чтобы уточнить), но я могу сказать, что быстрый преобразование Фурье используется по всему месту с этим материалом. Анализ Фурье - Wacky, но его приложение довольно быстро. По сути, вы можете получить много информации об AUDIO, когда вы проанализировать его в частотном домене, а не временной домену. Это какой анализ Фурье дает вам.
Это может быть немного из темы от того, что вы хотите сделать. В любом случае, в проекте есть несколько прохладных инструментов, а также просмотр Sourcecode для самой основной библиотеки: http://marsyas.sness.net
Я делаю исследование в музыкальном получении информации (MIR). Семнальная бумага на музыке отпечатков пальцев - это тот, кто из Хайцмы и Калькера около 2002-03 годов. Google должен получить вас.
Я прочитал раннее (действительно рано; до 2000 года) белая бумага о методе Шазама. В этот момент они просто в основном обнаружили спектротерпоральные пики, а затем хешили пики. Я уверен, что процедура развивалась.
Оба эти методы устраняют сходство музыки на уровне сигнала, то есть устойчивая к искажениям окружающей среды. Я не думаю, что это хорошо работает для намотания к запросу (QBH). Тем не менее, это другая (еще связанная) проблема с различными (еще не связанными) решениями, поэтому вы можете найти решения в литературе. (Слишком много, чтобы назвать здесь.)
Материалы ISMIR свободно доступны в Интернете. Вы можете найти ценные вещи там: http://www.ismir.net/
Я согласен с использованием существующей библиотеки, такой как Marsyas. Зависит от того, что ты хочешь. Numpy / Scipy незанимается здесь, я думаю. Простые вещи можно написать в Python самостоятельно. HECK, если вам нужны такие вещи, как STST, MFCC, я могу написать вам код.
MFCC, извлеченный из музыки, очень полезен в нахождении сходства Timbrel между песнями .. Это чаще всего используется, чтобы найти подобные песни. Как указано в Darren, Marsyas - это инструмент, который можно использовать для извлечения MFCC и найти аналогичные песни, преобразуя MFCC в одно векторное представление.
, кроме MFCC, ритм также используется для поиска сходства песни .. Несколько документов, представленных в Mirex 2009
, которые дадут вам хороший обзор различных алгоритмов и функций, которые наиболее полезны при обнаружении сходства музыки.
Я прочитал бумагу о методе, в котором определенная музыкальная служба поиза информации (не упомянутые имена) не делает это - путем расчета короткого временного преобразования Фурье через образец аудио. Алгоритм затем выбирает «пики» в частотной области I.e. Временные позиции и частоты, которые особенно высокой амплитуды, и использует время и частоту этих пиков для генерации хеша. Оказывается, у хеша удивительно несколько столкновений между разными образцами, а также отстает от примерно 50% потери данных пика .....
Возможно, вы хотите что-то вроде ECL , который компилирует Common Lisp to C.
-121--3348480-Обычно корень находится на http ://servername/svn/repositoryname . Я думаю, что есть некоторые известные проблемы, когда у вас есть репозиторий в корне (то есть, когда ваш URL то, что вы описываете, и имя репо 'svn').
Изменить: Это означает, что нет уровня выше /svn/proj1/
в отношении Subversion. Также невозможно переместить (с сохранением истории) предметы с /svn/proj1/
на /svn/proj2/
. Я думаю, что вы слишком активно создавали репозитории, вызывая проблемы при попытке повторного использования предметов в одном репозитории в другом. См. обсуждение нескольких репозиториев по сравнению с одним и часто задаваемые вопросы о том, как объединить несколько репозиториев в один.
Если требуется повторно использовать часть репозитория proj1 в репозитории proj2, может потребоваться просмотреть внешние данные .
-121--2418376-Прошло некоторое время с тех пор, как я в последний раз занимался обработкой сигнала, но вместо понижающей дискретизации следует посмотреть на представления в частотной области (например, FFT или DCT). Затем можно создать хеш видов и найти песню базы данных с этой последовательностью в.
Хитрая часть делает этот поиск быстрым (возможно, некоторые документы по поиску генов могут представлять интерес). Я подозреваю, что iTunes также делает некоторое обнаружение инструментов, чтобы сузить поиск.
В настоящее время я разрабатывающую музыкальную поисковую систему с помощью ActionScript 3. Идея анализирует аккорды сначала и маркирует кадры (он ограничен файлами MP3 На данный момент) там, где частота изменяется значительно (мелодия меняется и игнорирующие шумы). После этого я делаю то же самое для ввода звука, и сопоставим результаты с перевернутыми файлами. Соответствующий определяет соответствующую песню.
Для метода Акселя, я думаю, вы не должны беспокоиться о запросе, будь то пение или просто намотаться, так как вы не реализуете программу распознавания речи. Но мне интересно ваш метод, который использует хеш-функции. Не могли бы вы объяснить это мне?