17

有没有办法用 SoX 修剪文件的结尾,以毫秒为单位,我试过这个:

sox tracks\5_7.mp3 ntracks\05_7.mp3 trim 2 2.195

但是,它只是说End position is after expected end of audio即使文件实际上很长。

所以我试图让这首歌长 2.000 秒,而不是 2.195 秒,而且,我用 600 多个文件这样做,所以需要从命令行完成。

这是我的警告:

sox WARN mp3: MAD lost sync"(this always happens, means nothing) 
sox WARN trim: Last 1 position(s) not reached (audio shorter than expected)
sox WARN sox: 'tracks\01_1.mp3' balancing clipped 3 samples; decrease volume?

该音频文件用于“00:00:02.19”。

输入命令行的行是:

sox -v3 tracks\01_1.mp3 ntracks\01_1.mp3 trim 2 0.19 pause

这是我详细的开始:

D:\Stuff\Habbo trax maker\trax maker\mp3support>sox -V3 tracks\01_1.mp3 ntracks\
01_1.mp3 trim 2 0.19
sox:      SoX v14.4.0

Input File     : 'tracks\01_1.mp3'
Channels       : 1
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:02.19 = 96755 samples = 164.549 CDDA sectors
File Size      : 17.6k
Bit Rate       : 64.0k
Sample Encoding: MPEG audio (layer I, II or III)

sox INFO sox: Overwriting `ntracks\01_1.mp3'
sox INFO mp3: using MP3 encoding defaults

Output File    : 'ntracks\01_1.mp3'
Channels       : 1
Sample Rate    : 44100
Precision      : 24-bit
Sample Encoding: MPEG audio (layer I, II or III)
Comment        : 'Processed by SoX'

sox INFO sox: effects chain: input        44100Hz  1 channels
sox INFO sox: effects chain: trim         44100Hz  1 channels
sox INFO sox: effects chain: output       44100Hz  1 channels
sox WARN mp3: MAD lost sync
sox WARN trim: Last 1 position(s) not reached (audio shorter than expected).
4

3 回答 3

25

如果要以毫秒精度进行修剪,请指定它:

sox in.mp3 out.mp3 trim 2 0.195

以 2 秒的偏移量节省 195 毫秒in.mp3to out.mp3

如果您只想要文件的前两秒,请像这样使用修剪:

sox in.mp3 out.mp3 trim 0 2

如果你想跳过文件的前两秒使用 trim 像这样:

sox in.mp3 out.mp3 trim 2

如果要从文件末尾修剪 195 毫秒,请使用gerald 的答案。

手册摘录:

trim start [length|=end]
   The optional length parameter gives the length of audio to output after the 
   start sample and is thus used to trim off the end of the audio.
   Alternatively, an absolute end location can be given by preceding it with 
   an equals sign. Using a value of 0 for the start parameter will allow trimming
   off the end only.
于 2012-09-24T09:28:13.153 回答
10

您是否尝试过像这样使用反向命令:

sox tracks\5_7.mp3 ntracks\05_7.mp3 reverse trim 0.195 reverse

这应该丢弃文件的最后 0.195 毫秒(它对我有用)。

于 2013-01-12T19:41:29.307 回答
7

你应该像这样使用以毫秒为单位进行修剪

trim 26.26 =32.3245678 

这意味着它将修剪 26.26 秒,精确到 32.3245678 秒

这会给你准确的结果

使用此=选项,我们需要给出时间的结束而不是前面的持续时间=

我希望这能解决你的问题

于 2015-01-20T06:37:44.230 回答