mp3 - потоковый формат, достаточно устойчивый к повреждениям. В данном случае это значит, что исходный сигнал при кодировании разбивается на равные по продолжительности участки, именуемые фреймами и кодируемые отдельно, а при декодировании конечный сигнал формируется из последовательности декодированных фреймов (
источник). Если несколько
фреймов в теле файла оказались поврежденными, он по-прежнему будет проигрываться, но в этом месте могут появиться щелчки, а некоторые mp3-плееры, возможно, откажутся проигрывать такие файлы (сам не проверял, утверждать не буду). Подобные артефакты звучания, естественно, неприятны.
Хочу представить пару небольших бесплатных программ для борьбы с этим явлением.
MP3 Shield предназначена для поиска поврежденных или неправильных (с ее точки зрения
) файлов mp3. Программа обладает простым интерфейсом и относительно высокой скоростью работы (~40Мб/сек).
Есть статистика, поиск обновлений, отправка некорректно определяемых файлов разработчикам, дополнительные функции для пользователей Kazaa. Единственным серьезным недостатком программы, на мой взгляд, является окошко сканирования, которое выскакивает/размещается поверх остальных окон, и подвинуть его нельзя.
Для исправления поврежденных файлов (и других операций с mp3) пригодится [url=
http://mpesch3.de1.cc/#mp3dc]
mp3DirectCut[/url]. Программа
освещалась в новостях софта, о ней должен знать каждый. Кроме собственно кромсания и склеивания mp3 файлов (в т.ч. VBR), программа предоставляет дополнительные инструменты редактирования mp3. Все операции совершаются без перекодирования и соответственно без потери качества.
В данном случае она пригодится для исправления ошибок, найденных MP3 Shield. Для этого просто откройте поврежденный файл и пересохраните (File->Save all):
Для надежности можете сохранить не поверх, а как новый файл и проверить, совпадает ли длительность. Она не должна отличаться более чем на несколько секунд. Кроме того, полезной для удаления щелчков является и уменьшение уровня громкости с помощью функции нормализации (Edit->Normalize...):