Обнаружение дубликатов музыкальных файлов
-
03-07-2019 - |
Вопрос
У меня есть два каталога, содержащие около 20 ГБ музыкальных файлов (в основном mp3, некоторые ogg), и я хотел бы обнаружить все повторяющиеся песни.Есть два осложняющих фактора:
- Песня может иметь разные имена файлов в двух каталогах.
- Два файла, содержащие одну и ту же песню, могут иметь разные теги ID3 и, следовательно, иметь разные контрольные суммы.
Каков хороший подход к решению этой проблемы?
Решение
В прошлом я использовал этот способ, используя genpuids из Music IP. Программное обеспечение с закрытым исходным кодом создает аудио-отпечаток файла независимо от формата, id3, контрольной суммы и т. Д.
Дополнительную информацию можно найти здесь .
Это должно обеспечить наибольшее количество положительных повторяющихся совпадений и минимизировать ложные срабатывания. Он также может правильно пометить неправильные теги id3.
Другие советы
Вот что бы я сделал (или сделал раньше)...
- Загрузите все песни на iTunes (терпите меня) (обратите внимание, если вы можете использовать здесь iTunes, то остановите ...Я предполагаю, что ваш список обманщиков длинный и неуправляемый)
- Удалите все песни, отправив их в корзину, таким образом вы избавитесь от структуры каталогов.
- Очевидно, не «выбрасывайте мусор».Сохраните песни в папку на рабочем столе.
- Используйте программное обеспечение, такое как медиамонкей, устранение обманар или даже Айтюнс себя, чтобы идентифицировать дубликаты.Средство устранения дублей хорошо тем, что оно проверяет по различному количеству факторов: исполнителю, длине, размеру файла и тому подобному, и угадывает, что является обманом, а что нет)
- Перезагрузитесь в Itunes, на этот раз установите флажок «Автоматическая аранжировка песен», после чего ваш новый, безупречный список будет помещен в красивую аранжировку для каждого исполнителя.
...вуаля!(или если вы читаете digg:"...выгода!")
/мп
Если у вас есть библиотека, которая может анализировать файлы, вы можете запустить хэш для аудиоданных. Это не поможет вам, если песня была разорвана или была повторно сжата / перекодирована / и т. Д.
Точны ли мета-теги артиста и композиции ID3 / OGG-эквивалента? Если они есть, вы можете использовать их.
Изменить. Если это не так, возможно, их можно было бы сделать ... Если вы имеете дело только с целыми альбомами, есть несколько инструментов, которые будут получать все данные тегов в зависимости от количества дорожек и их длины. р>
Если вы имеете дело со смешанными альбомами и отдельными файлами, это усложняется.
Я уверен, что существуют более элегантные решения, но если аудиоданные эквивалентны, то удаление тегов ID3 и хеширование должно помочь.После хеширования вы можете вернуть теги ID3 обратно, если хотите.
Возможно, API API будет полезен. Он включает в себя вызов track.getInfo, который возвращает XML, включая длину трека, имя исполнителя, номер трека и т. Д. Вы можете сравнить треки и посмотреть, имеют ли они больше чем N полей, и если это так, предположить, что это один и тот же трек. р>
Я понятия не имею, будет ли у них все в порядке, если вы отправляете запросы API на 40 ГБ музыки.
Как насчет этого: найдите библиотеку для получения длины mp3, а также указатель на аудиоданные (похоже, есть пара библиотек, которые могут это сделать), выполните фильтр первого прохода на основе песни длины, и для песен, которые имеют соответствующие длины контрольной суммы их аудиоданных. Похоже на этот "> скрипт для поиска дубликатов файлов / изображений .
Некоторая адаптация ffTES отлично сработала для меня для очень похожей задачи.