Print Version | Search Site

Welcome

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.


A SoX spectrogram

An example SoX session

Latest News

SoX 14.2.0 was released on November 9, 2008. Highlights include:
  • Processing chain:
    • now supports any number of input files
    • now allows multiple effects chains, multiple input pipes and, in some cases, multiple output files
    • initial support for Mac OSX audio IO
    • better support for large (2G/4G) files.
  • New effects:
    • (ISO 226) loudness control
    • RIAA vinyl EQ
    • pitch bending
  • Enhanced effects:
    • rate: minimum/intermediate/linear phase, custom bandwidth
    • dither: noise shaping
    • mcompand: now with Linkwitz-Riley crossover.
  • Various other small fixes/improvements.

The complete list of changes can be viewed here.

Any bugs and workarounds associated with the latest release can be found here.

Click here for a peek at work in progress towards the next release.

Download

SoX 14.2.0 downloads:

Source code and MS-Windows executables for older versions of SoX are available here.

Some third-party pre-built (usually older) versions of SoX are available via the links page.


Using gnuplot with SoX

Technical Information

   

   

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; graphs showing how its resampling filter impulse is controlled by various options are available here.

A comparison of resampling with SoX and various other tools can be found at http://src.infinitewave.ca.

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.

Support and Development

SorceForge.net Most of the SoX project's resources are provided by Soureforge. There is a SoX project web site that can be of use when working with CVS 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.

Development of SoX is done using CVS. It is possible to view the files checked in to CVS using a CVS web interface as well as find additional information on SourceForge's CVS webpage.

If you have CVS installed on your system then you may obtain a snapshot of the latest source by performing the following commands. The commands will log you in and check out a copy of the sox module and place it in the subdirectory it was run from.

 cvs -d :pserver:anonymous@sox.cvs.sourceforge.net:/cvsroot/sox login
 cvs -z3 -d :pserver:anonymous@sox.cvs.sourceforge.net:/cvsroot/sox co -P sox

The anonymous CVS account does not need a password. When prompted for a password by the cvs command, enter nothing and hit Enter.

To merge in future updates you may run the following command (from inside the sox directory that was created from your checkout):

 cvs update -P 

If you make any changes to SoX that you would like to be included in future releases then you may use the following command to make an easy to read diff.

 cvs diff -uw
Powered by PmWiki Last modified: November 16, 2008, at 11:45 AM