使用 SoX 将 mp3 文件拆分为 TIME 秒

Split mp3 file to TIME sec each using SoX

我需要将 mp3 文件分成 TIME 秒的片段。我试过 mp3splt,但如果输出 少于 1 分钟 ,它对我不起作用。 是否可以做:

sox file_in.mp3 file_out.mp3 trim START LENGTH

当我不知道 mp3 文件时 LENGTH

你可以 运行 SoX 这样:

sox file_in.mp3 file_out.mp3 trim 0 15 : newfile : restart

它将创建一系列文件,每个文件包含 15 秒的音频块。 (显然,您可以指定 15 以外的值。)不需要知道总长度。

请注意,与 mp3splt 不同,SoX 将对音频进行解码和重新编码(参见 generation loss)。您应该确保至少使用 SoX 14.4.0,因为以前的版本存在音频在块之间丢失的错误。

sox 中有两个用例trim:

sox file_in.mp3 file_out.mp3 trim START LENGTH

sox file_in.mp3 file_out.mp3 trim START =END

在最后一个示例中,您需要知道 END 位置而不是 LENGTH