shithub: sox

Download patch

ref: 8abc793d95d141a162b56730d2061c49ca0515b8
parent: 631a9484ffda7cc636b4096041bd0bc4005cb929
author: cbagwell <cbagwell>
date: Thu Aug 24 22:58:21 EDT 2000

Converting updated man pages into text.

--- a/TODO
+++ b/TODO
@@ -9,19 +9,11 @@
 
   o Add support for mixing multiple inputs from command line.
 
-  o Endian checks are probably invalid on 64-bit machines.  Need to use
-    something a more constant size the "int".  Probably should make it
-    at least a util function/macro that can be overriden at compile time.
+  o Endian checks are probably invalid on 64-bit machines.
 
   o Enhance sox for better interactive support.  This includes updating
     effect parameters in real time and ablity to start/stop/scan
     file handlers in real time.
-
-  o More handlers!  Everyone who adds sound hardware to a computer has 
-    the urge to come up with their own file format.
-
-  o More effects!  I don't know DSP at all.  A Pitch Shifter is high
-    on the list.  Spectrum analyser, etc, using FFTW lib.
 
   o Loop support for all formats that know about it.  WAV has
     some support for loops ("cue-points") but no support for
--- a/sox.txt
+++ b/sox.txt
@@ -9,55 +9,55 @@
 
 SYNOPSIS
        sox infile outfile
-       sox infile outfile [ effect [ effect options ... ] ]
-       sox infile -e effect [ effect options ... ]
-       sox [ general options  ] [ format options  ] infile [ for-
-       mat options  ] outfile [ effect [ effect options ... ] ]
 
-       General options: [ -e ] [ -h ] [ -p ] [ -v volume ] [ -V ]
+       sox [ general options ] [ format options ] infile
+	   -e effect [ effect options ]
 
-       Format	options:   [   -t  filetype  ]	[  -r  rate  ]	[
-       -s/-u/-U/-A/-a/-i/-g ] [ -b/-w/-l/-f/-d/-D ] [ -c channels
-       ] [ -x ]
+       sox [ general options ] [ format options ] infile
+	   [ format options ] outfile
+	   [ effect [ effect options ] ... ]
 
+       General options:
+	   [ -h ] [ -p ] [ -v volume ] [ -V ]
+
+       Format options:
+	   [ -t filetype ] [ -r rate ] [ -s/-u/-U/-A/-a/-i/-g ]
+	   [ -b/-w/-l/-f/-d/-D ]
+	   [ -c channels ] [ -x ] [ -e ]
+
        Effects:
-	    avg [ -l | -r ]
-	    band [ -n ] center [ width ]
-	    bandpass frequency bandwidth
-	    bandreject frequency bandwidth
-	    check
-	    chorus  gain-in  gain  out	delay  decay  speed depth
-		 -s | -t [ delay decay speed depth -s | -t ]
-	    compand attack1,decay1[,attack2,decay2...]
-		    in-dB1,out-dB1[,in-dB2,out-dB2...]
-		    [gain] [initial-volume]
-	    copy
-	    cut
-	    deemph
-	    echo gain-in gain-out delay decay [ delay decay  ...]
-	    echos gain-in gain-out delay decay [ delay decay ...]
-	    filter [ low ]-[ high ] [ window-len [ beta ]]
-	    flanger gain-in gain-out delay decay speed -s | -t
-	    highp center
-	    highpass frequency
-	    lowp center
-	    lowpass frequency
-	    map
-	    mask
-	    pan direction
-	    phaser gain-in gain-out delay decay speed -s | -t
-	    pick
-	    pitch shift [ width interpole fade ]
-	    polyphase [ -w < nut / ham > ]
-		      [	 -width <  long	 / short  / # > ]
-		      [ -cutoff #  ]
-	    rate
-	    resample [ -qs | -q | -ql ] [ rolloff [ beta ] ]
-	    reverb gain-out reverb-time delay [ delay ... ]
-	    reverse
-	    speed factor
-	    split
-	    stat [ -s n ] [-rms ] [ -v ] [ -d ]
+	   avg [ -l | -r ]
+	   band [ -n ] center [ width ]
+	   bandpass frequency bandwidth
+	   bandreject frequency bandwidth
+	   chorus gain-in gain out delay decay speed depth
+		  -s | -t [ delay decay speed depth -s | -t ]
+	   compand attack1,decay1[,attack2,decay2...]
+		   in-dB1,out-dB1[,in-dB2,out-dB2...]
+		   [ gain ] [ initial-volume ]
+	   copy
+	   cut
+	   deemph
+	   echo gain-in gain-out delay decay [ delay decay ...]
+	   echos  gain-in gain-out delay decay [ delay decay ...]
+	   filter [ low ]-[ high ] [ window-len [ beta ]]
+	   flanger gain-in gain-out delay decay speed < -s | -t >
+	   highp center
+	   highpass frequency
+	   lowp center
+	   lowpass frequency
+	   map
+	   mask
+	   pan direction
+	   phaser gain-in gain-out delay decay speed < -s | -t >
+	   pick
+	   pitch shift [ width interpole fade ]
+	   polyphase [ -w < nut / ham > ]
+		     [	-width < long / short / # > ]
+		     [ -cutoff # ]
+	   rate
+	   resample [ -qs | -q | -ql ] [ rolloff [ beta ] ]
+	   reverb gain-out reverb-time delay [ delay ... ]
 
 
 
@@ -70,16 +70,21 @@
 SoX(1)							   SoX(1)
 
 
-	    stretch [ factor [ window fade shift fading ]
-	    swap [ 1 2 | 1 2 3 4 ]
-	    vibro speed [ depth ]
-	    vol gain [ type ]
+	   reverse
+	   speed factor
+	   split
+	   stat [ -s n ] [ -rms ] [ -v ] [ -d ]
+	   stretch [ factor [ window fade shift fading ]
+	   swap [ 1 2 | 1 2 3 4 ]
+	   vibro speed [ depth ]
+	   vol gain [ type ]
 
 DESCRIPTION
-       SoX is a command line program that can convert most  popu-
-       lar  audio files to most other popular audio file formats.
-       It can optionally apply a sound effect to the file  during
-       this translation.
+       SoX  is a command line program that can convert most popu-
+       lar audio files to most other popular audio file	 formats.
+       It  can	optionally  change the audio sample data type and
+       apply one or more sound effects to the  file  during  this
+       translation.
 
        There  are  two	types of audio files formats that SoX can
        work with.  The first are  self-describing  file	 formats.
@@ -97,10 +102,10 @@
        rate	 The sample rate is in samples per  second.   For
 		 example, CD sample rates are at 44100.
 
-       data type What format the data is stored in.  Most popular
-		 are 8-bit or 16-bit words.
+       data size The precision the data is stored in.  Most popu-
+		 lar are 8-bit bytes or 16-bit words.
 
-       data format
+       data encoding
 		 What encoding the data type uses.  Examples  are
 		 u-law, ADPCM, or signed linear data.
 
@@ -114,19 +119,14 @@
 OPTIONS
        The option syntax is a little grotty, but in essence:
 
-	    sox file.au file.voc
+	    sox file.au file.wav
 
        translates  a  sound  file  in SUN Sparc .AU format into a
-       SoundBlaster .VOC file, while
+       Microsoft .WAV file, while
 
-	    sox -v 0.5 file.au -r 12000 file.voc rate
 
-       does the same  format  translation  but	also  lowers  the
-       amplitude  by  1/2 and changes the sampling rate from 8000
-       hertz to 12000 hertz via the rate sound effect loop.
 
 
-
 			  July 24, 2000				2
 
 
@@ -136,48 +136,84 @@
 SoX(1)							   SoX(1)
 
 
+	    sox -v 0.5 file.au -r 12000 file.wav mask
+
+       does the same  format  translation  but	also  lowers  the
+       amplitude  by  1/2,  changes  the  sampling  rate to 12000
+       hertz, and applies the mask  sound  effect  to  the  audio
+       data.
+
        Format options:
 
-       Format options effect the audio samples that they  immedi-
-       ately  precede.	 If they are placed before the input file
-       name then they effect the input data.  If they are  placed
+       Format  options effect the audio samples that they immedi-
+       ately preceed.  If they are placed before the  input  file
+       name  then they effect the input data.  If they are placed
        before the output file name then they will effect the out-
        put data.  By taking advantage of this, you can override a
-       input  file's  corrupted	 header or produce an output file
-       that is totally different style then the input file.
+       input file's corrupted header or produce	 an  output  file
+       that  is	 totally different style then the input file.  It
+       is also how sox is informed about the format of raw  input
+       data.:w
 
        -t filetype
-		 gives the type of the sound sample file.
+		 gives the type of the sound sample file.  Useful
+		 when file extension is not standard or for spec-
+		 ifying the .auto file type.
 
-       -r rate	 Give sample rate in Hertz of file.  To cause the
-		 output file to have a different sample rate than
-		 the input file, include  this	option	with  the
-		 appropriate  rate  value  along  with the output
-		 options.  If the input	 and  output  files  have
-		 different rates then a sample rate change effect
-		 must be ran.  If a sample rate	 changing  effect
-		 is not specified then a default one will be used
-		 with its default parameters.
+       -r rate	 Gives	the sample rate in Hertz of the file.  To
+		 cause the output file to have a different sample
+		 rate than the input file, include this option as
+		 a part of the output options.
+		 If the input and  output  files  have	different
+		 rates	then  a sample rate change effect must be
+		 ran.  If a sample rate changing  effect  is  not
+		 specified  then a default one will internally be
+		 ran by sox using its default parameters.
 
        -s/-u/-U/-A/-a/-i/-g
-		 The sample data format	 is  signed  linear  (2's
+		 The sample data encoding is signed  linear  (2's
 		 complement),  unsigned	 linear, U-law (logarith-
 		 mic), A-law (logarithmic), ADPCM, IMA_ADPCM,  or
-		 GSM.	U-law and A-law are the U.S. and interna-
-		 tional standards for logarithmic telephone sound
-		 compression.  ADPCM is form of sound compression
-		 that has a good compromise  between  good  sound
-		 quality   and	 fast	encoding/decoding   time.
-		 IMA_ADPCM is also a form of  adpcm  compression,
-		 slightly  simpler  and	 slightly  lower fidelity
-		 than Microsoft's flavor of ADPCM.  IMA_ADPCM  is
-		 also  called  DVI_ADPCM.  GSM is a standard used
-		 for  telephone	 sound	compression  in	 European
-		 countries  and its gaining popularity because of
-		 its quality.
+		 GSM.
+		 U-law	(actually shorthand for mu-law) and A-law
+		 are the U.S.  and  international  standards  for
+		 logarithmic  telephone	 sound compression.  When
+		 uncompressed it has  roughly  the  precision  of
+		 12-byte PCM audio.
+		 ADPCM	is  form  of sound compression that has a
+		 good compromise between good sound  quality  and
+		 fast  encoding/decoding  time.	  It  is used for
+		 telephone sound compression and places were full
+		 fidelity is not as important.	When uncompressed
+		 it has	 roughly  the  precision  of  16-bit  PCM
+		 audio.	  Popular version of ADPCM include G.726,
+		 MS ADPCM, and IMA ADPCM.  The -a flag	has  dif-
+		 ferent	 meanings in different file handlers.  In
+		 .wav files it represents MS ADPCM files, in  all
 
+
+
+			  July 24, 2000				3
+
+
+
+
+
+SoX(1)							   SoX(1)
+
+
+		 others	 it  means  G.726  ADPCM.  IMA ADPCM is a
+		 specific form	of  adpcm  compression,	 slightly
+		 simpler   and	 slightly   lower  fidelity  than
+		 Microsoft's flavor of ADPCM.  IMA ADPCM is  also
+		 called DVI ADPCM.
+		 GSM  is a standard used for telephone sound com-
+		 pression in European countries and  its  gaining
+		 popularity  because  of its quality.  It usually
+		 is CPU intensive to work with GSM audio data.
+
        -b/-w/-l/-f/-d/-D
-		 The sample data type is in bytes, 16-bit  words,
+		 The sample data size is in bytes, 16-bit  words,
 		 32-bit	 longwords,  32-bit floats, 64-bit double
 		 floats, or 80-bit IEEE floats.	 Floats and  dou-
 		 ble floats are in native machine format.
@@ -190,54 +226,58 @@
 		 format	 floating-point	 data  is  not	portable.
 		 IEEE floats are a fixed, portable format.
 
-
-
-
-			  July 24, 2000				3
-
-
-
-
-
-SoX(1)							   SoX(1)
-
-
        -c channels
 		 The  number  of sound channels in the data file.
 		 This may be 1, 2, or 4;  for  mono,  stereo,  or
 		 quad  sound  data.   To cause the output file to
 		 have a different number  of  channels	than  the
-		 input	file, include this option with the appro-
-		 priate value with the output file  options.   If
-		 the  input and output file have a different num-
-		 ber of channels then  the  avg	 effect	 must  be
-		 used.	If the avg effect is not specified on the
-		 command line it will  be  invoked  with  default
-		 parameters.
+		 input	file, include this option with the output
+		 file options.	If the input and output file have
+		 a  different  number  of  channels  then the avg
+		 effect must be used.  If the avg effect  is  not
+		 specified on the command line it will be invoked
+		 internally with default parameters.
 
-       General options:
-
-       -e	 When  used  after  the	 input	file  (so that it
-		 applies to the output file)  it  allows  you  to
-		 avoid	giving	an  output  filename and will not
+       -e	 When used after the input filename (so	 that  it
+		 applies  to  the  output  file) it allows you to
+		 avoid giving an output	 filename  and	will  not
 		 produce an output file.  It will apply any spec-
 		 ified effects to the input file.  This is mainly
 		 useful with the stat effect but can be used with
 		 others.
 
+       General options:
+
        -h	 Print version number and usage information.
 
-       -p	 Run  in  preview  mode	 and run fast.	This will
+       -p	 Run in preview mode and  run  fast.   This  will
 		 somewhat speed up sox when the output format has
-		 a  different  number of channels and a different
-		 rate than the input file.  The	 order	that  the
-		 effects  are run in will be arranged for maximum
-		 speed and not quality.
+		 a different number of channels and  a	different
+		 rate  than  the  input	 file.	 Currently,  this
+		 defaults to using the rate effect instead of the
+		 resample for sample rate changes.
 
+
+
+			  July 24, 2000				4
+
+
+
+
+
+SoX(1)							   SoX(1)
+
+
        -v volume Change amplitude (floating point); less than 1.0
-		 decreases, greater than 1.0 increases.	 Note: we
-		 perceive volume logarithmically,  not	linearly.
-		 Note: see the stat effect.
+		 decreases, greater than 1.0 increases.	 May  use
+		 a  negative  number  to  invert the phase of the
+		 audio data.  It is interesting to note	 that  we
+		 percieve volume logarithmically but this adjusts
+		 the amplitude linearly.
+		 Note: see the stat  effect  for  information  on
+		 finding  the maximum value that can be used with
+		 this option without causing  audio  data  be  be
+		 clipped.
 
        -V	 Print	a description of processing phases.  Use-
 		 ful for figuring out exactly how sox is mangling
@@ -256,18 +296,6 @@
        header  doesn't	seem  right,  the  program  exits with an
        appropriate message.
 
-
-
-
-			  July 24, 2000				4
-
-
-
-
-
-SoX(1)							   SoX(1)
-
-
        The following file formats are supported:
 
 
@@ -279,9 +307,9 @@
 		 chunk.	  It  does  not	 support  multiple  sound
 		 chunks, or the 8SVX musical instrument	 descrip-
 		 tion format.  AIFF files are multimedia archives
-		 and and can  have  multiple  audio  and  picture
-		 chunks.   You	may  need  a separate archiver to
-		 work with them.
+		 and can have multiple audio and picture  chunks.
+		 You  may  need	 a separate archiver to work with
+		 them.
 
        .au	 SUN Microsystems AU files.  There are apparently
 		 many  types  of  .au files; DEC has invented its
@@ -294,6 +322,18 @@
 		 (see below).
 
        .avr	 Audio Visual Research
+
+
+
+			  July 24, 2000				5
+
+
+
+
+
+SoX(1)							   SoX(1)
+
+
 		 The AVR format is produced by a number	 of  com-
 		 mercial packages on the Mac.
 
@@ -315,25 +355,15 @@
 		 the  sample  data.   There  is	 one  line at the
 		 beginning that contains the sample rate.  Subse-
 		 quent	lines contain two numeric data items: the
-		 time since the beginning of the sample	 and  the
-		 sample value.	Values are normalized so that the
-		 maximum and minimum are 1.00  and  -1.00.   This
-		 file format can be used to create data files for
-		 external programs such as FFT analyzers or graph
-		 routines.   SoX  can also convert a file in this
-		 format back into one of the other file	 formats.
+		 time since the beginning of the first sample and
+		 the sample value.  Values are normalized so that
+		 the maximum and  minimum  are	1.00  and  -1.00.
+		 This  file  format  can  be  used to create data
+		 files for external programs such as FFT  analyz-
+		 ers  or  graph routines.  SoX can also convert a
+		 file in this format back into one of  the  other
+		 file formats.
 
-
-
-			  July 24, 2000				5
-
-
-
-
-
-SoX(1)							   SoX(1)
-
-
        .gsm	 GSM 06.10 Lossy Speech Compression
 		 A  standard for compressing speech which is used
 		 in the Global Standard for Mobil  telecommunica-
@@ -342,220 +372,232 @@
 		 of  noise  when  a given sound sample is encoded
 		 and decoded multiple times.  This format is used
 		 by  some  voice mail applications.  It is rather
-		 CPU intensive.	  GSM  in  sox	is  optional  and
-		 requires  access to an external GSM library.  To
-		 see if there is support for gsm run sox  -h  and
-		 look  for  it	under  the list of supported file
-		 formats.
+		 CPU intensive.
+		 GSM in sox is optional and requires access to an
+		 external  GSM	library.  To see if there is sup-
+		 port for gsm run sox -h and look  for	it  under
+		 the list of supported file formats.
 
-       .hcom	 Macintosh HCOM files.	 These	are  (apparently)
+       .hcom	 Macintosh  HCOM  files.   These are (apparently)
 		 Mac FSSD files with some variant of Huffman com-
-		 pression.  The Macintosh has wacky file  formats
-		 and  this format handler apparently doesn't han-
+		 pression.   The Macintosh has wacky file formats
+		 and this format handler apparently doesn't  han-
 		 dle all the ones it should.  Mac users will need
-		 your  usual  arsenal  of file converters to deal
+		 your usual arsenal of file  converters	 to  deal
 		 with an HCOM file under Unix or DOS.
 
        .maud	 An Amiga format
 		 An IFF-conform sound file type, registered by MS
-		 MacroSystem  Computer GmbH, published along with
-		 the "Toccata" sound-card on the  Amiga.   Allows
-		 8bit  linear, 16bit linear, A-Law, u-law in mono
-		 and stereo.
 
-       ossdsp	 OSS /dev/dsp device driver
-		 This is a pseudo-file type and can be optionally
-		 compiled  into	 Sox.	Run  sox -h to see if you
-		 have support for  this	 file  type.   When  this
-		 driver	 is used it allows you to open up the OSS
-		 /dev/dsp file and configure it to use	the  same
-		 data  type  as	 passed	 in to Sox.  It works for
-		 both playing and recording sound samples.   When
-		 playing  sound	 files	it attempts to set up the
-		 OSS driver to use the same format as  the  input
-		 file.	 It  is	 suggested to always override the
-		 output values to use the highest quality samples
-		 your  sound card can handle.  Example: -t ossdsp
-		 -w -s /dev/dsp
 
-       .sf	 IRCAM Sound Files.
-		 Sound Files are used by academic music	 software
-		 such  as  the	CSound	package,  and the MixView
-		 sound sample editor.
 
-       .smp	 Turtle Beach SampleVision files.
-		 SMP files are for use with  the  PC-DOS  package
-		 SampleVision  by  Turtle  Beach  Softworks. This
-		 package is for	 communication	to  several  MIDI
-		 samplers.  All sample rates are supported by the
+			  July 24, 2000				6
 
 
 
-			  July 24, 2000				6
 
 
+SoX(1)							   SoX(1)
 
 
+		 MacroSystem Computer GmbH, published along  with
+		 the  "Toccata"	 sound-card on the Amiga.  Allows
+		 8bit linear, 16bit linear, A-Law, u-law in  mono
+		 and stereo.
 
-SoX(1)							   SoX(1)
+       ossdsp	 OSS /dev/dsp device driver
+		 This is a pseudo-file type and can be optionally
+		 compiled into Sox.  Run sox -h	 to  see  if  you
+		 have  support	for  this  file	 type.	When this
+		 driver is used it allows you to open up the  OSS
+		 /dev/dsp  file	 and configure it to use the same
+		 data format as passed in to  /fBSoX.	It  works
+		 for  both  playing  and recording sound samples.
+		 When playing sound files it attempts to  set  up
+		 the  OSS  driver  to  use the same format as the
+		 input file.  It is suggested to always	 override
+		 the  output  values  to  use the highest quality
+		 samples your sound card can handle.  Example: -t
+		 ossdsp -w -s /dev/dsp
 
+       .sf	 IRCAM Sound Files.
+		 Sound	Files are used by academic music software
+		 such as the  CSound  package,	and  the  MixView
+		 sound sample editor.
 
-		 package, although not all are supported  by  the
-		 samplers  themselves.	Currently loop points are
+       .smp	 Turtle Beach SampleVision files.
+		 SMP  files  are  for use with the PC-DOS package
+		 SampleVision by  Turtle  Beach	 Softworks.  This
+		 package  is  for  communication  to several MIDI
+		 samplers. All sample rates are supported by  the
+		 package,  although  not all are supported by the
+		 samplers themselves. Currently loop  points  are
 		 ignored.
 
        sunau	 Sun /dev/audio device driver
 		 This is a pseudo-file type and can be optionally
-		 compiled  into	 Sox.	Run  sox -h to see if you
-		 have support for  this	 file  type.   When  this
-		 driver	 is  used  it allows you to open up a Sun
+		 compiled into Sox.  Run sox -h	 to  see  if  you
+		 have  support	for  this  file	 type.	When this
+		 driver is used it allows you to open  up  a  Sun
 		 /dev/audio file and configure it to use the same
-		 data  type  as	 passed	 in to Sox.  It works for
-		 both playing and recording sound samples.   When
-		 playing  sound	 files	it attempts to set up the
+		 data type as passed in to  Sox.   It  works  for
+		 both  playing and recording sound samples.  When
+		 playing sound files it attempts to  set  up  the
 		 audio driver to use the same format as the input
-		 file.	 It  is	 suggested to always override the
+		 file.	It is suggested to  always  override  the
 		 output values to use the highest quality samples
-		 your  hardware can handle.  Example: -t sunau -w
+		 your hardware can handle.  Example: -t sunau  -w
 		 -s /dev/audio or -t sunau -U -c 1 /dev/audio for
 		 older sun equipment.
 
        .txw	 Yamaha TX-16W sampler.
-		 A  file  format  from a Yamaha sampling keyboard
-		 which wrote IBM-PC format 3.5"	 floppies.   Han-
-		 dles reading of files which do not have the sam-
-		 ple rate field set to one  of	the  expected  by
-		 looking  at  some other bytes in the attack/loop
-		 length fields, and defaulting to  33kHz  if  the
-		 sample rate is still unknown.
+		 A file format from a  Yamaha  sampling	 keyboard
+		 which	wrote  IBM-PC format 3.5" floppies.  Han-
+		 dles reading of files	which  do  not	have  the
 
-       .vms	 More info to come.
-		 Used  to  compress speech audio for applications
-		 such as voice mail.
 
-       .voc	 Sound Blaster VOC files.
-		 VOC files are	multi-part  and	 contain  silence
-		 parts,	 looping,  and different sample rates for
-		 different chunks.  On input, the  silence  parts
-		 are  filled  out, loops are rejected, and sample
-		 data  with  a	new  sample  rate  is	rejected.
-		 Silence  with	a different sample rate is gener-
-		 ated appropriately.  On output, silence  is  not
-		 detected, nor are impossible sample rates.
 
-       .wav	 Microsoft .WAV RIFF files.
-		 These	appear	to  be very similar to IFF files,
-		 but not the same.  They  are  the  native  sound
-		 file format of Windows.  (Obviously, Windows was
-		 of such incredible importance	to  the	 computer
-		 industry  that it just had to have its own sound
-		 file format.)	Normally .wav files have all for-
-		 matting  information in their headers, and so do
-		 not need any format  options  specified  for  an
-		 input	file.  If any are, they will override the
-		 file header, and you  will  be	 warned	 to  this
+			  July 24, 2000				7
 
 
 
-			  July 24, 2000				7
 
 
+SoX(1)							   SoX(1)
 
 
+		 sample	 rate field set to one of the expected by
+		 looking at some other bytes in	 the  attack/loop
+		 length	 fields,  and  defaulting to 33kHz if the
+		 sample rate is still unknown.
 
-SoX(1)							   SoX(1)
+       .vms	 More info to come.
+		 Used to compress speech audio	for  applications
+		 such as voice mail.
 
+       .voc	 Sound Blaster VOC files.
+		 VOC  files  are  multi-part  and contain silence
+		 parts, looping, and different sample  rates  for
+		 different  chunks.   On input, the silence parts
+		 are filled out, loops are rejected,  and  sample
+		 data	with  a	 new  sample  rate  is	rejected.
+		 Silence with a different sample rate  is  gener-
+		 ated  appropriately.	On output, silence is not
+		 detected, nor are impossible sample rates.
 
+       .wav	 Microsoft .WAV RIFF files.
+		 These appear to be very similar  to  IFF  files,
+		 but  not  the	same.	They are the native sound
+		 file format of Windows.  (Obviously, Windows was
+		 of  such  incredible  importance to the computer
+		 industry that it just had to have its own  sound
+		 file format.)	Normally .wav files have all for-
+		 matting information in their headers, and so  do
+		 not  need  any	 format	 options specified for an
+		 input file. If any are, they will  override  the
+		 file  header,	and  you  will	be warned to this
 		 effect.  You had better know what you are doing!
-		 Output format options will cause a  format  con-
-		 version,  and	the  .wav  will written appropri-
-		 ately.	 Sox currently can read PCM, ULAW,  ALAW,
-		 MS  ADPCM, and IMA (or DVI) ADPCM.  It can write
+		 Output	 format	 options will cause a format con-
+		 version, and the  .wav	 will  written	appropri-
+		 ately.	  Sox currently can read PCM, ULAW, ALAW,
+		 MS ADPCM, and IMA (or DVI) ADPCM.  It can  write
 		 all of these formats including (NEW!)	the ADPCM
 		 encoding.
 
        .wve	 Psion 8-bit alaw
-		 These	are  8-bit a-law 8khz sound files used on
+		 These are 8-bit a-law 8khz sound files	 used  on
 		 the Psion palmtop portable computer.
 
        .raw	 Raw files (no header).
-		 The sample rate, size	(byte,	word,  etc),  and
+		 The  sample  rate,  size  (byte, word, etc), and
 		 encoding (signed, unsigned, etc.)  of the sample
-		 file must be  given.	The  number  of	 channels
+		 file  must  be	 given.	  The  number of channels
 		 defaults to 1.
 
        .ub, .sb, .uw, .sw, .ul, .sl
-		 These	are  several  suffices	which  serve as a
-		 shorthand for raw files with a	 given	size  and
-		 encoding.   Thus, ub, sb, uw, sw, ul and sl cor-
-		 respond  to  "unsigned	 byte",	 "signed   byte",
-		 "unsigned  word",  "signed word", "ulaw" (byte),
-		 and "signed long".  The sample rate defaults  to
-		 8000 hz if not explicitly set, and the number of
-		 channels (as always) defaults to 1.   There  are
-		 lots  of  Sparc samples floating around in u-law
-		 format with no header and fixed at a sample rate
-		 of  8000 hz.  (Certain sound management software
-		 cheerfully  ignores  the  headers.)   Similarly,
-		 most Mac sound files are in unsigned byte format
-		 with a sample rate of 11025 or 22050 hz.
+		 These are several  suffices  which  serve  as	a
+		 shorthand  for	 raw  files with a given size and
+		 encoding.  Thus, ub, sb, uw, sw, ul and sl  cor-
+		 respond   to  "unsigned  byte",  "signed  byte",
+		 "unsigned word", "signed word",  "ulaw"  (byte),
 
-       .auto	 This is a ``meta-type'':  specifying  this  type
-		 for  an input file triggers some code that tries
-		 to guess the real  type  by  looking  for  magic
-		 words	in  the	 header.   If  the  type can't be
-		 guessed, the program exits with  an  error  mes-
-		 sage.	 The  input  must  be a plain file, not a
-		 pipe.	This type can't be used for output files.
 
-EFFECTS
-       Only one effect from the palette may be applied to a sound
-       sample.	To do multiple effects you'll need to run sox  in
-       a pipeline.
 
-       avg [ -l | -r ]
-		 Reduce	 the  number of channels by averaging the
-		 samples, or duplicate channels to  increase  the
-		 number	 of  channels.	 This effect is automati-
-		 cally used when the  number  of  input	 channels
-		 differ from the number of output channels.  When
-		 reducing the number of channels it  is	 possible
+			  July 24, 2000				8
 
 
 
-			  July 24, 2000				8
 
 
+SoX(1)							   SoX(1)
 
 
+		 and  "signed long".  The sample rate defaults to
+		 8000 hz if not explicitly set, and the number of
+		 channels  (as	always) defaults to 1.	There are
+		 lots of Sparc samples floating around	in  u-law
+		 format with no header and fixed at a sample rate
+		 of 8000 hz.  (Certain sound management	 software
+		 cheerfully  ignores  the  headers.)   Similarly,
+		 most Mac sound files are in unsigned byte format
+		 with a sample rate of 11025 or 22050 hz.
 
-SoX(1)							   SoX(1)
+       .auto	 This  is  a  ``meta-type'': specifying this type
+		 for an input file triggers some code that  tries
+		 to  guess  the	 real  type  by looking for magic
+		 words in the  header.	 If  the  type	can't  be
+		 guessed,  the	program	 exits with an error mes-
+		 sage.	The input must be a  plain  file,  not	a
+		 pipe.	This type can't be used for output files.
 
+EFFECTS
+       Multiple effects may be applied to the audio data by spec-
+       ifying  them  one  after another at the end of the command
+       line.
 
-		 to  manually  specify the avg effect and use the
-		 -l and -r options to select  only  the	 left  or
-		 right	channel for the output instead of averag-
+       avg [ -l | -r ]
+		 Reduce the number of channels by  averaging  the
+		 samples,  or  duplicate channels to increase the
+		 number of channels.  This  effect  is	automati-
+		 cally	used  when  the	 number of input channels
+		 differ from the number of output channels.  When
+		 reducing  the	number of channels it is possible
+		 to manually specify the avg effect and	 use  the
+		 -l  and  -r  options  to select only the left or
+		 right channel for the output instead of  averag-
 		 ing the two channels.
 
        band [ -n ] center [ width ]
-		 Apply	a  band-pass   filter.	  The	frequency
+		 Apply	 a   band-pass	 filter.   The	frequency
 		 response drops logarithmically around the center
-		 frequency.  The width gives  the  slope  of  the
-		 drop.	 The  frequencies  at  center + width and
-		 center - width will be half  of  their	 original
+		 frequency.   The  width  gives	 the slope of the
+		 drop.	The frequencies at  center  +  width  and
+		 center	 -  width  will be half of their original
 		 amplitudes.  Band defaults to a mode oriented to
 		 pitched signals, i.e. voice, singing, or instru-
-		 mental	 music.	  The  -n (for noise) option uses
-		 the  alternate	 mode  for  un-pitched	 signals.
-		 Warning:  -n  introduces  a  power-gain of about
-		 11dB in the filter, so beware	of  output  clip-
+		 mental music.	The -n (for  noise)  option  uses
+		 the   alternate  mode	for  un-pitched	 signals.
+		 Warning: -n introduces	 a  power-gain	of  about
+		 11dB  in  the	filter, so beware of output clip-
 		 ping.	Band introduces noise in the shape of the
 		 filter, i.e. peaking at the center frequency and
-		 settling  around  it.	See filter for a bandpass
+		 settling around it.  See filter for  a	 bandpass
 		 effect with steeper shoulders.
 
        bandpass frequency bandwidth
-		 Butterworth bandpass filter. Description  coming
+		 Butterworth  bandpass filter. Description coming
+
+
+
+			  July 24, 2000				9
+
+
+
+
+
+SoX(1)							   SoX(1)
+
+
 		 soon!
 
        bandreject frequency bandwidth
@@ -565,10 +607,10 @@
        chorus gain-in gain-out delay decay speed depth
 
 	      -s | -t [ delay decay speed depth -s | -t ... ]
-		 Add a chorus to a sound sample.  Each	quadtuple
-		 delay/decay/speed/depth  gives the delay in mil-
-		 liseconds and the decay  (relative  to	 gain-in)
-		 with  a  modulation  speed  in Hz using depth in
+		 Add  a chorus to a sound sample.  Each quadtuple
+		 delay/decay/speed/depth gives the delay in  mil-
+		 liseconds  and	 the  decay (relative to gain-in)
+		 with a modulation speed in  Hz	 using	depth  in
 		 milliseconds.	The modulation is either sinodial
 		 (-s) or triangular (-t).  Gain-out is the volume
 		 of the output.
@@ -578,66 +620,66 @@
 	       in-dB1,out-dB1[,in-dB2,out-dB2...]
 
 	       [gain] [initial-volume]
-		 Compand (compress or expand) the  dynamic  range
-		 of  a sample.	The attack and decay time specify
-		 the integration time  over  which  the	 absolute
-		 value	of  the	 input	signal	is  integrated to
-		 determine its volume.	Where more than one  pair
-		 of  attack/decay  parameters are specified, each
-		 channel is treated separately and the number  of
-		 pairs	must  agree  with  the	number	of  input
+		 Compand  (compress  or expand) the dynamic range
+		 of a sample.  The attack and decay time  specify
+		 the  integration  time	 over  which the absolute
+		 value of  the	input  signal  is  integrated  to
+		 determine  its volume.	 Where more than one pair
+		 of attack/decay parameters are	 specified,  each
+		 channel  is treated separately and the number of
+		 pairs must agree with the number of input  chan-
+		 nels.	 The second parameter is a list of points
+		 on the compander's transfer  function	specified
+		 in  dB	 relative  to the maximum possible signal
+		 amplitude.   The  input  values  must	be  in	a
+		 strictly increasing order but the transfer func-
+		 tion does not have to be  monotonically  rising.
+		 The  special  value -inf may be used to indicate
+		 that the input volume should be associated  out-
+		 put  volume.	The  points -inf,-inf and 0,0 are
+		 assumed; the latter may be overridden,	 but  the
+		 former	 may not.  The third (optional) parameter
+		 is a postprocessing gain in dB which is  applied
+		 after	the  compression  has  taken  place;  the
+		 fourth (optional) parameter is an initial volume
+		 to  be	 assumed for each channel when the effect
+		 starts.  This permits the user to supply a nomi-
+		 nal  level  initially,	 so  that, for example, a
+		 very large gain is not applied to initial signal
+		 levels before the companding action has begun to
+		 operate: it is quite probable that  in	 such  an
+		 event,	 the  output  would  be	 severely clipped
+		 while	the  compander	gain   properly	  adjusts
+		 itself.
 
 
 
-			  July 24, 2000				9
 
+			  July 24, 2000			       10
 
 
 
 
+
 SoX(1)							   SoX(1)
 
 
-		 channels.  The second parameter  is  a	 list  of
-		 points	 on  the  compander's  transfer	 function
-		 specified in dB relative to the maximum possible
-		 signal amplitude.  The input values must be in a
-		 strictly increasing order but the transfer func-
-		 tion  does  not have to be monotonically rising.
-		 The special value -inf may be used  to	 indicate
-		 that  the input volume should be associated out-
-		 put volume.  The points -inf,-inf  and	 0,0  are
-		 assumed;  the	latter may be overridden, but the
-		 former may not.  The third (optional)	parameter
-		 is  a postprocessing gain in dB which is applied
-		 after	the  compression  has  taken  place;  the
-		 fourth (optional) parameter is an initial volume
-		 to be assumed for each channel when  the  effect
-		 starts.  This permits the user to supply a nomi-
-		 nal level initially, so  that,	 for  example,	a
-		 very large gain is not applied to initial signal
-		 levels before the companding action has begun to
-		 operate:  it  is  quite probable that in such an
-		 event, the  output  would  be	severely  clipped
-		 while	 the   compander  gain	properly  adjusts
-		 itself.
-
        copy	 Copy the input file to the output file.  This is
-		 the  default  effect if both files have the same
+		 the default effect if both files have	the  same
 		 sampling rate.
 
        cut loopnumber
 		 Extract loop #N from a sample.
 
-       deemph	 Apply a treble attenuation  shelving  filter  to
+       deemph	 Apply	a  treble  attenuation shelving filter to
 		 samples  in  audio  cd	 format.   The	frequency
-		 response of pre-emphasized recordings is  recti-
-		 fied.	 The filtering is defined in the standard
+		 response  of pre-emphasized recordings is recti-
+		 fied.	The filtering is defined in the	 standard
 		 document ISO 908.
 
        echo gain-in gain-out delay decay [ delay decay ... ]
 		 Add echoing to a sound sample.	 Each delay/decay
-		 part  gives  the  delay  in milliseconds and the
+		 part gives the delay  in  milliseconds	 and  the
 		 decay (relative to gain-in) of that echo.  Gain-
 		 out is the volume of the output.
 
@@ -644,137 +686,137 @@
        echos gain-in gain-out delay decay [ delay decay ... ]
 		 Add a sequence of echos to a sound sample.  Each
 		 delay/decay part gives the delay in milliseconds
-		 and  the  decay  (relative  to	 gain-in) of that
+		 and the decay	(relative  to  gain-in)	 of  that
 		 echo.	Gain-out is the volume of the output.
 
        filter [ low ]-[ high ] [ window-len [ beta ] ]
 		 Apply	a  Sinc-windowed  lowpass,  highpass,  or
-		 bandpass  filter  of  given window length to the
-		 signal.  low refers  to  the  frequency  of  the
-		 lower	6dB corner of the filter.  high refers to
+		 bandpass filter of given window  length  to  the
+		 signal.   low	refers	to  the	 frequency of the
+		 lower 6dB corner of the filter.  high refers  to
+		 the  frequency	 of  the  upper 6dB corner of the
+		 filter.
 
+		 A lowpass filter  is  obtained	 by  leaving  low
+		 unspecified,	or   0.	  A  highpass  filter  is
+		 obtained by leaving high unspecified, or  0,  or
+		 greater  than or equal to the Nyquist frequency.
 
+		 The window-len, if unspecified, defaults to 128.
+		 Longer	 windows  give	a sharper cutoff, smaller
+		 windows a more gradual cutoff.
 
-			  July 24, 2000			       10
+		 The beta, if unspecified, defaults to 16.   This
+		 selects  a Kaiser window.  You can select a Nut-
+		 tall window by specifying anything <= 2.0  here.
+		 For  more  discussion	of  beta,  look under the
+		 resample effect.
 
 
+       flanger gain-in gain-out delay decay speed < -s | -t >
+		 Add a flanger to a sound  sample.   Each  triple
+		 delay/decay/speed  gives  the delay in millisec-
+		 onds and the decay (relative to gain-in) with	a
+		 modulation  speed  in	Hz.   The  modulation  is
 
 
 
-SoX(1)							   SoX(1)
+			  July 24, 2000			       11
 
 
-		 the frequency of the upper  6dB  corner  of  the
-		 filter.
 
-		 A  lowpass  filter  is	 obtained  by leaving low
-		 unspecified,  or  0.	A  highpass   filter   is
-		 obtained  by  leaving high unspecified, or 0, or
-		 greater than or equal to the Nyquist  frequency.
 
-		 The window-len, if unspecified, defaults to 128.
-		 Longer windows give a	sharper	 cutoff,  smaller
-		 windows a more gradual cutoff.
 
-		 The  beta, if unspecified, defaults to 16.  This
-		 selects a Kaiser window.  You can select a  Nut-
-		 tall  window by specifying anything <= 2.0 here.
-		 For more discussion  of  beta,	 look  under  the
-		 resample effect.
+SoX(1)							   SoX(1)
 
 
-       flanger gain-in gain-out delay decay speed -s | -t
-		 Add  a	 flanger  to a sound sample.  Each triple
-		 delay/decay/speed gives the delay  in	millisec-
-		 onds  and the decay (relative to gain-in) with a
-		 modulation  speed  in	Hz.   The  modulation  is
-		 either	 sinodial (-s) or triangular (-t).  Gain-
+		 either sinodial (-s) or triangular (-t).   Gain-
 		 out is the volume of the output.
 
        highp center
-		 Apply	a  high-pass   filter.	  The	frequency
-		 response  drops logarithmically with center fre-
-		 quency in the middle of the drop.  The slope  of
-		 the  filter  is  quite gentle.	 See filter for a
+		 Apply	 a   high-pass	 filter.   The	frequency
+		 response drops logarithmically with center  fre-
+		 quency	 in the middle of the drop.  The slope of
+		 the filter is quite gentle.  See  filter  for	a
 		 highpass effect with sharper cutoff.
 
        highpass frequency
-		 Butterworth highpass filter.	Description  com-
+		 Butterworth  highpass	filter.	 Description com-
 		 ming soon!
 
        lowp center
 		 Apply a low-pass filter.  The frequency response
-		 drops logarithmically with center  frequency  in
+		 drops	logarithmically	 with center frequency in
 		 the middle of the drop.  The slope of the filter
-		 is quite  gentle.   See  filter  for  a  lowpass
+		 is  quite  gentle.   See  filter  for	a lowpass
 		 effect with sharper cutoff.
 
        lowpass frequency
-		 Butterworth  lowpass filter.  Description coming
+		 Butterworth lowpass filter.  Description  coming
 		 soon!
 
        map	 Display a list of loops in a sample, and miscel-
 		 laneous loop info.
 
-       mask	 Add  "masking	noise"	to  signal.   This effect
-		 deliberately adds white  noise	 to  a	sound  in
+       mask	 Add "masking  noise"  to  signal.   This  effect
+		 deliberately  adds  white  noise  to  a sound in
+		 order to mask quantization effects,  created  by
+		 the  process  of  playing a sound digitally.  It
+		 tends to mask buzzing voices, for  example.   It
+		 adds  1/2  bit of noise to the sound file at the
+		 output bit depth.
 
+       pan direction
+		 Pan the sound of an audio file from one  channel
+		 to another.  This is done by changing the volume
+		 of the input channels so that it  fades  out  on
+		 one  channel  and  fades-in  on another.  If the
+		 number of input channels is different	then  the
+		 number of output channels then this effect tries
+		 to intelligently handle this.	For instance,  if
+		 the input contains 1 channel and the output con-
+		 tains 2 channels, then it will create the  miss-
+		 ing  channel  itself.	 The direction is a value
+		 from -1.0 to 1.0.  -1.0 represents far left  and
+		 1.0  represents  far  right.  Numbers in between
+		 will start the pan effect without totally muting
+		 the opposite channel.
 
+       phaser gain-in gain-out delay decay speed < -s | -t >
+		 Add  a	 phaser	 to  a sound sample.  Each triple
 
-			  July 24, 2000			       11
 
 
+			  July 24, 2000			       12
 
 
 
-SoX(1)							   SoX(1)
 
 
-		 order	to  mask quantization effects, created by
-		 the process of playing a  sound  digitally.   It
-		 tends	to  mask buzzing voices, for example.  It
-		 adds 1/2 bit of noise to the sound file  at  the
-		 output bit depth.
+SoX(1)							   SoX(1)
 
-       pan direction
-		 Pan  the sound of an audio file from one channel
-		 to another.  This is done by changing the volume
-		 of  the  input	 channels so that it fades out on
-		 one channel and fades-in  on  another.	  If  the
-		 number	 of  input channels is different then the
-		 number of output channels then this effect tries
-		 to  intelligently handle this.	 For instance, if
-		 the input contains 1 channel and the output con-
-		 tains	2 channels, then it will create the miss-
-		 ing channel itself.  The direction  is	 a  value
-		 from  -1.0 to 1.0.  -1.0 represents far left and
-		 1.0 represents far right.   Numbers  in  between
-		 will start the pan effect without totally muting
-		 the opposite channel.
 
-       phaser gain-in gain-out delay decay speed -s | -t
-		 Add a phaser to a  sound  sample.   Each  triple
-		 delay/decay/speed  gives  the delay in millisec-
-		 onds and the decay (relative to gain-in) with	a
+		 delay/decay/speed gives the delay  in	millisec-
+		 onds  and the decay (relative to gain-in) with a
 		 modulation  speed  in	Hz.   The  modulation  is
-		 either sinodial (-s) or  triangular  (-t).   The
+		 either	 sinodial  (-s)	 or triangular (-t).  The
 		 decay should be less than 0.5 to avoid feedback.
 		 Gain-out is the volume of the output.
 
-       pick	 Select the left or right  channel  of	a  stereo
-		 sample,  or  one  of  four channels in a quadro-
+       pick	 Select	 the  left  or	right channel of a stereo
+		 sample, or one of four	 channels  in  a  quadro-
 		 phonic sample.
 
        pitch shift [ width interpole fade ]
-		 Change the pitch of file without  affecting  its
+		 Change	 the  pitch of file without affecting its
 		 duration by cross-fading shifted samples.  shift
 		 is given in cents. Use a positive value to shift
-		 to  treble,  negative	value  to  shift to bass.
-		 Default shift is 0.  width of window is  in  ms.
-		 Default  width is 20ms. Try 30ms to lower pitch,
-		 and 10ms to raise pitch.  interpole option,  can
+		 to treble, negative  value  to	 shift	to  bass.
+		 Default  shift	 is 0.	width of window is in ms.
+		 Default width is 20ms. Try 30ms to lower  pitch,
+		 and  10ms to raise pitch.  interpole option, can
 		 be "cubic" or "linear". Default is "cubic".  The
-		 fade option, can be "cos",  "hamming",	 "linear"
+		 fade  option,	can be "cos", "hamming", "linear"
 		 or "trapezoid".  Default is "cos".
 
        polyphase [ -w < nut / ham > ]
@@ -783,59 +825,58 @@
 
 		 [ -cutoff #  ]
 		 Translate input sampling rate to output sampling
-		 rate  via   polyphase	 interpolation,	  a   DSP
+		 rate  via  polyphase  interpolation, a DSP algo-
+		 rithm.	 This method is slow  and  uses	 lots  of
+		 RAM, but gives much better results than rate.
 
+		 -w  <	nut / ham > : select either a Nuttal (~90
+		 dB stopband) or Hamming (~43 dB  stopband)  win-
+		 dow.  Default is nut.
 
+		 -width	 long / short / # : specify the (approxi-
+		 mate) width of the filter.  long  is  1024  sam-
+		 ples;	short  is 128 samples.	Alternatively, an
+		 exact number can be used.  Default is long.  The
+		 short	option is not recommended, as it produces
+		 poor quality results.
 
-			  July 24, 2000			       12
+		 -cutoff # : specify the filter cutoff	frequency
+		 in  terms  of	fraction  of frequency bandwidth,
+		 also know as the Nyquist frequency.  Please  see
+		 the  resample	effect for further information on
+		 Nyquist frequency.  If upsampling, then this  is
+		 the  fraction of the original signal that should
+		 go through.  If downsampling, this is the  frac-
+		 tion  of  the	signal	left  after downsampling.
+		 Default is 0.95.  Remember that this is a float.
 
 
 
 
+			  July 24, 2000			       13
 
-SoX(1)							   SoX(1)
 
 
-		 algorithm.  This method is slow and uses lots of
-		 RAM, but gives much better results than rate.
 
-		 -w < nut / ham > : select either a  Nuttal  (~90
-		 dB  stopband)	or Hamming (~43 dB stopband) win-
-		 dow.  Default is nut.
 
-		 -width long / short / # : specify the	(approxi-
-		 mate)	width  of  the filter.	long is 1024 sam-
-		 ples; short is 128 samples.   Alternatively,  an
-		 exact number can be used.  Default is long.  The
-		 short option is not recommended, as it	 produces
-		 poor quality results.
+SoX(1)							   SoX(1)
 
-		 -cutoff  # : specify the filter cutoff frequency
-		 in terms of  fraction	of  frequency  bandwidth,
-		 also  know as the Nyquist frequency.  Please see
-		 the resample effect for further  information  on
-		 Nyquist  frequency.  If upsampling, then this is
-		 the fraction of the original signal that  should
-		 go  through.  If downsampling, this is the frac-
-		 tion of  the  signal  left  after  downsampling.
-		 Default is 0.95.  Remember that this is a float.
 
-
        rate	 Translate input sampling rate to output sampling
-		 rate  via linear interpolation to the Least Com-
+		 rate via linear interpolation to the Least  Com-
 		 mon Multiple of the two sampling rates.  This is
 		 the default effect if the two files have differ-
-		 ent sampling rates and the preview  options  was
+		 ent  sampling	rates and the preview options was
 		 specified.  This is fast but noisy: the spectrum
-		 of the original sound will  be	 shifted  upwards
-		 and  duplicated faintly when up-translating by a
+		 of  the  original  sound will be shifted upwards
+		 and duplicated faintly when up-translating by	a
 		 multiple.
 
-		 Lerp-ing is acceptable	 for  cheap  8-bit  sound
-		 hardware,  but	 for  CD-quality sound you should
-		 instead use either resample  or  polyphase.   If
+		 Lerp-ing  is  acceptable  for	cheap 8-bit sound
+		 hardware, but for CD-quality  sound  you  should
+		 instead  use  either  resample or polyphase.  If
 		 you are wondering which rate changing effects to
-		 use, you will want to read a  detailed	 analysis
+		 use,  you  will want to read a detailed analysis
 		 of  all  of  them  at	http://eakaw2.et.tu-dres-
 		 den.de/~wilde/resample/resample.html
 
@@ -842,38 +883,26 @@
        resample [ -qs | -q | -ql ] [ rolloff [ beta ] ]
 		 Translate input sampling rate to output sampling
 		 rate  via  simulated  analog  filtration.   This
-		 method is slower than rate, but gives much  bet-
+		 method	 is slower than rate, but gives much bet-
 		 ter results.
 
 		 By default, linear interpolation is used, with a
-		 window width about 45 samples at  the	lower  of
-		 the  two  rate.  This gives an accuracy of about
-		 16 bits, but insufficient stopband rejection  in
-		 the  case  that you want to have rolloff greater
-
-
-
-			  July 24, 2000			       13
-
-
-
-
-
-SoX(1)							   SoX(1)
-
-
+		 window	 width	about  45 samples at the lower of
+		 the two rate.	This gives an accuracy	of  about
+		 16  bits, but insufficient stopband rejection in
+		 the case that you want to have	 rolloff  greater
 		 than about 0.80 of the Nyquist frequency.
 
-		 The -q* options will change the  default  values
-		 for  rolloff  and  beta as well as use quadratic
-		 interpolation of filter coefficients,	resulting
+		 The  -q*  options will change the default values
+		 for rolloff and beta as well  as  use	quadratic
+		 interpolation	of filter coefficients, resulting
 		 in about 24 bits precision.  The -qs, -q, or -ql
-		 options specify increased accuracy at	the  cost
-		 of  lower  execution  speed.	It is optional to
-		 specify rolloff and beta parameters  when  using
+		 options  specify  increased accuracy at the cost
+		 of lower execution speed.   It	 is  optional  to
+		 specify  rolloff  and beta parameters when using
 		 the -q* options.
 
-		 Following  is a table of the reasonable defaults
+		 Following is a table of the reasonable	 defaults
 		 which are built-in to sox:
 
 		    Option  Window rolloff beta interpolation
@@ -885,90 +914,102 @@
 		    ------  ------ ------- ---- -------------
 
 		 -qs, -q, or -ql use window lengths of 45, 75, or
-		 149  samples, respectively, at the lower sample-
+		 149 samples, respectively, at the lower  sample-
 		 rate of the two files.	 This means progressively
-		 sharper  stop-band  rejection, at proportionally
-		 slower execution times.
 
-		 rolloff refers to the cut-off frequency  of  the
-		 low  pass  filter  and	 is given in terms of the
-		 Nyquist frequency for	the  lower  sample  rate.
-		 rolloff  therefore  should  be something between
-		 0.0 and 1.0, in practice 0.8-0.95.  The defaults
-		 are indicated above.
 
-		 The Nyquist frequency is equal to (sample rate /
-		 2).  Logically, this is  because  the	A/D  con-
-		 verter	 needs	at  least  2  samples to detect 1
-		 cycle at  the	Nyquist	 frequency.   Frequencies
-		 higher	 then the Nyquist will actually appear as
-		 lower frequencies to the A/D  converter  and  is
-		 called aliasing.  Normally, A/D converts run the
-		 signal through a highpass filter first to  avoid
-		 these problems.
 
-		 Similar  problems  will  happen in software when
-		 reducing the sample rate of an audio file  (fre-
-		 quencies  above the new Nyquist frequency can be
-		 aliased to  lower  frequencies).   Therefore,	a
-		 good  resample	 effect will remove all frequency
-		 information above the new Nyquist frequency.
+			  July 24, 2000			       14
 
-		 The rolloff refers to how close to  the  Nyquist
-		 frequency  this  cutoff  is,  with  closer being
 
 
 
-			  July 24, 2000			       14
 
+SoX(1)							   SoX(1)
 
 
+		 sharper stop-band rejection,  at  proportionally
+		 slower execution times.
 
+		 rolloff  refers  to the cut-off frequency of the
+		 low pass filter and is given  in  terms  of  the
+		 Nyquist  frequency  for  the  lower sample rate.
+		 rolloff therefore should  be  something  between
+		 0.0 and 1.0, in practice 0.8-0.95.  The defaults
+		 are indicated above.
 
-SoX(1)							   SoX(1)
+		 The Nyquist frequency is equal to (sample rate /
+		 2).   Logically,  this	 is  because the A/D con-
+		 verter needs at least	2  samples  to	detect	1
+		 cycle	at  the	 Nyquist  frequency.  Frequencies
+		 higher then the Nyquist will actually appear  as
+		 lower	frequencies  to	 the A/D converter and is
+		 called aliasing.  Normally, A/D converts run the
+		 signal	 through a highpass filter first to avoid
+		 these problems.
 
+		 Similar problems will happen  in  software  when
+		 reducing  the sample rate of an audio file (fre-
+		 quencies above the new Nyquist frequency can  be
+		 aliased  to  lower  frequencies).   Therefore, a
+		 good resample effect will remove  all	frequency
+		 information above the new Nyquist frequency.
 
-		 better.  When increasing the sample rate  of  an
+		 The  rolloff  refers to how close to the Nyquist
+		 frequency this cutoff is, with closer being bet-
+		 ter.	When  increasing  the  sample  rate of an
 		 audio file you would not expect to have any fre-
-		 quencies  exist  that	are  past  the	 original
-		 Nyquist  frequency.  Because of resampling prop-
-		 erties, it is common to have alaising data  cre-
-		 ated  that  is	 above the old Nyquist frequency.
-		 In that case the rolloff refers to how close  to
+		 quencies   exist  that	 are  past  the	 original
+		 Nyquist frequency.  Because of resampling  prop-
+		 erties,  it is common to have alaising data cre-
+		 ated that is above the	 old  Nyquist  frequency.
+		 In  that case the rolloff refers to how close to
 		 the original Nyquist frequency to use a highpass
-		 filter to remove this false  data,  with  closer
+		 filter	 to  remove  this false data, with closer
 		 also being better.
 
 		 The beta parameter determines the type of filter
-		 window used.  Any value greater than 2.0 is  the
+		 window	 used.	Any value greater than 2.0 is the
 		 beta for a Kaiser window.  Beta <= 2.0 selects a
-		 Nuttall window.  If unspecified, the default  is
+		 Nuttall  window.  If unspecified, the default is
 		 a Kaiser window with beta 16.
 
 		 In the case of Kaiser window (beta > 2.0), lower
-		 betas produce a somewhat faster transition  from
-		 passband  to stopband, at the cost of noticeable
-		 artifacts.  A beta of 16 is  the  default,  beta
-		 less  than 10 is not recommended.  If you want a
-		 sharper cutoff, don't	use  low  beta's,  use	a
+		 betas	produce a somewhat faster transition from
+		 passband to stopband, at the cost of  noticeable
+		 artifacts.   A	 beta  of 16 is the default, beta
+		 less than 10 is not recommended.  If you want	a
+		 sharper  cutoff,  don't  use  low  beta's, use a
 		 longer	 sample	 window.   A  Nuttall  window  is
-		 selected by specifying any 'beta' <= 2, and  the
-		 Nuttall  window has somewhat steeper cutoff than
-		 the default Kaiser window.   You  will	 probably
-		 not  need  to	use  the  beta	parameter at all,
-		 unless you are just curious about comparing  the
+		 selected  by specifying any 'beta' <= 2, and the
+
+
+
+			  July 24, 2000			       15
+
+
+
+
+
+SoX(1)							   SoX(1)
+
+
+		 Nuttall window has somewhat steeper cutoff  than
+		 the  default  Kaiser  window.	You will probably
+		 not need to  use  the	beta  parameter	 at  all,
+		 unless	 you are just curious about comparing the
 		 effects of Nuttall vs. Kaiser windows.
 
 		 This is the default effect if the two files have
-		 different sampling  rates.   Default  parameters
+		 different  sampling  rates.   Default parameters
 		 are, as indicated above, Kaiser window of length
 		 45, rolloff 0.80, beta 16, linear interpolation.
 
-		 NOTE:	-qs  is	 only  slightly	 slower, but more
+		 NOTE: -qs is  only  slightly  slower,	but  more
 		 accurate for 16-bit or higher precision.
 
-		 NOTE: In many cases of up-sampling, no	 interpo-
-		 lation	 is  needed, as exact filter coefficients
+		 NOTE:	In many cases of up-sampling, no interpo-
+		 lation is needed, as exact  filter  coefficients
 		 can be computed in a reasonable amount of space.
 		 To be precise, this is done when
 
@@ -978,145 +1019,104 @@
 
        reverb gain-out delay [ delay ... ]
 		 Add reverberation to a sound sample.  Each delay
-		 is  given  in	milliseconds  and its feedback is
-		 depending on the  reverb-time	in  milliseconds.
-		 Each  delay  should  be  in the range of half to
-		 quarter  of  reverb-time  to  get  a	realistic
+		 is given in milliseconds  and	its  feedback  is
+		 depending  on	the  reverb-time in milliseconds.
+		 Each delay should be in the  range  of	 half  to
+		 quarter of reverb-time to get a realistic rever-
+		 beration.  Gain-out is the volume of the output.
 
-
-
-			  July 24, 2000			       15
-
-
-
-
-
-SoX(1)							   SoX(1)
-
-
-		 reverberation.	  Gain-out  is	the volume of the
-		 output.
-
-       reverse	 Reverse the sound sample  completely.	 Included
+       reverse	 Reverse  the  sound sample completely.	 Included
 		 for finding Satanic subliminals.
 
        speed factor
-		 Speed	up  or down the sound, as a magnetic tape
+		 Speed up or down the sound, as a  magnetic  tape
 		 with a speed control.	It affects both pitch and
-		 time.	A  factor  of 1.0 means no change, and is
+		 time. A factor of 1.0 means no	 change,  and  is
 		 the  default.	 2.0  doubles  speed,  thus  time
-		 length	 is cut by a half and pitch is one octave
-		 higher.  0.5 halves speed thus time length  dou-
+		 length is cut by a half and pitch is one  octave
+		 higher.   0.5 halves speed thus time length dou-
 		 bles and pitch is one octave lower.
 
        split	 Turn a mono sample into a stereo sample by copy-
-		 ing the input channel	to  the	 left  and  right
+		 ing  the  input  channel  to  the left and right
 		 channels.
 
        stat [ -s n ] [-rms ] [ -v ] [ -d ]
-		 Do  a	statistical  check on the input file, and
+		 Do a statistical check on the	input  file,  and
 		 print results on the standard error file.  Audio
-		 data  is  passed unmodified from input to output
+		 data is passed unmodified from input  to  output
 		 file unless used along with the -e option.
 
 		 The "Volume Adjustment:" field in the statistics
-		 gives	you  the  argument to the -v number which
-		 will make the sample as loud as possible without
-		 clipping.
 
-		 The option -v will print out the "Volume Adjust-
-		 ment:" field's	 value	only  and  return.   This
-		 could	be  of use in scripts to auto convert the
-		 volume.
 
-		 The -s n option is used to scale the input  data
-		 by  a	given  factor.	The default value of n is
-		 the  max  value  of  a	 signed	  long	 variable
-		 (0x7fffffff).	Internal effects always work with
-		 signed long PCM data and  so  the  value  should
-		 relate to this fact.
 
-		 The  -rms option will convert all output average
-		 values to root mean square format.
+			  July 24, 2000			       16
 
-		 There is also an optional parameter -d that will
-		 print	out a hex dump of the sound file from the
-		 internal buffer that is  in  32-bit  signed  PCM
-		 data.	 This  is  mainly only of use in tracking
-		 down endian problems that creep  in  to  sox  on
-		 cross-platform versions.
 
 
 
 
+SoX(1)							   SoX(1)
 
 
-			  July 24, 2000			       16
+		 gives you the argument to the	-v  number  which
+		 will make the sample as loud as possible without
+		 clipping.
 
+		 The option -v will print out the "Volume Adjust-
+		 ment:"	 field's  value	 only  and  return.  This
+		 could be of use in scripts to auto  convert  the
+		 volume.
 
+		 The  -s n option is used to scale the input data
+		 by a given factor.  The default value	of  n  is
+		 the   max   value  of	a  signed  long	 variable
+		 (0x7fffffff).	Internal effects always work with
+		 signed	 long  PCM  data  and so the value should
+		 relate to this fact.
 
+		 The -rms option will convert all output  average
+		 values to root mean square format.
 
+		 There is also an optional parameter -d that will
+		 print out a hex dump of the sound file from  the
+		 internal  buffer  that	 is  in 32-bit signed PCM
+		 data.	This is mainly only of	use  in	 tracking
+		 down  endian  problems	 that  creep in to sox on
+		 cross-platform versions.
 
-SoX(1)							   SoX(1)
 
-
        stretch factor [window fade shift fading]
-		 Time  stretch	file  by  a  given factor. Change
+		 Time stretch file  by	a  given  factor.  Change
 		 duration without affecting the pitch.	factor of
-		 stretching:  >1.0  lengthen,  <1.0 shorten dura-
-		 tion.	window size is in ms.  Default	is  20ms.
-		 The  fade option, can be "lin".  shift ratio, in
-		 [0.0 1.0]. Default depends  on	 stretch  factor.
-		 1.0  to  shorten,  0.8	 to lengthen.  The fading
-		 ratio, in [0.0 0.5].  The  amount  of	a  fade's
+		 stretching: >1.0 lengthen,  <1.0  shorten  dura-
+		 tion.	 window	 size  is in ms. Default is 20ms.
+		 The fade option, can be "lin".	 shift ratio,  in
+		 [0.0  1.0].  Default  depends on stretch factor.
+		 1.0 to shorten, 0.8  to  lengthen.   The  fading
+		 ratio,	 in  [0.0  0.5].  The  amount of a fade's
 		 default depends on factor and shift.
 
        swap [ 1 2 | 1 2 3 4 ]
 		 Swap  channels	 in  multi-channel  sound  files.
-		 Optionally, you may specify  the  channel  order
-		 you  would like the output in.	 This defaults to
+		 Optionally,  you  may	specify the channel order
+		 you would like the output in.	This defaults  to
 		 output channel 2 and then 1 for stereo and 2, 1,
-		 4,  3 for quad-channels.  An interesting feature
-		 is that you may duplicate  a  given  channel  by
-		 overwriting  another.	This is done by repeating
-		 an output channel  on	the  command  line.   For
-		 example,  swap 2 2 will overwrite channel 1 with
-		 channel 2's data; creating a  stereo  file  with
+		 4, 3 for quad-channels.  An interesting  feature
+		 is  that  you	may  duplicate a given channel by
+		 overwriting another.  This is done by	repeating
+		 an  output  channel  on  the  command line.  For
+		 example, swap 2 2 will overwrite channel 1  with
+		 channel  2's  data;  creating a stereo file with
 		 both channels containing the same audio data.
 
        vibro speed  [ depth ]
-		 Add  the  world-famous	 Fender Vibro-Champ sound
+		 Add the world-famous  Fender  Vibro-Champ  sound
 		 effect to a sound sample by using a sine wave as
-		 the volume knob.  Speed gives the Hertz value of
-		 the wave.  This must be under 30.   Depth  gives
-		 the  amount  the  volume is cut into by the sine
-		 wave, ranging 0.0 to 1.0 and defaulting to  0.5.
 
-       vol gain	 [ type ]
-		 The  vol  effect  is  much like the command line
-		 option -v.  It allows you to adjust  the  volume
-		 of  an	 input file and allows you to specify the
-		 adjustment in relation to amplitude,  power,  or
-		 dB.  When type is amplitude then a linear change
-		 of the amplitude is performed based on the gain.
-		 Therefore,  a	value of 1.0 will keep the volume
-		 the same, 0.0 to < 1.0 will cause the volume  to
-		 decrease and values of > 1.0 will cause the vol-
-		 ume to increase.  Beware of clipping audio  data
-		 when  the  gain is greater then 1.0.  A negative
-		 value performs the same  adjustment  while  also
-		 changing the phase.
-		 When  type  is	 power	then  a value of 1.0 also
-		 means no change in volume.
-		 When type is dB the amplitude	is  change  loga-
-		 rithmically.	0.0  is constant while +6 doubles
-		 the amplitude.
 
-       Sox enforces certain effects.  If the two files have  dif-
-       ferent sampling rates, the requested effect must be one of
 
-
-
 			  July 24, 2000			       17
 
 
@@ -1126,15 +1126,42 @@
 SoX(1)							   SoX(1)
 
 
-       polyphase, rate, or resample.  If the two files have  dif-
-       ferent  numbers of channels, the avg or other channel mix-
+		 the volume knob.  Speed gives the Hertz value of
+		 the  wave.   This must be under 30.  Depth gives
+		 the amount the volume is cut into  by	the  sine
+		 wave,	ranging 0.0 to 1.0 and defaulting to 0.5.
+
+       vol gain	 [ type ]
+		 The vol effect is much	 like  the  command  line
+		 option	 -v.   It allows you to adjust the volume
+		 of an input file and allows you to  specify  the
+		 adjustment  in	 relation to amplitude, power, or
+		 dB.  When type is amplitude then a linear change
+		 of the amplitude is performed based on the gain.
+		 Therefore, a value of 1.0 will keep  the  volume
+		 the  same, 0.0 to < 1.0 will cause the volume to
+		 decrease and values of > 1.0 will cause the vol-
+		 ume  to increase.  Beware of clipping audio data
+		 when the gain is greater then 1.0.   A	 negative
+		 value	performs  the  same adjustment while also
+		 changing the phase.
+		 When type is power then  a  value  of	1.0  also
+		 means no change in volume.
+		 When  type  is	 dB the amplitude is change loga-
+		 rithmically.  0.0 is constant while  +6  doubles
+		 the amplitude.
+
+       Sox  enforces certain effects.  If the two files have dif-
+       ferent sampling rates, the requested effect must be one of
+       polyphase,  rate, or resample.  If the two files have dif-
+       ferent numbers of channels, the avg or other channel  mix-
        ing effect must be requested.
 
 BUGS
-       The syntax is horrific.	Thats the breaks when  trying  to
+       The  syntax  is horrific.  Thats the breaks when trying to
        handle all things from the command line.
 
-       Please  report  any  bugs  found in this version of sox to
+       Please report any bugs found in this  version  of  sox  to
        Chris Bagwell (cbagwell@sprynet.com)
 
 FILES
@@ -1142,38 +1169,11 @@
        play(1), rec(1), soxexam(1)
 
 NOTICES
-       The version of Sox that accompanies this	 manual	 page  is
-       support	by  Chris Bagwell (cbagwell@sprynet.com).  Please
+       The  version  of	 Sox that accompanies this manual page is
+       support by Chris Bagwell	 (cbagwell@sprynet.com).   Please
        refer any questions regarding it to this address.  You may
-       obtain	the   latest   version	 at   the  the	web  site
+       obtain  the  latest  version   at   the	 the   web   site
        http://home.sprynet.com/~cbagwell/sox.html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-