Homepage for dpwelib/sndutils

2007-12-28: Note that the latest distribution of dpwelib is available on the SPRACHcore page - much more recent than the one pointed to here.

Check the CHANGES document for the main source directory.

When I started as a graduate student in 1989, sound support on computers was pretty rare. One guy at the lab had a NeXT cube, and I was so jealous of all the audio support in his operating system. Eventually, we got hold of some DEC workstations with experimental 56000 cards in them, but without any proper libraries, so I ended up writing some myself. Then, as new machines became available, I adapted this original library for a range of different platforms and file formats.

The result is a library of audio hardware and soundfile access functions and a bunch of utility programs that use them. Eventually after moving to ICSI, I was inducted into the mysteries of GNU Autoconf, and took the time to make a package that would hopefully install on a range of platforms. Thus was built the "dpwelib" package, which ended up including most of the utility programs I had previously made available as "sndutils".

The package consists of:

a low-level multi-format soundfile interface library
a higher-level integrated interface to sndf soundfiles
a portable audio hardware input/output interface library


a simple soundfile play program
a simple program for recording soundfiles from audio hardware
for gathering statistics on a soundfile, or the difference between two soundfiles.
change the format (sample type, number of channels) of a soundfile.
change the sampling rate (resample/interpolate) a soundfile.

Each component has its own man page - just click on the highlighted name.

The package is configured by GNU Autoconf ("just type ./configure") and has been compiled on the following platforms:


The latest release of the package should be at the ICSI ftp site i.e.


You can get an associated directory of test scripts and examples in different file formats as:


You should decompress these to make a subdirectory off the main dpwelib directory. Then "make test" should run a couple of test scripts over the programs to check basic functionality.

I would be very glad to hear of any problems or other comments. Enjoy!

DAn Ellis <dpwe@icsi.berkeley.edu>
International Computer Science Institute, Berkeley CA
$Header: /n/yam/da/dpwe/public_html/RCS/dpwelib.html,v 1.4 1997/05/27 21:47:02 dpwe Exp dpwe $