SoX is a command-line utility for audio processing, e.g. convert file format, convert sample rate, remix, trim, pad, normalize, etc.

To install, for Mac:

brew install sox

To play or record audio from the command line:

rec test.wav

play test.wav

Resample to 22050 Hz:

sox in.wav -r 22050 out.wav

Normalize gain, e.g. to avoid clipping:

sox in.wav --norm out.wav

Down-mix all input channels to mono:

sox in.wav out.wav remix -

Convert to 16-bit signed integer:

sox in.wav -b 16 -e signed-integer out.wav

Trim the audio file starting at 1 min 15 sec and ending at 1 min 45 sec:

sox in.wav out.wav trim 1:15 =1:45
sox in.wav out.wav trim 1:15 0:30
sox in.wav out.wav trim 75 30

Pad 1 second of silence to the beginning and 2 seconds of silence to the end:

sox in.wav out.wav pad 1 2


ffmpeg is a framework to convert among different audio and video file formats. Use ffmpeg if you want to convert WAV to MP3.

To install on MacOS:

brew install ffmpeg

Convert a WAV file to MP3:

ffmpeg -i in.wav out.mp3 

Down-mix all input channels to mono with a bitrate of 128k:

ffmpeg -i in.wav -ac 1 -ab 128k out.mp3

To do the above command for all wav files in a directory:

for i in wav/*; do ffmpeg -y -i "$i" -ac 1 -ab 128k mp3/`basename "$i" .wav`.mp3; done