使用 sox 或类似工具将大型 FLAC 批量分割为 mp3

使用 sox 或类似工具将大型 FLAC 批量分割为 mp3

我有大约 50 个 1 小时长的 flac 文件(有声读物),我需要将每个文件编码为(大约)10 分钟长的片段,并在方便的静音点(10 分钟的正负 30 秒)进行编码。最后一个片段可以短于 10 分钟(对于那些不是整整一个小时的 flac 文件)。

非常感谢大家对每个 flac 的命令行的建议,我可以将其放入 bash 脚本中。谢谢。

答案1

只是想让你知道:如果你有这些文件的提示表,你可以根据提示表提供的信息进行拆分文件。


我不知道这个任务的 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

据我所知,这些文件没有被重新编码,只是被分割并重新包装到适当的容器中。

相关内容