Sox: Convert the .wav file with required properties in single command

commandconversionsox

I have an test.wav file. I need to use this file to process an application, with following properties

i) monochannel
ii) 16khz sample rate
iii) 16bit

Now, I'm using following commands to attain these properties.

sox disturbence.wav -r 16000 disturbence_16000.wav
sox disturbence_16000.wav -c 1 disturbence_1600_mono.wav
sox disturbence_1600_mono.wav -s -b 16 disturbence_1600_mono_16bit.wav

Here to get a single file 3 steps are involved and 2 temporary files are created. It is a time consuming process.

I thought of writing a script to do these process but I'm keeping this is a last option.

In single command, can I convert a .wav file to required format ?

Best Answer

sox disturbence.wav -r 16000 -c 1 -b 16 disturbence_16000_mono_16bit.wav

gives within one command

  • Sample rate of 16 kHz (-r 16000),
  • one channel (mono) (-c 1),
  • 16 bits bit depth (-b 16).
Related Question