Получение по "слепкам" MP3 ID3-тэгов

Алексей17 років у сервісі
Дані замовника будуть вам доступні після подання заявки
21.08.2011

Необходимо на Delphi (7 или XE) разработать технологию, с помощью которой можно по "слепкам" MP3-файлов пользователей получать ID3-тэги песен, хранящихся в базе данных.

Первоначально нужно собрать базу данных песен. Для этого сканируем каталог(и) с большим кол-ом MP3-файлов, где заданы корректные ID3-тэги. С песен получаем "слепки". Слепок должен быть разумной длины, например, 1000 байт. Его пишем в базу данных со сначениями из ID3 (название песни, исполнитель, альбом и т.п.). Сами файлы в базе хранить не надо.

После этого пользователь выбирает какой-то файл без ID3-тэгов, программа получает с него слепок и передает на сервер. Сервер за ограниченное время должен вернуть название песни.

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

Такая "фича" реализована в Winamp: если открыть файл без тэгов и нажать кнопку "Auto-Tag", то за считанные секунды они будут загружены из интернета.