Command line program for playing sections of audio

2020-06-23 02:25发布

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.

1条回答
看我几分像从前
2楼-- · 2020-06-23 02:47

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
查看更多
登录 后发表回答