Welcome to the home of SoX, the Swiss Army knife of sound processing programs.
SoX is a cross-platform (Windows, Linux, MacOS X, etc.) command line utility that can convert various formats of computer audio files in to other formats. It can also apply various effects to these sound files, and, as an added bonus, SoX can play and record audio files on most platforms.
The screen-shot to the right shows an example of SoX first being used to process some audio, then being used to play some audio files.
For the list of all file formats, device drivers, and effects supported in the latest release, click here.
To see the complete set of SoX documentation, click here.
An example SoX session
SoX 14.4.2 was released on February 22, 2015. Highlights for this maintenance release include:
For an extensive list of changes, see the ChangeLog at changelog.
Bugs and workarounds associated with recent releases can be found here.
SoX downloads for Source code, Win32 binaries in ZIP archive, Win32 Installer, and Mac OS X binaries can be found on Sourceforge's File Release System.
Some third-party pre-built (usually older) versions of SoX are available via the links page.
Using gnuplot with SoX
SoX is often used to convert an audio file from one sampling rate to another rate (e.g. from DAT to CD rates). SoX's resampling algorithm is highly configurable; there are some notes on selecting options for resampling. The resampler is also available separately as the SoX Resampler library (libsoxr).
If you're interested in the format of various audio files then you will be interested in the Audio File Format FAQ which I also maintain.
SorceForge.net Most of the SoX project's resources are provided by Sourceforge. There is a SoX project web site that can be of use when working with git and its mailing list.
There is a low volume mailing list set up that you can subscribe to or read online located at the SoX-users Mailing List web site.
If you have git installed on your system then you may obtain a snapshot of the latest source by performing the following command.
git clone git://git.code.sf.net/p/sox/code sox
The anonymous git account does not need a password.
To merge in future updates you may run the following command (from inside the sox directory that was created from your checkout):
If you make any changes to SoX that you would like to be included in future releases then you may use the following commands to commit the changes to your local repo and make a patch for submission.
git commit -a git format-patch -1
It is recommended to read git Documentation for further information and best practices.