Print Version | Search Site

Welcome to the home of SoX, the Swiss Army knife of sound processing programs. SoX is a cross-platform (Windows, Linux, Solaris, 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 many major platforms.

General Information

SoX is a general purpose sound converter/player/recorder that supports the following formats:

  • RAW sound data in various data styles
  • RAW textual sound data
  • Amiga 8svx files
  • Apple/SGI AIFF files
  • SUN .au files
    • PCM, U-law, A-law, G7xx ADPCM files
    • mutant DEC .au files
    • NeXT .snd files
  • AVR files
  • CD-R data (music CD format)
  • CVS and VMS files (continous variable slope)
  • GSM raw data (with optional library)
  • Macintosh HCOM files
  • Amiga MAUD files
  • MP3 files (with optional external library)
  • IRCAM SoundFile files
  • NIST SPHERE files
  • Turtle beach SampleVision files
  • Soundtool (DOS) files
  • Yamaha TX-16W sampler files
  • Sound Blaster .VOC files
  • Ogg Vorbis files (with optional external library)
  • FLAC files (with optional external library)
  • Dialogic/OKI ADPCM .VOX files
  • Microsoft .WAV files
    • PCM, U-law, A-law, MS ADPCM, IMA ADPCM, GSM, RIFX (big endian)
  • Psion (PDA) Record.app files and A-law .WVE files
  • Maxis XA Audio files
    • EA ADPCM (read support only)
  • Record and Play audio on various Unix platforms.
  • null file type that reads and writes from/to nothing.

The following effects can be applied to sound data:

  • Channel averaging, duplication, and removal
  • Band-pass filter
  • Band-reject filter
  • Base tone control
  • Compress and Expand (compand) the dynamic range of samples
  • Chorus effect
  • DCShift audio
  • Deemphases filter
  • Move soundstage to front of listener.
  • Add an echo or sequence of echos
  • Fade in or out
  • Apply a flanger effect
  • Apply a high-pass filter
  • Apply a low-pass filter
  • Apply an equalizer effect
  • Add dithering/masking noise to a signal
  • Multi-band Compander
  • Pad with silence
  • Pan sound between channels
  • Apply a phaser effect
  • Change the pitch of a sound file without affecting its speed.
  • Repeat audio data
  • Change sampling rates using several different algorithms.
  • Apply a reverb effect
  • Reverse sound samples (to search for Satanic messages :)
  • Detect periods of silence and start and stop processing based on it
  • Change the speed of samples being played (without affecting pitch)
  • Display general stats on sound samples
  • Stretch/shorten the duration of a sound file.
  • Swap stereo channels
  • Create sounds with a simple synthesizer
  • Treble tone control
  • Trim audio data from beginning and end of file.
  • Apply a tremolo (a.k.a vibrato) effect
  • Adjust volume of samples.
  • Noise elimination using frequency profiling

Latest News

SoX 14.1.0 was released on July 29, 2008.

Highlights include:

  • New WavPack format.
  • New htk format.
  • New .f4 & .f8 raw file extensions.
  • New `splice' effect; splice together audio sections.
  • New `remix' effect; mixes any number of channels.
  • New `norm' (normalise) effect.
  • New `delay' effect; delay one or more channels.
  • New `contrast' enhancement effect.
  • New `rate' high quality resampling effect.
  • New `spectrogram' effect; creates a PNG (if built with PNG lib).
  • New `gain' alias for the vol effect.
  • New option --help-format shows info about supported format(s).
  • New --combine=mix-power option to mix combine using 1/sqrt(n) scaling instead of 1/n.
  • New --input-buffer option to specify (only) input buffer size.
  • New `soxi' utility to extract/display file header fields.
  • New VU meter.
  • Can now write .amb (.wav variant) files.
  • Can now read 2,3(2.6),4 bit ADPCM .voc files.
  • Can now read some MP3 ID3 tags.
  • Fix rec shortcut should apply bit depth (8-bit, 16-bit, etc.) to input handler.
  • Fix endian selection (-B, -L, -x) in some circumstances.
  • Various other small fixes/improvements.

The complete list of changes can be viewed here.

The next release of SoX will be 14.1.1 -- a bug-fix release in the 14.1.x series. A snapshot of the list of changes so far is available here.

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 has several resampling algorithms which trade off quality versus speed. 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.

Release Information

SoX has been tested under Linux, Solaris, and Windows XP and I have received success reports for various other platforms such as Irix and OS/2.

Download the latest source code (last updated July 29, 2008): sox-14.1.0.tar.gz

Other files available (will slowly update to 14.1.0 versions):

Older versions are available from the SourceForge download page.

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

Related Sites

Below are some links related to Sound Processing.

Powered by PmWiki Last modified: August 23, 2008, at 12:50 PM