У меня есть приблизительно 50x 1-часовых файлов flac (аудиокниги), каждый из которых мне нужно кодировать в (приблизительно) 10-минутные сегменты в удобной точке молчания (+ или - 30 секунд по обе стороны от 10 минут). Последний сегмент может быть короче 10 минут (для тех файлов flac, которые не точно час).
Благодарен за любые предложения командной строки для каждого flac, которые я затем могу поместить в скрипт bash. Благодаря.
Просто для того, чтобы вы знали: если у вас есть 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
Насколько я знаю, файлы не являются перекодируется, просто разбивается и упаковывается в соответствующий контейнер.