Пакетное разделение большого FLAC в mp3 с использованием sox или аналогичного

У меня есть приблизительно 50x 1-часовых файлов flac (аудиокниги), каждый из которых мне нужно кодировать в (приблизительно) 10-минутные сегменты в удобной точке молчания (+ или - 30 секунд по обе стороны от 10 минут). Последний сегмент может быть короче 10 минут (для тех файлов flac, которые не точно час).

Благодарен за любые предложения командной строки для каждого flac, которые я затем могу поместить в скрипт bash. Благодаря.

2
задан 26 September 2016 в 12:32

1 ответ

Просто для того, чтобы вы знали: если у вас есть cuesheets для этих файлов, вы можете разделить их по информации, предоставленной файлом cuesheet .


Я не знаю об инструментах GUI для этой работы, но я использовал mp3splt для такой задачи в прошлом. Вы можете преобразовать все эти файлы в MP3 или Vorbis (oggsplt), а затем передать их в mp3splt.

Вот пример:

$ mp3splt -rS 5 hoaxcast122_versailles.mp3 
mp3splt 2.4.2 (13/05/12) - using libmp3splt 0.7.2
    Matteo Trotta <mtrotta AT users.sourceforge.net>
    Alexandru Munteanu <io_fx AT yahoo.fr>
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
 Processing file 'hoaxcast122_versailles.mp3' ...
 info: file matches the plugin 'mp3 (libmad)'
 info: found Xing or Info header. Switching to frame mode... 
 info: MPEG 1 Layer 3 - 44100 Hz - Mono - FRAME MODE - Total time: 41m.01s
 info: starting 'split in equal tracks' mode
   File "hoaxcast122_versailles_00m_00s__08m_12s_39h.mp3" created           
   File "hoaxcast122_versailles_08m_12s_39h__16m_24s_78h.mp3" created       
   File "hoaxcast122_versailles_16m_24s_78h__24m_37s_17h.mp3" created       
   File "hoaxcast122_versailles_24m_37s_17h__32m_49s_56h.mp3" created       
   File "hoaxcast122_versailles_32m_49s_56h__41m_01s_94h.mp3" created       
 Processed 94247 frames - Sync errors: 0
 split in equal tracks ok

Параметр r обозначает обрезку с использованием обнаружения молчания, а S обозначает разделение на равные временные треки или лучше упомянутые части (в данном случае 5 приведет к 10 минутам на файл в вашем случае).

Вы можете создать папку проекта, содержащую преобразованные mp3-файлы, и запустить следующий скрипт bash, чтобы разделить все .mp3 файлы с помощью команды:

for file in $(ls *.mp3); do mp3splt -rS 5 $file; done

Насколько я знаю, файлы не являются перекодируется, просто разбивается и упаковывается в соответствующий контейнер.

0
ответ дан 26 September 2016 в 12:32

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

Похожие вопросы: