Read Me
SoX: Sound eXchange
-------------------
SoX (Sound eXchange) is the Swiss Army knife of sound processing tools: it
can convert sound files between many different file formats & audio devices,
and can apply many sound effects & transformations, as well as doing basic
analysis and providing input to more capable analysis and plotting tools.
SoX is licensed under the GNU GPL and GNU LGPL. To be precise, the `sox'
and `soxi' programs are distributed under the GPL, while the library
`libsox' (in which most of SoX's functionality resides) is dual-licensed.
Note that some optional components of libsox are GPL only: if you use these,
you must use libsox under the GPL.
If this distribution is of source code (as opposed to pre-built binaries),
then you will need to compile and install SoX as described in the `INSTALL'
file.
Changes between this release and previous releases of SoX can be found in
the `ChangeLog' file; a summary of the file formats and effects supported in
this release can be found below. Detailed documentation for using SoX can
be found in the distributed `man' pages:
o sox(1)
o soxi(1)
o soxformat(7)
o soxeffect(7)
o libsox(3)
or in plain text or PDF files for those systems without man.
The majority of SoX features and fixes are contributed by SoX users - thank
you very much for making SoX a success! There are several new features
wanted for SoX, listed on the feature request tracker at the SoX project
home-page:
http://sourceforge.net/projects/sox
users are encouraged to implement them!
Please submit bug reports, new feature requests, and patches to the relevant
tracker at the above address, or by email:
mailto:sox-devel@lists.sourceforge.net
Also accessible via the project home-page is the SoX users' discussion
mailing list which you can join to discuss all matters SoX with other SoX
users; the mail address for this list is:
mailto:sox-users@lists.sourceforge.net
This release handles the following audio file formats:
o Raw files in various binary formats
o Raw textual data
o Amiga 8svx files
o Apple/SGI AIFF files
o SUN .au files
o PCM, u-law, A-law
o G7xx ADPCM files (read only)
o mutant DEC .au files
o NeXT .snd files
o AVR files
o CDDA (Compact Disc Digital Audio format)
o CVS and VMS files (continuous variable slope)
o GSM files
o HTK files
o LPC-10 files
o Macintosh HCOM files
o Amiga MAUD files
o AMR-WB & AMR-NB (with optional libamrwb & libamrnb libraries)
o MP3 (with optional libmad and libmp3lame libraries)
o MP4, AAC, AC3, WAVPACK, AMR-NB files (with optional ffmpeg
library)
o AVI, WMV, Ogg Theora, MPEG video files (with optional ffmpeg
library)
o Ogg Vorbis files (with optional Ogg Vorbis libraries)
o FLAC files (with optional libFLAC)
o IRCAM SoundFile files
o NIST SPHERE files
o Turtle beach SampleVision files
o Sounder & Soundtool (DOS) files
o Yamaha TX-16W sampler files
o SoundBlaster .VOC files
o Dialogic/OKI ADPCM files (.VOX)
o Microsoft .WAV files
o PCM, u-law, A-law
o MS ADPCM, IMA ADPCM
o GSM
o RIFX (big endian)
o WavPack files (with optional libwavpack library)
o Psion (palmtop) A-law WVE files and Record voice notes
o Maxis XA Audio files
o EA ADPCM (read support only, for now)
o Pseudo-file formats that allow direct playing/recording
from most audio devices
o The "null" pseudo-file that reads and writes from/to nowhere
The audio effects/tools included in this release are as follows:
o Tone/filter effects
o allpass RBJ all-pass biquad IIR filter
o bandpass RBJ band-pass biquad IIR filter
o bandreject RBJ band-reject biquad IIR filter
o band SPKit resonator band-pass IIR filter
o bass Tone control: RBJ shelving biquad IIR filter
o equalizer RBJ peaking equalisation biquad IIR filter
o filter JOS low/high/band pass FIR filter with many taps
o highpass High-pass filter: Single pole or RBJ biquad IIR
o lowpass Low-pass filter: single pole or RBJ biquad IIR
o treble Tone control: RBJ shelving biquad IIR filter
o Production effects
o chorus Make a single instrument sound like many
o delay Delay one or more channels
o echo Add an echo
o echos Add a sequence of echoes
o flanger Stereo flanger
o phaser Phase shifter
o repeat Loop the audio a number of times
o reverb Add reverberation
o reverse Reverse the audio (to search for Satanic messages ;-)
o tremolo Sinusoidal volume modulation
o Volume/level effects
o compand Signal level compression/expansion/limiting
o contrast Phase contrast volume enhancement
o dcshift Apply or remove DC offset
o fade Apply a fade-in and/or fade-out to the audio
o gain Apply gain or attenuation
o mcompand Multi-band compression/expansion/limiting
o norm Normalise the audio to 0dB or to a specified value
o vol Adjust audio volume
o Editting effects
o pad Pad (usually) the ends of the audio with silence
o silence Remove portions of silence from the audio
o splice Perform the equivalent of a crossfaded tape splice
o trim Trim the ends of the audio
o Mixing effects
o mixer Mix up to 4 channels in certain ways
o pan Fade from one channel to another
o remix Produce arbirarily mixed output channels
o swap Swap stereo channels
o Key/tempo effects
o key Adjust key (= pitch) without changing tempo
o speed Adjust key & tempo together
o tempo Adjust tempo without changing key
o Mastering effects
o dither Add dither noise to increase SNR of <= 16-bit audio
o rate Change audio sampling rate
o Specialised filters/mixers
o deemph ISO 908 CD de-emphasis (shelving) IIR filter
o earwax Process CD audio to best effect for headphone use
o noisered Filter out noise from the audio
o oops Out Of Phase Stereo (or `Karaoke') effect
o Analysis `effects'
o noiseprof Produce a DFT profile of the audio (use with noisered)
o spectrogram Produce a graph of signal level vs. frequency & time
(with optional libpng library)
o stat Enumerate audio peak & rms levels, approx. freq., etc.
o Miscellaneous effects
o ladspa Apply LADSPA (Linux Audio Developer's Simple Plugin API)
effects such as cmt (Computer Music Toolkit)
o synth Synthesise/modulate audio tones or noise signals
In this release, multiple audio files can be combined (and then further
processed with effects) using any one of the following combiner methods:
o concatenate
o mix
o merge E.g. two mono files to one stereo file
o sequence For playing multiple audio files/streams