Как я могу разделить mp3 файл?

35

У меня есть большой mp3-файл, который получается после копирования полного CD. Я хотел бы разделить его на один файл для каждой песни. Будет здорово найти программное обеспечение, которое может автоматически разбивать файл, определяя начало и конец каждой песни.

Дополнительный фон:

Я попробовал mp3splt и дерзость. Первый не может автоматически определить песни, а дерзость, кажется, не в состоянии это сделать.

Я хотел бы записать песни на компакт-диск (в формате mp3), чтобы потом играть в моем автомобильном радиоприемнике. Он не будет поддерживать какие-либо модные вещи, у него даже нет разъема USB.

Хавьер Ривера
источник
Был ли изначально компакт-диск одним большим пятном файла, или он имеет отдельные дорожки, когда он находится в проигрывателе компакт-дисков?
djeikyb
см. magicode.me/mp3-cut
dovid
Еще одно замечание: использование .cueфайла для загрузки и воспроизведения каждого трека по отдельности - еще один вариант.
earthmeLon
Audacity может обнаружить песни, идентифицируя молчание между ними. Однако лучше потом разделить их с помощью mp3splt, чтобы они не декодировались + не перекодировались. Смотрите мой рабочий процесс как ответ ниже.
FairMiles

Ответы:

14

Вы можете разбить большой mp3 на мелкие фрагменты, используя функцию «split» или «split new» в Audacity, а затем разделить часть аудио, которую вы хотите микшировать, в другой файл для его экспорта.

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

введите описание изображения здесь

Вам не нужно разбивать аудио, чтобы экспортировать часть аудио в другой файл, вы можете просто выбрать аудио и выбрать «Экспорт выбора» в меню «Файл».

На следующем скриншоте я делаю, как я сказал словами выше.

введите описание изображения здесь

Если у вас еще есть компакт-диск, копирование аудио с файла для каждой песни может быть выполнено с помощью «Sound Juicer», которая позволит вам выбрать способ копирования медиа с компакт-диска. Таким образом, у вас будет mp3 файл для каждой песни. И задача свести все песни в большой файл будет легко решена Audacity, на тот случай, если вам нужно это сделать.

Sound Juicer можно установить через синаптик или зайдя на сайт по адресу: http://burtonini.com/blog/computers/sound-juicer.

Здесь вы найдете скриншот, чтобы вы смогли увидеть Sound Juicer в действии. (Извините, у меня сейчас нет диска для копирования, поэтому список воспроизведения пуст)

введите описание изображения здесь

Geppettvs D'Constanzo
источник
48

Audacity - ПЛОХО для этого - так как он перекодирует mp3 и качество ухудшается. Я использую ffmpeg для вырезания mp3 - я считаю, что он не выполняет перекодирование:

  • время начала, продолжительность:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile
    
  • время начала, время окончания:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -to 00:01:32 OutputFile
    

Можно также включить миллисекунды, например, с 00:00:00.000.

саман
источник
Пожалуйста, смотрите комментарии к реактивному ответу.
Хавьер Ривера
Можно утверждать, что при воспроизведении с автомобильной стереосистемы можно услышать единственный транскод с потерями, но это должно быть способом, независимо от использования.
Nit
2
К вашему сведению, эти аргументы ПОЧТИ будут работать с "avconv", если вы находитесь в дистрибутиве, который заменил ffmpeg на libav. Предостережение заключается в том, что вы должны поместить аргумент -ss перед аргументом -i. Также обратите внимание, что аргумент -t это длительность, а не время поиска.
ACK_stoverflow
@ Adobe мне нравится этот подход. Вы знаете, можете ли вы указать гранулярность в миллисекундах? Мне нужно отрубить первую часть нескольких mp3-файлов, которые начинаются с одной и той же нежелательной последовательности.
frakman1
@ frakman1 Вы хотите указать миллисекунды? Как это: ffmpeg -i a.ogg -ss 00:01:02.500 -t 00:01:03.250 -c copy x2.ogg( источник )
Adobe
32

Вы говорите, что пробовали mp3splt, но прочитали ли вы полную справочную страницу ?

Я спрашиваю, потому что -sрежим тишины может принимать параметры, помогающие определить тишину.

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

mp3splt -s -p th=-50,nt=10 album.mp3
  • th: пороговый уровень (дБ), который следует рассматривать как тишину
  • nt количество треков

Также есть -cрежим запросов к базе данных CDDB. Если это известный компакт-диск, вы можете получить список треков из онлайн. Это также будет правильно называть треки и (я думаю) будет даже устанавливать теги.

Это невероятно мощный инструмент и один из ваших лучших вариантов для сохранения качества ... Так что не списывайте его сразу.

Оли
источник
2
Нет. Правда в том, что я просто использовал графический интерфейс mp3split-gtk. Я посмотрю на них.
Хавьер Ривера
Неудача. Единственная опция, недоступная в графическом интерфейсе, это указать количество треков. Но он просто проигнорировал его и нашел то же количество треков, что и в GUI.
Хавьер Ривера
9

Вы можете попробовать что-то вроде:

ffmpeg -i /path/music.mp3 -t 00:10:00 -ss 00:20:00 -acodec copy /path/save.mp3

реактивный самолет
источник
Конечно, но мне нужно будет вручную найти время каждой песни. Будет быстрее сделать это с дерзостью, по крайней мере, я вижу волну.
Хавьер Ривера
Если вы хотите
написать
2

mp3splt работает хорошо. Насколько хорошо зависит от того, с чего вам следует начать и чего вы ожидаете от результатов. Больше входов = больше выходов. Если вы знаете количество песен, содержащихся в больших mp3-файлах, это поможет вам определить правильное количество выходных файлов. Вы ДОЛЖНЫ иметь разделы тишины между вашими песнями в большом mp3-файле. Ключ для mp3splt должен найти правильное значение для "th". Если «th» слишком мало, у вас может быть слишком много выходов, поэтому все ваши песни фрагментированы. Если оно слишком высокое, ваши песни не будут разделены, и вы можете иметь более 1 песни на разделение. Предположим, у вас есть большой файл и ничего больше: например, нет индекса для заголовков или времени.

Мой большой файл называется "artist.ogg". Вот команда, которую я использовал:

mp3splt -s -p th = -40 artist.ogg

Это привело к правильному разделению 34 песен, каждая из которых была названа поочередно как artist_silence_01.ogg -xx.ogg и т. Д.

Опять же, если у вас слишком много разделений, попробуйте "th = -48". Если слишком мало, попробуйте "th = -36".

Из этих выходных файлов вам теперь нужно будет переименовать их в названия песен, которые вы хотите, и добавить метки к свойствам файла. [Я не знаю макроса для этого, поэтому должен быть ручной процесс].

надеюсь это поможет.

обновить PS. Пока что mp3splt работает с файлами mp3 и ogg. У меня пока нет успеха для файлов m4a.

Роб Грун
источник
2

Я могу рекомендовать mp3DirectCut . Делает преобразование без потерь и работает нормально под Wine:

Скриншот

ejboy
источник
1

Следующий ответ о переполнении стека, вероятно, уместен:

https://stackoverflow.com/questions/36074224/how-to-split-video-or-audio-by-silent-parts

Резюмируя этот ответ, вы можете использовать ffmpeg для определения тихих областей:

ffmpeg -i "input.mov" -af silencedetect=noise=-30dB,d=0.5 -f null - 2> vol.txt

А затем разделите файлы по рецепту Adobe:

ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile

Это потребует небольшого разбора с вашей стороны

Att Righ
источник
0

Я получил качественные результаты (хотя и не полностью автоматический) с Audacity + mp3splt.

Если у вас нет файла .cueили .cddbфайла с ограничениями на песни (например, это не распознанный альбом), вы можете:

  1. Вручную пометьте дорожку в Audacity, как объяснено в руководстве , возможно, благодаря предыдущему автоопределению молчания (с помощью Analyze> Silence Finder…, см. Здесь ), чтобы сделать первое предположение о пресловутых перерывах
  2. Экспортируйте метки (с помощью меню «Файл»> «Экспортировать метки», см. Здесь ) в простой текстовый файл и
  3. Подайте файл .txt в mp3splt под опцией -A(как mp3splt -A labels.txt Album.mp3).

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

Просто используйте метки регионовне метки точек , см. Здесь ), чтобы отметить начало и конец каждой песни в Audacity.

FairMiles
источник