![]() |
|
![]() ![]() ![]() |
|
epsilon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.10.2006 Репутация: нет Всего: нет |
Вопросы такие:
Кто-то занимался подобным поиском? (Исходники, готовые модули) Есть ли готовые решения вообще? Ваши соображения по реализации. |
|||
|
||||
FiMa1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 23.9.2006 Репутация: нет Всего: 6 |
Как я себе это вижу в двух словах: ищем файлы (например *.mp3), строим "таблицу" размеров найденных файлов и запоминаем путь к каждому из них. Для каждого вновь найденного файла в "таблице" ищется потенциальный дубликат, который должен иметь тот размер, что и текущий файл. Если такой "дубликат" в таблице найден, то можно проверить эти два файла по содержимому (может быть можно ограничиться только частью файла при сравнении по содержимому, например, по заголовку). На основе такого сличения делается вывод об идентичности файлов. Это сообщение отредактировал(а) FiMa1 - 27.6.2007, 14:00 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
я пологаю что имелось в виду что файлы должны быть схожи по звучанию, а не по размерам).. ежели так то надо делать базу частотных и мощьностных характеристик звука в файлах и сравнение делать на этом уже (читать курс Нечеткие Множества , для сравнения - ибо чистого сравнения не получится)... можно использовать нейронные сети для сравнения...
смежные задачи - определение идентичности объектов вообще решаются нейронными сетями (в большинстве случаев, хотя не исключены и иные методики). А вот как получить эти самые объекты для сравнения (из наших mp3) - уже другая задача) Но тоже решаемая. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
epsilon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.10.2006 Репутация: нет Всего: нет |
2FiMa1
Фокусы с таблицами, путями и именами файлов это хорошо на этапе предварительного сравнения. Больше всего вопросов возникает когда нужно убедиться что в двух файлах одна и та же звуковая дорожка (по содержанию конечно). 2jonie Использовать для данной задачи нейросети нет особого желания, потому как это сильно скажется на скорости поиска. + к тому реализовать адекватную устойчивую нейросеть не так просто, а ее обучение так это тема для дисера. Объектами для сравнения в общем случае предполагалось использовать WAV(PCM) файлы(потоки), как общий знаменатель для любых форматов, будь то mp3, wma, ogg и т.п. Лично мне реализация видится в некой экспертной системе построенной на основе мат. анализа двух функций. Однако на данный момент я ни к чему конкретному не пришел. Возможно те люди которые дружат с высш. матом мне помогут. |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 3 Всего: 173 |
Простейшей мерой похожести двух звуковых дорожек является корреляционная функция. Я совершенно не специалист в обработке сигналов, но рискну предположить, что после некоторой обработки (ужатие динамического диапазона и т.п.) её будет достаточно чтобы выявить некоторые дубликаты. Другой вопрос, как организовать быстрый поиск: считать корреляционную функцию для каждой пары звуковых дорожек — затратное занятие.
Citeseer и Google Scholar, надеюсь, уже шерстили? По «sound duplicate search», «audio duplicate search» результатов предостаточно, например: Duplicate Detection and Audio Thumbnails with Audio Fingerprints. Добавлено через 1 минуту и 34 секунды P.S. Тему в Алгоритмы, однозначно. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
epsilon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.10.2006 Репутация: нет Всего: нет |
2Void
Да. То что надо. На счет быстрого поиска написано ниже в приведенной тобой же ссылке - по создаваемой базе паттернов(отпечатков). Кроме того комбинирование методов оценки поверхностного совпадения(путь, имя, CRC) и совпадения по содержанию приведут, надеюсь, к приемлемому времени поиска. PS. Интересно что методика в приведенном выше pdf-нике запатентована. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |