Существует ли инструмент, который может обнаружить (и, если возможно, исправить) глюки в файлах MP3? [закрыто]

31

Моя коллекция содержит несколько MP3-файлов, которые имеют некоторые глюки, такие как:

  • отображение неправильной длительности при загрузке
  • незначительные прыжки
  • внезапно заканчивается, несмотря на продолжительность претензий еще минуту
  • шум

Я ищу инструмент, который может обнаружить как можно больше таких глюков и исправить те, которые можно исправить (очевидно, например, шум не может быть просто устранен в большинстве случаев).

Тобиас Кинцлер
источник
Это похоже на проблемы с проигрывателем. Вы уверены, что они вызваны вашими файлами MP3?
digitxp
@digitxp внезапное окончание, вероятно, связано с отсутствием частей файла, но неправильно отображаемое время может быть вызвано VLC. Но все же это означает, что с файлом что-то не так, поскольку другие файлы показывают правильное время. Шум и скачки могут быть из-за плохого чтения CD, я оцифровывал свою коллекцию без двойных проверок: - /
Тобиас Кинцлер
хм, неправильная продолжительность может быть следствием VBR против CBR ... так что оставшиеся проблемы - это неполнота и ошибки чтения CD
Тобиас Кинцлер

Ответы:

35

Средство командной строки mp3val позволяет быстро сканировать и, при необходимости, исправлять структурные дефекты в mp3-файлах. Я пытаюсь запустить его практически для каждого файла в моей коллекции по принципу «не навредить». Он определяет удивительное количество якобы хороших файлов с дефектами от несущественных до серьезных.

mp3val особенно хорош в распознавании и исправлении недостатков заголовков, таких как отсутствие заголовков VBR в файле VBR (источник большинства проблем с неправильной продолжительностью и поиском). Но он также удалит мусор / поврежденные данные аудиокадра, бесполезную затею, которую некоторые проигрыватели могут обрабатывать менее элегантно, если они останутся в файле.

Можно даже сказать, что он запускается по всему каталогу mp3, исправляя только те файлы, с которыми у него возникают проблемы, сохраняя резервные копии (или, возможно, нет), сохраняя временные метки (необязательно) и записывая сеанс в текстовый файл (необязательно).

И это бесплатно и с открытым исходным кодом! (Ссылка на проект sourceforge.)

РЕДАКТИРОВАТЬ: Последнее, что я забыл упомянуть. «Но mp3val не обновлялся с 2009 года!», Слышу ты плачешь. Это очень верно ! Он отлично работает с 2009 года и не нуждается в обновлении. (В конце концов, формат MP3 не изменился за последние 2 года!)

FERD
источник
также +1 во второй раз для вас редактировать :-) хотя , кажется, некоторые действительные ошибки все еще открыт ...
Тобиас Kienzler
1
Да, кажется, у mp3val есть некоторые реальные проблемы в Windows 7 с некоторыми эзотерическими именами файлов. Это неудачно. (Первое правило современных вычислений: любая достаточно большая коллекция MP3 будет содержать файл с любой заданной формой эзотерического имени файла.) Он может использовать некоторый luv от программиста Windows, если кто-либо до этого захочет! [OffTopic: Было нереально заглянуть в mp3val svn и узнать, что самый последний патч пришел от меня - тем более, что я совершенно забыл об этом! ;-)]
FeRD
1
К сожалению, mp3val не смог исправить некоторые из моих файлов :(. Но MP3Diagsсмог исправить их (заголовок Xing на VBR-файлах, приводящий к неправильной продолжительности отображения).
scai
@Marecky Это очень странно. Я только что попробовал mp3valна Fedora 28, и он все еще работает нормально. Самая большая эзотерическая зависимость от библиотеки - либо, libm.so.6либо libstdc++.so.6, так что, скорее всего, несовместимая поломка ABI не вероятна. Но просто для проверки: в режиме по умолчанию mp3val он не будет касаться каких-либо файлов, он будет вносить изменения только в том случае, если он запускается с -fфлагом - и даже тогда будут изменяться только те файлы, в которых режим сканирования был зарегистрирован WARNING:или ERROR:будет изменен. Если он не обнаружит каких-либо исправляемых проблем, он оставит ваши файлы без изменений.
февраля
1
@FeRD - Вы правы, я сейчас не помню, какая это была программа (Audacious, Gnome MPV или Rhythmbox Music Player), но после копирования компакт-диска с последней я поместил новые файлы в список воспроизведения одной из этих программ и увидел неправильную отслеживать время - вот почему я подумал, что у mp3 есть неправильные индексы (или что-то, что есть внутри) и запускался на них mp3val- но файлы были правильными - поэтому mp3valникогда не отображал никаких предупреждений и не исправлял файлы. Я не знаю, почему игрок показал неправильное время трека, я удалю свой предыдущий комментарий.
Мареки
10

Я предположил, что вы уже попробовали первый вариант в Google ...? Также может пригодиться Perl-скрипт mp3checker .

Редактировать:

Что касается ремонта ваших треков, возможно, стоит взглянуть на MP3 Diags (ссылки на статью о лайфхакере).

Джон
источник
спасибо, checkmate - это хороший инструмент для выявления проблемных файлов (который, тем не менее, оставляет задачу исправления
ошибок
1
Недурно для MP3 Diags. У меня были проблемы с моим mp3-плеером, который не сообщал правильно продолжительность MP3 Diags нашел и исправил проблему.
Дэвид Л
4

mpck работает на Windows и GNU / Linux.

Домашняя страница: http://checkmate.gissen.nl/

Он обнаруживает плохие кадры и генерирует дополнительные отчеты.
Также есть интерфейс с графическим интерфейсом для Windows.

mpck 0.19 - checks a MP3 file for errors

Usage: mpck [OPTION]... [FILE]...

Verbosity:
   -v, --verbose        print some extra info
   -q, --quiet          print only Ok or Bad per file
   -B, --badonly        only report bad files
Other options:
   -R, --recursive      check directories recursively
   -e, --extention=EXT  only check files ending on .EXT
   -r                   short for -R -e mp3
   -m, --maxname=NUM    report bad for filenames which exceed NUM characters
   -n, --namecheck      check for strange characters in the filename
   -x, --xmloutput      output results in XML
   -h, --help           print this help, then exit
   -V, --version        print version information

Обновить:

Эта программа, кажется, полностью способна обрабатывать имена файлов utf-8, хотя я не пробовал японские, китайские или более экзотические глифы.

Gentoo (UTF-8)

$ mpck -r 2000\ -\ Завтрак\ на\ траве\ \(USA\)/  | grep SUM
SUMMARY: 2000 - Завтрак на траве (USA)//04-ja-sbrasyvaju-kozhu.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//07-tak-vot-kakaja-ty-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//09-evrej-i-goj.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//06-teplyj-dozhd'-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//01-vse-napominaet-o-tebe.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//05-rubaha.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//03-kalifornia-love.mp3

Cygwin с языковым стандартом UTF-8 (японский языковой стандарт в Windows)
Родной двоичный файл Windows не знает о Cygwin, поэтому мне пришлось преобразовать вывод.

$ mpck.exe -r "2000 - Завтрак на траве (USA)" | grep 'SUM' | 
       iconv -f CP932 -t UTF-8
SUMMARY: 2000 - Завтрак на траве (USA)\04-ja-sbrasyvaju-kozhu.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\07-tak-vot-kakaja-ty-demo.mp3       
SUMMARY: 2000 - Завтрак на траве (USA)\09-evrej-i-goj.mp3                  
SUMMARY: 2000 - Завтрак на траве (USA)\06-teplyj-dozhd'-demo.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\01-vse-napominaet-o-tebe.mp3        
SUMMARY: 2000 - Завтрак на траве (USA)\02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)\05-rubaha.mp3                     
SUMMARY: 2000 - Завтрак на траве (USA)\03-kalifornia-love.mp3            
Ярослав Рахматуллин
источник
Спасибо, хотя это уже упоминалось в этом ответе
Тобиас Кинцлер
mpck! = mp3check. Я ошибся?
Ярослав Рахматуллин
Нет, это ссылка с надписью "первый вариант в Google". Но, тем не менее, +1, поскольку вы немного уточнили его функции
Тобиас Кинцлер,
О верно. Я проигнорировал это. Я буду проверять mp3val, но пока mpck был в состоянии получить все, что мне нужно, от mp3-чекера.
Ярослав Рахматуллин
2
В Linux мне не кажется необходимым применять обходные пути для mp3val - AFAICT, упомянутая ошибка - проблема только для Windows. (Какие бы функции он не использовал для разбора командной строки или обработки имен файлов, он не должен быть безопасным для Unicode.) В Linux я просто повреждаю вручную (обнуляя случайные блоки с помощью ghex) mp3-файлы, переименованные следующим образом: Tësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3... mp3val not no проблема с правильной обработкой их всех.
13
0

Проще использовать ffmpeg для копирования файла из файла с ошибочной продолжительностью в его тег ID3. Это заставляет его писать правильную информацию.

ffmpeg -i "audio.mp3" -acodec copy "audio_fixed.mp3"

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

Мириам Инглиш
источник