Каков наилучший способ объединить mp3 файлы?

У меня есть много-много mp3-файлов, которые я хотел бы объединить в один файл. Я использовал метод командной строки

copy /b 1.mp3+2.mp3 3.mp3

но это - боль, когда их много, и их названия противоречивы. Время, кажется, тоже не подходит.

12 ответов

Решение

Как отметил Томас Оуэнс, простая конкатенация файлов приведет к разбросу нескольких заголовков ID3 ​​по всему полученному объединенному файлу, поэтому информация о времени / битрейте будет в корне неверной.

Вам нужно будет использовать инструмент, который может объединить аудио данные для вас.

Для этого идеально подойдет mp3wrap - он предназначен для объединения файлов MP3 без необходимости декодировать + перекодировать данные (что приведет к потере качества звука), а также будет интеллектуально обрабатывать теги ID3.

Полученный файл также можно разделить на его составные части с помощью инструмента mp3splt - mp3wrap добавляет информацию в комментарий IDv3, чтобы разрешить это.

Я знаю, что это старый вопрос, но у меня есть лучший ответ для вас. Ответ Дэвида верен: в результате объединения файлов теги ID3 будут разбросаны внутри (хотя это обычно не влияет на воспроизведение, поэтому вы можете сделать "copy /b" или в UNIX "cat a.mp3 b.mp3 > комбинированный.mp3"). в крайнем случае).

Тем не менее, mp3wrap не совсем подходящий инструмент для объединения нескольких MP3 в один "чистый" файл. Вместо того, чтобы использовать ID3, он фактически вставляет свой собственный формат данных в кадры MP3 ("обертка"), что вызывает проблемы с воспроизведением, особенно на iTunes и iPod. Хотя файл будет воспроизводиться нормально, если вы просто дадите им запускаться от начала до конца (поскольку проигрыватели пропустят это произвольно не в формате MPEG), длительность файла и битрейт будут сообщаться неверно, что прерывает поиск. Кроме того, mp3wrap уничтожит все ваши метаданные ID3, включая обложку, и не сможет обновить заголовок VBR с правильной длиной файла.

mp3cat сам по себе создаст хороший объединенный файл данных (лучше, чем mp3wrap), но он также удаляет теги ID3 и не может обновить заголовок VBR с правильной длиной присоединяемого файла.

Вот хорошее объяснение этих проблем и метод (фактически два) для объединения файлов MP3 и получения "чистого" конечного результата с сохранением исходных метаданных - это командная строка, поэтому работает на Mac/Linux/BSD и т. Д. В нем используются:

  • mp3cat объединяет фреймы данных MPEG только в непрерывный файл, затем
  • id3cp для копирования всех метаданных в объединенный файл и, наконец,
  • VBRFix для обновления заголовка VBR.

Для инструмента с графическим интерфейсом Windows посмотрите Merge MP3 - он позаботится обо всем. (VBRFix также поставляется в форме графического интерфейса, но он не выполняет присоединение.)

Используйте ffmpeg или аналогичный инструмент для преобразования всех ваших MP3-файлов в согласованный формат, например

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3  
ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

Затем во время выполнения объедините ваши файлы:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

Наконец, запустите их через инструмент MP3Val, чтобы исправить любые ошибки потока без принудительного полного перекодирования:

mp3val output.mp3 -f -nb

Проблема времени связана с заголовками ID3 файлов MP3, что не учитывается вашим методом при копировании всего файла.

У вас есть язык, который вы хотите использовать, или это не имеет значения? Это будет влиять на то, какие библиотеки доступны, которые поддерживают операции, которые вы хотите.

Что я действительно хотел, так это графический интерфейс, чтобы переупорядочить их и вывести в виде одного файла.

Производитель списков воспроизведения делает именно это, декодируя и перекодируя их в комбинированный MP3. Он предназначен для создания смешанных лент или простых подкастов, но вы можете найти его полезным.

(Раскрытие: я написал программное обеспечение, и мне выгодно, если вы купите Pro Edition. Lite версия - это бесплатная версия с несколькими ограничениями).

MP3-файлы имеют заголовки, которые вы должны уважать.

Вы можете использовать библиотеку, такую ​​как Open Source Audio Library Project, и написать инструмент вокруг нее. Или вы можете использовать инструмент, который понимает mp3-файлы, такие как Audacity.

Если вы хотите что-то бесплатное с простым пользовательским интерфейсом, который делает полностью чистый mp3, я рекомендую MP3 Joiner.

Особенности:

  • Удаляет данные ID3 (как ID3v1, так и ID3v2.x) и не добавляет свои собственные (в отличие от mp3wrap)
  • Объединение без потерь (не декодирует и не перекодирует.mp3s). Нет кодеков требуется.
  • Простой пользовательский интерфейс (см. Ниже)
  • Низкое использование памяти (использует потоки)
  • Очень быстро (по сравнению с mp3wrap)
  • Я написал это:) - так что вы можете запросить функции, и я добавлю их.

Приложение MP3 Joiner

Ссылки:

Как говорит Дэвид, mp3wrap - это путь. Однако я обнаружил, что он не исправляет заголовок длины звука, поэтому iTunes отказалась воспроизводить весь файл, даже если все данные были там. (Я объединил три 7-минутных файла, но он видел только первые 7 минут.)

Я выкопал этот пост в блоге, который объясняет, как это исправить, а также как скопировать теги ID3 из исходных файлов (сам по себе, mp3wrap удаляет ваши теги ID3). Или просто скопировать теги (используя id3cp из id3lib), выполните:

id3cp original.mp3 new.mp3

Я бы использовал Winamp, чтобы сделать это. Создайте список воспроизведения файлов, которые вы хотите объединить в один, выберите плагин вывода Disk Writer, выберите имя файла, и все готово. Файл, который вы получите, будет правильным файлом MP3, вы можете установить битрейт и т. Д.

Я не слышал о mp3wrap раньше. Выглядит отлично. Я предполагаю, что кто-то где-то тоже превратил это в графический интерфейс. Но, просто чтобы ответить на оригинальный пост, я написал графический интерфейс, который использует метод COPY /b. Итак, под покровом, ничего нового под солнцем, но программа предназначена для того, чтобы сделать процесс менее болезненным, если у вас есть много файлов для слияния... И вы не хотите перекодировать И каждый набор файлов для слияния используются одинаковые битрейты. Если у вас это есть (и вы используете Windows), проверьте Mp3Merge по адресу: http://www.leighweb.com/david/mp3merge и посмотрите, ищите ли вы это.

Вместо использования командной строки, чтобы сделать

копия / б 1.mp3+2.mp3 3.mp3

вместо этого вы можете использовать "Переименовать", чтобы переименовать все фрагменты MP3 в серию имен, которые расположены по порядку на основе некоторого счетчика. Тогда вы можете просто использовать тот же формат командной строки, но немного изменить его на:

copy / b *.mp3 output_name.mp3

Это предполагает, что вы скопировали все эти фрагменты MP3 одновременно, и у них одинаковые настройки звука. Отлично работал для меня, когда я конвертировал аудио книгу, которая была у меня в.aa, в один.mp3. Мне пришлось записать все файлы.aa на 9 CD, затем скопировать все 9 CD, а затем у меня осталось около 90 mp3. На самом деле боль в А55.

Лично я бы использовал что-то вроде mplayer с передачей звука, хотя, например, опция -oac copy

Другие вопросы по тегам