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

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

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

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 минутам на файл в вашем случае).

You could create a project folder containing the converted mp3 files and run the following bash script to have all .mp3 files split with the command:

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

As far as I know the files are not re-encoded, just split and re-wrapped into proper container.

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