Verizon SongID — как это запрограммировано?

Для тех, кто не знаком с программой Verizon SongID, это бесплатное приложение, которое можно загрузить через сеть Verizon VCast. Он слушает песню в течение 10 секунд в любой момент во время песни, а затем отправляет эти данные какому-то всезнающему алгоритмическому зверю, который пережевывает их и возвращает вам все теги ID3 (исполнитель, альбом, песня и т. д.).

Первые две части и последняя часть просты, но что происходит во время обработки после отправки записанного звука?

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

Все, что я нахожу в Интернете о том, как это работает, является чем-то общим, как то, что я набрал выше.

Из audiotag.info

Эта услуга основана на сложном алгоритме распознавания аудио, сочетающем в себе передовую технологию распознавания аудио и большую базу данных песен. Когда вы загружаете аудиофайл, он анализируется звуковым движком. В ходе анализа его звуковой «отпечаток» извлекается и идентифицируется путем сравнения его с музыкальной базой данных. По завершении этого процесса распознавания на экране отображается информация о песнях с вероятностью их совпадения.


person CheeseConQueso    schedule 21.05.2010    source источник


Ответы (1)


Все эти сервисы работают, беря «отпечаток пальца» из семплированных аудиоданных на стороне клиента, отправляя его на сервер и сравнивая его с базой данных отпечатков пальцев.

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

person Stu Mackellar    schedule 21.05.2010
comment
это то, что я искал - что вы искали и где вы это искали? отличный материал - person CheeseConQueso; 21.05.2010
comment
Я читал ее в прошлом году. Меня это интересует, так как я работаю с подобной технологией. - person Stu Mackellar; 21.05.2010
comment
@Stu - (после быстрого прочтения) нет конкретного упоминания о том, в какой среде это работает ... если у вас есть какие-либо мысли, добавьте к своему ответу, что, по вашему мнению, будет лучшей средой для обработки этих спецификаций. - person CheeseConQueso; 21.05.2010
comment
И клиентский, и серверный компоненты почти наверняка должны быть написаны на C/C++ для повышения скорости. ОС не имеет значения. Посетите fftw.org, чтобы быстро реализовать БПФ с открытым исходным кодом. Помните, что эти алгоритмы защищены несколькими патентами. - person Stu Mackellar; 21.05.2010
comment
Кроме того, похоже, что отпечаток пальца зависит от времени и частоты - оба из них искажаются при изменении расстояний / местоположений / блокировок выходного и входного источника (допплер / фазировка) - похоже, что это не хороший «отпечаток пальца». - person CheeseConQueso; 21.05.2010
comment
Я думаю › 50 миллионов пользователей Shazam, вероятно, не согласились бы :-) shazam.com /music/web/pages/about.html - person Stu Mackellar; 21.05.2010