Downsampling audio recordings

Working with large audio files can be quite unwieldy. Unfortunately, popular handheld digital recorders like the Zoom H4n or Roland R-09HR do not have the option of recording uncompressed WAV files at less than 44.1kHz, presumably since the companies are marketing to musicians/music fans. For speech analysis, 16kHz is generally sufficient since energy in the speech signal generally falls below 8kHz.

It is possible to downsample files in Praat using the command Convert > Resample... when a Sound object (not a LongSound object) is selected. However, I have sometimes had trouble with running out of memory using this method.

Another method is to use command line tools, namely, sox, a very handy cross-platform command-line utility for sound processing. Here is an example of how to downsample an audio file called sound.wav to 16kHz (that’s the rate 16k) and also to reduce to a 16 bit recording (that’s the -b 16), to an output file named sound-down.wav:

sox sound.wav -b 16 sound-down.wav rate 16k

Some more on sox’s resampling algorithm here.