How to convert 16bit wav to raw audio

scotter picture scotter · Feb 21, 2012 · Viewed 25.2k times · Source

I'm trying to use sox to convert asterisk voicemails to raw audio. The encoding information of the original wav is PCM S16 LE, so I thought I would just be able to do sox msg0000.wav msg0001.raw but the raw file from that is garbled and, according to VLC, 4 minutes long, compared to a 6 second source file.

I'm not sure where I'm going wrong, anybody how to convert a wav to raw? Preferably using sox, but any commandline solution will do fine.

Answer

Anders Sjöqvist picture Anders Sjöqvist · Feb 21, 2012

Are you sure that your problem is with sox and not VLC? I've also had problems getting VLC to play raw audio. There are command-line options but I didn't quite get them to work.

Before looking for another tool, verify that sox is indeed the problem by trying something like

mplayer -rawaudio samplesize=2:channels=1:rate=8000 -demuxer rawaudio msg0001.raw

Also, sox can be given additional options:

sox msg0000.wav --bits 16 --encoding signed-integer --endian little msg0001.raw

But I suspect that these are the default settings, so they shouldn't be needed.