ref: 9343c9427158a36841cbece5baff21bd26505c7d
dir: /README/
SoX: Sound eXchange ------------------- SoX (Sound eXchange) is the Swiss Army knife of sound processing tools: it translates sound files between many different file formats, and can apply many sound effects and transforms, as well as doing basic analysis and providing input to more capable analysis and plotting tools. SoX is distributed under the GNU GPL and GNU LGPL. To be precise: the sox program is distributed under the GPL, while the library libst, in which most of SoX's functionality resides, is dual-licensed. Note that some optional components of libst are GPL only: if you use these, you must use libst under the GPL. Send bug fixes, enhancements and feature requests to sox-devel@lists.sourceforge.net, or post them to the relevant tracker at http://sourceforge.net/projects/sox/. This release understands: 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 CD-R (music CD format) o CVS and VMS files (continuous variable slope) o GSM files o Macintosh HCOM files o Amiga MAUD files o MP3 files (with optional external library) o IRCAM SoundFile files o NIST SPHERE files o Turtle beach SampleVision files o Soundtool (DOS) files o Yamaha TX-16W sampler files o Sound Blaster .VOC files o Ogg Vorbis files (with optional external library) o FLAC files (with optional external library) 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 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 some audio devices under UNIX o The "null" pseudo-file that reads and writes from/to nowhere The sound effects include: o Channel averaging, duplication, and removal (general mixer) o Band-pass filters o Band-reject filter o Bass tone control o Compress and Expand (compand) the dynamic range of a sample o Chorus effect o DCShift audio - useful to get the best volume adjustments o De-emphasis filter o Move sound stage of CD audio to in front of you (for headphone use) o Add an echo o Add a sequence of echos o Fade in and out o Apply a flanger effect o Apply a high-pass filter o Apply a low-pass filter o Apply an equalizer effect o Add dithering/masking noise to a signal o Multi-band compander o Pad with silence o Pan sound between channels o Apply a phaser effect o Change the pitch of a sound file without affecting its speed o Repeat audio data o Change sampling rates using several different algorithms. A 'resample' and 'polyphase' effect use high-grade signal rate changes using real signal theory! o Apply a reverb effect o Reverse the sound samples (to search for Satanic messages ;-) o Detect periods of silence and start and stop processing based on it o Change the speed of samples being played (like speeding up the motor on a tape recorder) o Display general stats on a sound sample o Stretch/shorten the duration of a sound file (without affecting pitch) o Swap stereo channels o Create sounds with a simple synthesizer o Treble tone control o Trim audio data from beginning and end of file o Apply a tremolo (a.k.a. vibrato) effect o Volume adjustment o Noise elimination using frequency profiling o Resample using libsamplerate (aka Secret Rabbit code, optional external library) Unless you're using a pre-compiled binary version, you will need to compile SoX as described in the INSTALL file. SoX is distributed with man pages, and for those on systems without man, the files sox.txt and soxexam.txt contain plain text versions of the two most important pages: they describe how SoX deals with sound files, the command line options available to convert a sound file to another format, and how to apply sound effects. SoX has an auto-detect feature that attempts to figure out the nature of a sound file. It does this by looking for 'magic values' in the header of the audio file. If it is unable to detect the format of the sound file then the user must use command-line options to inform SoX. We hope to make SoX a common base of sound processing tools for computer multimedia work, similar to the PBM toolkit for image manipulation. The majority of SoX features and source code are contributed by you the user. Thank you very much for making SoX a success! If you're interested in helping with SoX, read on... SoX includes skeleton format files to assist you in supporting new formats, sound effect loops, and special-purpose programs. The full skeleton format, skel.c, helps you write a driver for a new format which has data structures. skeleff.c is a starting point for writing a sound effect loop. sox.c is a good starting point for new programs. (Someone finally did this and told me what was wrong...) In handlers.c, note that many formats set up the header and then use the raw driver for reading and writing. There are many new features wanted for SoX, listed on the feature request tracker at http://sf.net/projects/sox/. Users are encouraged to implement them!