Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Command line program for playing sections of audio specified in milliseconds

Would someone kindly recommend a command line utility that can play any section of an audio file specified in milliseconds e.g.

player -start-time=0.1234 end-time=5.6789 audio.wav

None of the audio players that I've come across seem to have this functionality. vlc supports start and end times but in seconds only, while Audacity does not appear to have much in the way of command line options.

like image 997
Olumide Avatar asked Aug 25 '12 14:08

Olumide


1 Answers

sox

You can use sox play with the trim effect:

play audio.wav trim START =END

Which in your case would become:

play audio.wav trim 0.1234 =5.6789

Note that the end can also be specified as a length:

play audio.wav trim 0.1234 2

Which starts playing at 0.1234 and plays 2 seconds of the file.

Also note that the offsets can be specified as number of samples by appending an s to the number.

mplayer

mplayer also supports this:

mplayer -ss START -endpos END audio.wav

ffplay from ffmpeg

ffplay uses similar input parameters but doesn't support absolute end times, so some minor arithmetic is needed:

ffplay -ss START -t $(( END - START )) audio.wav
like image 156
Thor Avatar answered Sep 30 '22 08:09

Thor