shithub: sox

ref: 3f8f349336a18a96ba7ff67c50de0dd1eafbbd52
dir: /README/

View raw version
			  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