Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you trim the audio file's end using SoX?

Tags:

trim

audio

sox

Using Sox, how do I shorten an audio file by 5 seconds, trimming from the end?

For example, this is how to trim a file from the beginning:

    sox input output trim 5000 

This is how to add 5 seconds of silence to the end:

    sox input output pad 0 5000 
like image 619
get8p Avatar asked Mar 12 '12 12:03

get8p


People also ask

How do I trim the length of a WAV file?

Use your cursor to select parts of the waveform to change it. For example, select 10-seconds of audio, then go to Edit > Remove Special > Trim. All the audio that you don't have selected will be deleted.


1 Answers

The syntax is sox input output trim <start> <duration>

e.g. sox input.wav output.wav trim 0 00:35 will output the first 35 seconds into output.wav.

(you can know what the length is using sox input -n stat)

From the SoX documentation on the trim command:

Cuts portions out of the audio. Any number of positions may be given; audio is not sent to the output until the first position is reached. The effect then alternates between copying and discarding audio at each position. Using a value of 0 for the first position parameter allows copying from the beginning of the audio.

For example,

sox infile outfile trim 0 10 

will copy the first ten seconds, while

play infile trim 12:34 =15:00 -2:00 

and

play infile trim 12:34 2:26 -2:00 

will both play from 12 minutes 34 seconds into the audio up to 15 minutes into the audio (i.e. 2 minutes and 26 seconds long), then resume playing two minutes before the end of audio.

Per dpwe's comment, the position values are interpreted as being relative to the previous position, unless they start with = (in which case they are relative to the start of the file) or - (in which case they are relative to the end of the file).

So, trimming five seconds off the end would be sox input output trim 0 -5

like image 58
yonix Avatar answered Nov 07 '22 18:11

yonix