197 lines
7.7 KiB
Plaintext
197 lines
7.7 KiB
Plaintext
|
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
|