Пакетное разделение больших файлов 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.