blob: d50f332b7f8c1471b42a74f840fa612674d73f64 [file] [log] [blame]
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. See INSTALL for the list of optional
components and their licences.
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 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
The current 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 Grandstream ring-tone files
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 MP2/MP3 (with optional libmad, libtwolame and libmp3lame libraries)
o Opus files (read only; with optional Opus libraries)
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, floating point
o u-law, A-law, MS ADPCM, IMA (DMI) 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 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 firfit+: FFT convolution FIR filter using given freq. response (W.I.P.)
o highpass: High-pass filter: Single pole or RBJ biquad IIR
o hilbert: Hilbert transform filter (90 degrees phase shift)
o lowpass: Low-pass filter: single pole or RBJ biquad IIR
o sinc: Sinc-windowed low/high-pass/band-pass/reject FIR
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 echos
o flanger: Stereo flanger
o overdrive: Non-linear distortion
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; normalise/equalise/balance/headroom
o loudness: Gain control with ISO 226 loudness compensation
o mcompand: Multi-band compression/expansion/limiting
o norm: Normalise to 0dB (or other)
o vol: Adjust audio volume
o Editing 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 cross-faded tape splice
o trim: Cuts portions out of the audio
o vad: Voice activity detector
o Mixing effects
o channels: Auto mix or duplicate to change number of channels
o divide+: Divide sample values by those in the 1st channel (W.I.P.)
o remix: Produce arbitrarily mixed output channels
o swap: Swap pairs of channels
o Pitch/tempo effects
o bend: Bend pitch at given times without changing tempo
o pitch: Adjust pitch (= key) without changing tempo
o speed: Adjust pitch & tempo together
o stretch: Adjust tempo without changing pitch (simple alg.)
o tempo: Adjust tempo without changing pitch (WSOLA alg.)
o Mastering effects
o dither: Add dither noise to increase quantisation SNR
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 riaa: RIAA vinyl playback equalisation
o Analysis `effects'
o noiseprof: Produce a DFT profile of the audio (use with noisered)
o spectrogram: graph signal level vs. frequency & time (needs `libpng')
o stat: Enumerate audio peak & RMS levels, approx. freq., etc.
o stats: Multichannel aware `stat'
o Miscellaneous effects
o ladspa: Apply LADSPA plug-in effects e.g. CMT (Computer Music Toolkit)
o synth: Synthesise/modulate audio tones or noise signals
o newfile: Create a new output file when an effects chain ends.
o restart: Restart 1st effects chain when multiple chains exist.
o Low-level signal processing effects
o biquad: 2nd-order IIR filter using externally provided coefficients
o downsample: Reduce sample rate by discarding samples
o fir: FFT convolution FIR filter using externally provided coefficients
o upsample: Increase sample rate by zero stuffing
+ Experimental or incomplete effect; may change in future.
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