Продвинутые аудиоплееры умеют многое; помимо воспроизведения контента они организуют коллекцию музыки, ведут рейтинги популярности треков у пользователя и даже позволяют автоматически скачивать из интернета информацию об исполнителе, а также тексты песен. Обычно для этого используется некая локальная БД, построенная на основе метаданных звуковых файлов. А как быть, если соответствующие теги не заполнены? Можно отредактировать треки в полуавтоматическом режиме с помощью специальных программ (к примеру, EasyTAG), но гораздо интересней иметь средство, способное полностью автоматизировать процесс.

Подобные сервисы уже существуют, однако все они коммерческие. Компания EchoNest, совместно с Musicbrainz и 7digital пытаются создать бесплатную альтернативу этим ресурсам. Главным компонентом свободной музыкальной базы Echo Nest станет представленная в конце прошлой недели платформа распознавания композиций – Echoprint.

Разработчики заявляют, что программе достаточно просканировать маленький фрагмент звукового файла (продолжительностью не более 20 секунд), записанный с помощью микрофона мобильного устройства или вырезанный из другого файла, чтобы узнать произведение. Для идентификации используется база сигнатур, построенная компанией 7digital на основе нескольких миллионов аудиозаписей. Клиентская часть платформы (генератор кодов) очищает фрагмент композиции от шумов (разработчики заявляют, что он работает корректно даже с сильно зашумленными записями), создает и упаковывает сигнатуру и передает ее на сервер по протоколу HTTP. Серверное ПО находит произведение в базе данных и пересылает метаданные клиенту.

Обрабатывается фрагмент в 250 раз быстрее его реальной продолжительности, процесс занимает десятые доли секунды. Забавно, но пока доступна только реализация генератора кодов для iOS. Кроме того, разработчики опубликовали исходный текст серверной части платформы (один выделенный сервер может обрабатывать до 60 запросов в секунду). Исходные тексты доступны на условиях лицензии MIT, а для базы сигнатур создана собственная Echoprint Database License Agreement. Она позволяет свободное использование данных всеми желающими, но все расширения должны возвращаться в EchoNest. Таким образом разработчики хотят собрать всеобъемлющую базу музыкальных произведений.

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