У меня есть несколько песен в моей музыкальной библиотеке, которые отображают неправильные значения длительности, и поэтому играют только частично в Clementine. В Banshee и некоторых других проигрывателях они показывают разные значения длительности и иногда воспроизводят полную песню.
Есть ли способ исправить это без необходимости «перекодировать» песню?
MP3 Diags могут исправить неправильные длительности (и другие ошибки). Это с открытым исходным кодом и в репозиториях. Это инструмент с графическим интерфейсом.
Установка
sudo apt-get install mp3diags mp3diags-doc
Другой вариант - MP3val , который можно использовать либо через командную строку, либо через графический интерфейс:
Установка
sudo apt-get install mp3val
Пример использования
mp3val damaged.mp3 -f -t
-f
: исправить ошибки, -t
: сохранить исходную метку времени
Помимо заголовков VBR, не соответствующих фактическому звуку (который вы бы использовали mp3val
для исправления, как упомянуто в другом ответе), еще одна причина, по которой это может быть вызвано, - файл MP3 с тегом ID3, который имеет неправильный значение для тега TLEN
. Это можно исправить с помощью инструмента mid3v2
из пакета mutagen
для удаления тега (по-видимому, его необязательно):
$ mid3v2 --delete-frames=TLEN filename.mp3
Музыкальный проигрыватель Quodlibet также имеет удобный плагин «Fix MP3 Duration», который вы можете можно использовать для этого.
(взято из FAQ по Quodlibet: http://quodlibet.readthedocs.org/en/latest/guide/faq.html )
Если вы не хотите устанавливать что-то новое, попробуйте с помощью ffmpeg :
ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3
mp3check отлично сработал для меня и с подстановочными знаками.
sudo apt-get install mp3check
mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers