ftp.nice.ch/pub/next/unix/audio/sox.12.12.NIHS.bs.tar.gz#/sox.12.12.NIHS.bs/src

8svx.c
[View 8svx.c] 
CHEAT
 
INSTALL
 
MakeOS2
 
MakeOS2.dep
 
Makefile.ami
 
Makefile.arc
 
Makefile.b30
 
Makefile.bor
 
Makefile.c70
 
Makefile.os9
 
Makefile.unx
 
README
 
README2
 
Setup
 
TIPS
 
TODO
 
aiff.c
[View aiff.c] 
amiga.c
[View amiga.c] 
amiga.h
[View amiga.h] 
armceil.c
[View armceil.c] 
armfloor.c
[View armfloor.c] 
au.c
[View au.c] 
auto.c
[View auto.c] 
avg.c
[View avg.c] 
band.c
[View band.c] 
cdr.c
[View cdr.c] 
copy.c
[View copy.c] 
cut.c
[View cut.c] 
dat.c
[View dat.c] 
descrip.mms
 
dyn.c
[View dyn.c] 
echo.c
[View echo.c] 
g711.c
[View g711.c] 
g721.c
[View g721.c] 
g723_24.c
[View g723_24.c] 
g723_40.c
[View g723_40.c] 
g72x.c
[View g72x.c] 
g72x.h
[View g72x.h] 
getopt.c
[View getopt.c] 
handlers.c
[View handlers.c] 
hcom.c
[View hcom.c] 
highp.c
[View highp.c] 
libst.c
[View libst.c] 
libst.h
[View libst.h] 
lowp.c
[View lowp.c] 
map.c
[View map.c] 
mask.c
[View mask.c] 
maud.c
[View maud.c] 
misc.c
[View misc.c] 
monkey.au
 
monkey.voc
 
patchlvl.h
[View patchlvl.h] 
pick.c
[View pick.c] 
pred.c
[View pred.c] 
rate.c
[View rate.c] 
raw.c
[View raw.c] 
resampl.h
[View resampl.h] 
resample.c
[View resample.c] 
resdefs.h
[View resdefs.h] 
reverse.c
[View reverse.c] 
sbdsp.c
[View sbdsp.c] 
sbprog.doc
 
sf.c
[View sf.c] 
sfheader.h
[View sfheader.h] 
sfircam.h
[View sfircam.h] 
skel.c
[View skel.c] 
skeleff.c
[View skeleff.c] 
smp.c
[View smp.c] 
sndrtool.c
[View sndrtool.c] 
sound2au.com
 
sound2sun.c
[View sound2sun.c] 
sound2sun.opt
 
sox.c
[View sox.c] 
sox.man
[View sox.man] 
sox.nt
 
sox.opt
 
sox.sh
[View sox.sh] 
sox.txt
[View sox.txt] 
split.c
[View split.c] 
st.h
[View st.h] 
st.man
[View st.man] 
stat.c
[View stat.c] 
testall.sh
[View testall.sh] 
tests.com
 
tests.sh
[View tests.sh] 
util.c
[View util.c] 
version.h
[View version.h] 
vibro.c
[View vibro.c] 
vms.lis
 
voc.c
[View voc.c] 
voc.info
 
wav.c
[View wav.c] 
wav.h
[View wav.h] 
wve.c
[View wve.c] 

README


		ST: Sound Tools



ST translates sound samples between different file formats,
and performs various sound effects.

This release understands "raw" files in various binary formats,
raw textual data, Microsoft Windows .WAV files, MAUD files,
Sound Blaster .VOC files, IRCAM SoundFile files, SUN 
Sparcstation .au files, mutant DEC .au files, Apple/SGI AIFF files, 
CD-R (music CD format), Macintosh HCOM files, Sounder files, 
NeXT .snd files, SUN ADPCM (compressed) .au files,
Soundtool (DOS) files, and Psion (palmtop) A-law files.

The sound effects include changing the sample rate, adding echo 
delay lines, applying low-, high, and band-pass filtering, 
examining sample loops and grabbing the looped parts, xlating
between stereo and monophonic channels nicely,
reversing a sample in order to search for Satanic messages,
adding masking noise to avoid buzzing voices, and the infamous 
Fender Vibro effect.

Big news!  The 'resample' effect does high-grade signal rate
changes using real signal theory.  Yes, it's very slow.

More big news!  Sample loops are now supported in a few
file formats: SMP and AIFF.  WAV needs it.  I don't know
what other formats actually know about sampler notes & loops.
(To make a loop, you need a waveform editor that knows about
them and has special features.  I do it on a Mac.)

Even more big news!  SOX now has full translation for stereo
and mono sound files with a revamped 'avg' and the new 'pick' 
and 'split' effects.

History:
This is the 11th release of the Sound Tools.  Patchlevel 12.
All previous releases went out on alt.sources.  This one should
go out on comp.sources.misc, if all goes well.

There is a nice graphical front-end for the NeXT
called GISO.  Check the comp.sys.next group
or poke around the NeXT binary sites.  Also
someone has done an OS/2 port.

Caveats:
SOX is intended as the Swiss Army knife of sound
processing tools.  It doesn't do anything very well,
but sooner or later it comes in very handy.
SOX is really only useable day-to-day if you
hide the wacky options with one-line shell scripts.

Channel averaging doesn't work.  The software architecture
of stereo & quad is bogus.

Installing:
Use the DOS, Unix, Amiga, OS2, or OS9 Makefile as appropriate.
The Makefile needs one option set: -DSYSV if you're on a
System V machine, or -DBSD if you're on a BSD-ish machine.
See the INSTALL file for more detailed instructions.
There are three DOS Makefiles: Makefile.bor for pre-3.0 
Borland C, Makefile.b30 for Borland 3.0, and Makefile.c70
for Microsoft C 7.0.  OS2 needs the two OS2 Makefile-type
programs.  OS9 needs Makefile.os9 for Microware Ultra C.
Amiga needs the Amiga stuff.  Archimedes needs the .arc stuff
and Setup.  The latter probably needs work.

After compiling, run 'tests.sh'.  It should print nothing.  This
indicates that data is copied correctly.  By reading the tests
you may see how to make a sound sample file which you can play.
'monkey.au' and 'monkey.voc' are a short lo-fi monkey screech
in two supported file formats, to help you ensure that Sound 
Tools works.  Note: 'tests.sh' works only under the Unix sh(1) 
shell.  Use 'tests.com' under VMS.

Then, run 'testall.sh'.  This copies monkey.voc into all other
supported file formats, making files in /tmp.  Then, it
translates those formats back into .voc format.  This
ensures (slightly) that all of the readers & writers don't 
core-dump.

Now, read TIPS and CHEAT.  These give a background on how
SOX deals with sound files and how to convert this format
to that format, with examples for the most popular formats.

SOX uses file suffices to determine the nature of a sound sample file.
If it finds the suffix in its list, it uses the appropriate read
or write handler to deal with that file.  You may override the suffix
by giving a different type via the '-t type' argument.  See the manual
page for more information.  The 'tests.sh' script illustrates various
sox usages.

SOX has an auto-detect feature that attempts to figure out
the nature of an unmarked sound sample.  It works very well.
This is the 'auto' file format.

I hope to inspire the creation of a common base of sound processing
tools for computer multimedia work, similar to the PBM toolkit for 
image manipulation.

Sound Tools may be used for any purpose.  Source
distributions must include the copyright notices.  Binary
distributions must include acknowledgements to the creators.
The files I wrote are copyright Lance Norskog.
The contributed files are copyright by their respective authors.

When you have minor changes to contribute, it's OK to post
them; if you have a major release, please send it to me.
I'd like to coordinate the releases and do a peer review.
Please document your changes.  I don't possess every kind
of computer currently sold, and SOX is now beyond the phase
where I can understand and test most of your contributions.
Please make your diff files such that your changes are 
set off with ifdefs, and document them.  

Please DO NOT reformat the source code with your favorite 
C beautifier, make 10 fixes, and send me the resulting release.
I do not have the time to fish through 10000 diffs to find 
your 10 fixes.

Note: There will be absolutely no more hardware driver
handlers in SOX.  Playing & recording sound samples is
not SOX's job; translation and sound effects is it.
If you wish to write a separate main program (like sox.c)
which uses the SoundTools library and records or plays
on your machine, that's great and I'll be happy to
include it.

The majority of SOX features and source code are contributed
by you the user.  Thank you very much for making SOX
a success!

	Creator & Maintainer:
		Lance Norskog		thinman@netcom.com

	Contributors:
		Guido Van Rossum	guido@cwi.nl
			AU, AIFF, AUTO, HCOM, reverse,
			many bug fixes
		Jef Poskanzer		jef@well.sf.ca.us
			original code for u-law and delay line
		Bill Neisius		bill%solaria@hac2arpa.hac.com 
			DOS port, 8SVX, Sounder, Soundtool formats
			Apollo fixes, stat with auto-picker
		Rick Richardson		rick@digibd.com
			WAV and SB driver handlers, fixes
		David Champion		dgc3@midway.uchicago.edu
			Amiga port 
		Pace Willisson		pace@blitz.com
			Fixes for ESIX
		Leigh Smith		leigh@psychok.dialix.oz.au
			SMP and comment movement support.
		David Sanderson		dws@ssec.wisc.edu
			AIX3.1 fixes
			(Note that to my knowledge AIX on RS/6000s has
			NO SUPPORT for playing any sort of sound file,
			so please don't write to me any more to ask
			"how do I play sound files on my AIX box".  I
			ported sox to AIX solely to use it to translate
			between sound file formats.)
		Glenn Lewis		glewis@pcocd2.intel.com
			AIFF chunking fixes
		Brian Campbell		brianc@quantum.qnx.com
			QNX port and 16-bit fixes
		Chris Adams		gt8741@prism.gatech.edu
			DOS port fixes
		John Kohl		jtkohl@kolvir.elcr.ca.us
			BSD386 port, VOC stereo support
		Ken Kubo		ken@hmcvax.claremont.edu
			VMS port, VOC stereo support
		Frank Gadegast 		<phade@cs.tu-berlin.de>
			Microsoft C 7.0 & C Borland 3.0 ports
		David Elliot		<dce@scmc.sony.com>
			CD-R format support
		David Sears		<dns@essnj3.essnjay.com>
			Linux support
		Tom Littlejohn          <tlit@seq1.loc.gov>
			Raw textual data
		Boisy G. Pitre 		boisy@microware.com
			OS9 port
                Sun Microsystems, Guido Van Rossum
		        CCITT G.711, G.721, G.723 implementation
		Graeme Gill		graeme@labtam.labtam.oz.au
			A-LAW format, Good .WAV handling,
			avg channel expansion
		Allen Grider		grider@hfsi.hfsi.com
			VOC stereo mode, WAV file handling
		Michel Fingerhut 	Michel.Fingerhut@ircam.fr
			Upgrade 'sf' format to current IRCAM format.
			Float file support.
		Chris Knight
			Achimedes Acorn support
		Richard Caley 		R.Caley@ed.ac.uk
			Psion WVE handler
		Lutz Vieweg		lkv@mania.RoBIN.de
			MAUD (Amiga) file handler
		Tim Gardner		timg@tpi.com
			Windows NT port for V7
		Jimen Ching 		jiching@wiliki.eng.hawaii.edu
			Libst porting bugs
		Lauren Weinstein	lauren@vortex.com
			DOS porting, scripts, professional use
		(your name could be here, too)
		(I've probably lost a few, and several people fixed
		 the same bugs.)

README2

Downsampled stuff can sound much better if pre-treated with
signal processing techniques.
These would be dynamic compression and gentle high-end boost.
If you folks have analog compressor or comp-limiter,
and a parametric EQ, you can do this in analog.
(I don't have nice effect code yet for these.)

16-bits to 8-bits:
Dynamic compression pushes quieter signal detail from bits 8-10
up into bits 0-7, so that when you throw away bits 8-15, you
have a little more signal.

Lowering the sampling rate:
A gentle high-end boost will accentuate what high end you have
left after changing the sampling rate.  That is, by boosting
your "new" low high end, you imply the "old" higher high end
which is now gone.

Noise
talk about masking noise.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.