Для этого неплохо было б знать примерные возможности.. ибо своё виденье программы максимум я излагал в письме, а для реалистичной программы нужно знать, какие средства есть в активе. На мой взгляд, система должна обладать примерно такими возможностями и особенностями (в порядке от основных к опционным).Сообщение от bosom
0. Способность, имея доступ к mp3-файлу с записью, сопоставлять ему набор числовых параметров (для краткости - хеш), одинаковый для файлов, содержащих один и тот же аудиопоток (т.е. дающих при декодировании идентичные wav-файлы), и различный для файлов с разным аудиопотоком. /* На мой взгляд, это главное, что нужно сделать обязательно, т.к. это даёт возможность отобразить множество громоздких аудиофайлов в набор уникальных компактных хешей, которые удобно хранить и пересылать по сети. Можно также думать о способе распознавания частично повреждённых копий одной записи или даже схожих записей в разном битрейте.. но это всё уже "совсем другая история". */ Эту возможность хорошо бы иметь в виде отдельного маленького исполняемого модуля с интерфейсом командной строки для использования в различных частях системы (например в клиенсткой части и в серверной).
1. Иметь централизованную базу данных хешей, сопоставляющую всевозможные доступные хеши различных вариантов записей идентификаторам соответствующей записи из каталога. Желательна возможность экспорта текущей версии БД (в каком-либо текстовом виде или XML..) для автономного использования в клиенте.
2. Клиентский исполняемый модуль (бинарник в идеале), способный по набору mp3-файлов и локльной версии БД хешей и записей осуществить распознавание известных ему записей с возможным переименованием файлов и/или записью информации в ID3-теги.
3. Возможность загрузки с сервера на клиент апдейтов базы данных и отправки с клиента на сервер информации о ранее неизвестных записях (все атрибуты файла, включая имя, размер, дату, параметры кодирования и прочее плюс, возможно, пользовательский комментарий).
Вот, собственно, и всё.. по-моему, ничего особо сложного или трудоёмкого..
0 - подсчёт хешей файлов;
1 - БД, сопоставляющая хеши записям;
2 - клиент, обрабатывающий пользовательские файлы;
3 - средство обмена и синхронизации клиент-сервер.
Социальные закладки