2007-05-14 09:55:24 +00:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
|
|
|
|
|
|
<HEAD>
|
|
|
|
<TITLE>
|
|
|
|
libsndfile
|
|
|
|
</TITLE>
|
2004-01-21 07:46:34 +00:00
|
|
|
<META NAME="Author" CONTENT="Erik de Castro Lopo (erikd AT zip DOT com DOT au)">
|
2004-02-08 10:18:12 +00:00
|
|
|
<META NAME="Version" CONTENT="libsndfile-1.0.6">
|
2007-05-14 09:55:24 +00:00
|
|
|
<META NAME="Description" CONTENT="The libsndfile Home Page">
|
|
|
|
<META NAME="Keywords" CONTENT="WAV AIFF AU SVX PAF NIST W64 libsndfile sound audio dsp Linux">
|
|
|
|
<META NAME="ROBOTS" CONTENT="NOFOLLOW">
|
|
|
|
<LINK REL=StyleSheet HREF="libsndfile.css" TYPE="text/css" MEDIA="all">
|
|
|
|
</HEAD>
|
|
|
|
|
2004-01-21 07:46:34 +00:00
|
|
|
<BODY TEXT="#FFFFFF" BGCOLOR="#000000" LINK="#9090FF" VLINK="#5050FF" ALINK="#FF00FF">
|
2007-05-14 09:55:24 +00:00
|
|
|
<!-- pepper -->
|
|
|
|
<CENTER>
|
|
|
|
<IMG SRC="libsndfile.jpg" HEIGHT=98 WIDTH=367 ALT="libsndfile.jpg">
|
|
|
|
</CENTER>
|
|
|
|
<!-- pepper -->
|
|
|
|
<CENTER>
|
2004-01-21 07:46:34 +00:00
|
|
|
<A HREF="#History">History</A> -+-
|
|
|
|
<A HREF="#Features">Features</A> -+-
|
|
|
|
<A HREF="#Similar">Similar or Related Projects</A>
|
|
|
|
<BR>
|
|
|
|
<A HREF="api.html">Programming Interface</A> -+-
|
|
|
|
<A HREF="bugs.html">Bug Reporting</A> -+-
|
|
|
|
<A HREF="#Download">Download</A> -+-
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="NEWS">News</A>
|
2004-01-21 07:46:34 +00:00
|
|
|
<BR>
|
|
|
|
<A HREF="FAQ.html">FAQ</A> -+-
|
|
|
|
<A HREF="lists.html">Mailing Lists</A> -+-
|
|
|
|
<A HREF="ChangeLog">Change Log</A> -+-
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="#Licensing">Licensing Information</A>
|
|
|
|
</CENTER>
|
|
|
|
|
|
|
|
<BR><BR>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
Libsndfile is a C library for reading and writing files containing sampled sound
|
|
|
|
(such as MS Windows WAV and the Apple/SGI AIFF format) through one standard
|
|
|
|
library interface. It is released in source code format under the
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://www.gnu.org/copyleft/lesser.html">Gnu Lesser General Public License</A>.
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
<P>
|
|
|
|
The library was written to compile and run on a Linux system but should compile
|
2004-01-21 07:46:34 +00:00
|
|
|
and run on just about any Unix (including MacOSX).
|
|
|
|
It can also be compiled and run on Win32 systems using the Microsoft compiler and
|
|
|
|
MacOS (OS9 and earlier) using the Metrowerks compiler.
|
|
|
|
There are directions for compiling libsndfile on these platforms in the Win32 and
|
2007-05-14 09:55:24 +00:00
|
|
|
MacOS directories of the source code distribution.
|
|
|
|
</P>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
It was designed to handle both little-endian (such as WAV) and big-endian
|
|
|
|
(such as AIFF) data, and to compile and run correctly on little-endian (such as Intel
|
|
|
|
and DEC/Compaq Alpha) processor systems as well as big-endian processor systems such
|
|
|
|
as Motorola 68k, Power PC, MIPS and Sparc.
|
|
|
|
Hopefully the design of the library will also make it easy to extend for reading and
|
2007-05-14 09:55:24 +00:00
|
|
|
writing new sound file formats.
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
<P>
|
|
|
|
It has been compiled and tested (at one time or another) on the following systems:
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
<UL>
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI>i586-pc-linux-gnu (Redhat 5.2 glibc)
|
|
|
|
<LI>powerpc-unknown-linux-gnu (Linux PPC)
|
|
|
|
<LI>powerpc-apple-darwin6.0 (Mac OS X 10.2)
|
|
|
|
<LI>sparc-sun-solaris2.8 (gcc)
|
|
|
|
<LI>mips-sgi-irix5.3 (Native IRIX toolset)
|
|
|
|
<LI>sparc-sun-solaris2.5.1 (gcc)
|
|
|
|
<LI>mips-sgi-irix5.3 (gcc)
|
|
|
|
<LI>mips-sgi-irix6.3 (cc - native compiler)
|
|
|
|
<LI>QNX 6.0 (gcc 2.96.2 19991024)
|
|
|
|
<LI>i386-unknown-openbsd2.9 (gcc 2.95.3 20010125)
|
|
|
|
<LI>i686-pc-cygwin (Cygwin on Win98)
|
2007-05-14 09:55:24 +00:00
|
|
|
<BR>
|
|
|
|
<LI>Win32 (Microsoft Visual C++)
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI>MacOS 8.6 (Metrowerks Codewarrior Pro4)
|
2007-05-14 09:55:24 +00:00
|
|
|
</UL>
|
|
|
|
<!-- pepper -->
|
|
|
|
<P>
|
|
|
|
At the moment, each new release is being tested on i386 Linux, PowerPC Linux,
|
|
|
|
MacOSX on PowerPC and Win32.
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
|
|
|
|
<A NAME="Capabilities"></A>
|
|
|
|
<A NAME="Features"></A>
|
|
|
|
<H1><B>Features</B></H1>
|
|
|
|
<P>
|
|
|
|
libsndfile has the following main features :
|
|
|
|
</P>
|
|
|
|
<UL>
|
|
|
|
<lI> Ability to read and write a large number of file formats.
|
|
|
|
<LI> A simple, elegant and easy to use Applications Programming Interface.
|
|
|
|
<LI> Usable on Unix, Win32, MacOS and others.
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI> On the fly format conversion, including endian swapping, type conversion
|
2007-05-14 09:55:24 +00:00
|
|
|
and bitwidth scaling.
|
|
|
|
<LI> Optional normalisation when reading floating point data from files containing
|
|
|
|
integer data.
|
|
|
|
<LI> Ability to open files in read/write mode.
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI> The ability to write the file header without closing the file (only on files
|
2007-05-14 09:55:24 +00:00
|
|
|
open for write or read/write).
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI> Ability to query the library about all supported formats and retrieve text
|
2007-05-14 09:55:24 +00:00
|
|
|
strings describing each format.
|
|
|
|
</UL>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
libsndfile has a comprehensive test suite so that each release is as bug free
|
|
|
|
as possible.
|
|
|
|
When new bugs are found, new tests are added to the test suite to ensure that
|
2007-05-14 09:55:24 +00:00
|
|
|
these bugs don't creep back into the code.
|
|
|
|
When new features are added, tests are added to the test suite to make sure that
|
|
|
|
these features continue to work correctly even when they are old features.
|
|
|
|
</P>
|
|
|
|
<P>
|
|
|
|
The following table lists the file formats and encodings that libsndfile can read
|
|
|
|
and write.
|
2004-01-21 07:46:34 +00:00
|
|
|
The file formats formats are arranged across the top and encodings along the left
|
2007-05-14 09:55:24 +00:00
|
|
|
edge.
|
|
|
|
</P>
|
|
|
|
<BR>
|
|
|
|
|
|
|
|
<TABLE BORDER="1" cellpadding="2">
|
|
|
|
<TR><TD> </TD>
|
|
|
|
<TD ALIGN="center">Micro- soft<BR>WAV</TD>
|
|
|
|
<TD ALIGN="center">SGI / Apple<BR>AIFF / AIFC</TD>
|
|
|
|
<TD ALIGN="center">Sun / DEC /<BR>NeXT<BR>AU / SND</TD>
|
|
|
|
<TD ALIGN="center">Header- less<BR>RAW</TD>
|
|
|
|
<TD ALIGN="center">Paris Audio<BR>File<BR>PAF</TD>
|
|
|
|
<TD ALIGN="center">Commo- dore<BR>Amiga<BR>IFF / SVX</TD>
|
|
|
|
<TD ALIGN="center">Sphere<BR>Nist<BR>WAV</TD>
|
|
|
|
<TD ALIGN="center">IRCAM<BR>SF</TD>
|
|
|
|
<TD ALIGN="center">Creative<BR>VOC</TD>
|
|
|
|
<TD ALIGN="center">Sound forge<BR>W64</TD>
|
|
|
|
<TD ALIGN="center"><A HREF="octave.html">GNU Octave 2.0</A><BR>MAT4</TD>
|
|
|
|
<TD ALIGN="center"><A HREF="octave.html">GNU Octave 2.1</A><BR>MAT5</TD>
|
|
|
|
<TD ALIGN="center">Portable Voice Format<BR>PVF</TD>
|
|
|
|
<TD ALIGN="center">Fasttracker 2<BR>XI</TD>
|
|
|
|
<TD ALIGN="center">HMM Tool Kit<BR>HTK</TD>
|
|
|
|
<!-- TD ALIGN="center">Sound<BR>Designer II<BR>SD2</TD -->
|
|
|
|
</TR>
|
|
|
|
<TR><TD>Unsigned 8 bit PCM</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>Signed 8 bit PCM</TD>
|
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>Signed 16 bit PCM</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>Signed 24 bit PCM</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>Signed 32 bit PCM</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>32 bit float</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>64 bit double</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>u-law encoding</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
</TR>
|
|
|
|
<TR><TD>A-law encoding</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>IMA ADPCM</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>MS ADPCM</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>GSM 6.10</TD>
|
|
|
|
<TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>G721 ADPCM 32kbps</TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>G723 ADPCM 24kbps</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>G723 ADPCM 40kbps</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>12 bit DWVW</TD>
|
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>16 bit DWVW</TD>
|
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
|
|
|
|
<TR><TD>24 bit DWVW</TD>
|
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
<TR><TD>Ok Dialogic ADPCM</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD> </TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
<TR><TD>8 bit DPCM</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
<TR><TD>16 bit DPCM</TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
|
|
|
<TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
2004-01-21 07:46:34 +00:00
|
|
|
<TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD>
|
2007-05-14 09:55:24 +00:00
|
|
|
</TR>
|
|
|
|
</TABLE>
|
|
|
|
<!-- pepper -->
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Some of the file formats I am also interested in adding are:
|
|
|
|
</P>
|
|
|
|
<UL>
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI> Soundfont II.
|
|
|
|
<LI> Gravis Ultrasound patch files.
|
2007-05-14 09:55:24 +00:00
|
|
|
<LI> Kurzweil K2000 sampler files.
|
|
|
|
<LI> Ogg Vorbis.
|
|
|
|
<LI> FLAC.
|
|
|
|
</UL>
|
|
|
|
<P>
|
|
|
|
I have decided that I will not be adding support for MPEG Layer 3 due to the
|
|
|
|
patent issues surrounding this file format.
|
|
|
|
</P>
|
|
|
|
<P>
|
|
|
|
Other file formats may also be added on request.
|
|
|
|
</P>
|
|
|
|
|
|
|
|
<!-- pepper -->
|
|
|
|
|
|
|
|
<A NAME="History"></A>
|
|
|
|
<H1><B>History</B></H1>
|
|
|
|
<P>
|
|
|
|
My first attempt at reading and writing WAV files was in 1990 or so under Windows
|
2004-01-21 07:46:34 +00:00
|
|
|
3.1.
|
|
|
|
I started using Linux in early 1995 and contributed some code to the
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://www.vaxxine.com/ve3wwg/gnuwave.html">wavplay</A>
|
2004-01-21 07:46:34 +00:00
|
|
|
program.
|
|
|
|
That contributed code would eventually mutate into this library.
|
|
|
|
As one of my interests is Digital Signal Processing (DSP) I decided that as well as
|
|
|
|
reading data from an audio file in the native format (typically 16 bit short integers)
|
|
|
|
it would also be useful to be able to have the library do the conversion to floating
|
|
|
|
point numbers for DSP applications.
|
|
|
|
It then dawned on me that whatever file format (anything from 8 bit unsigned chars,
|
|
|
|
to 32 bit floating point numbers) the library should be able to convert the data to
|
|
|
|
whatever format the library user wishes to use it in.
|
|
|
|
For example, in a sound playback program, the library caller typically wants the sound
|
2007-05-14 09:55:24 +00:00
|
|
|
data in 16 bit short integers to dump into a sound card even though the data in the
|
2004-01-21 07:46:34 +00:00
|
|
|
file may be 32 bit floating point numbers (ie Microsoft's WAVE_FORMAT_IEEE_FLOAT
|
|
|
|
format).
|
|
|
|
Another example would be someone doing speech recognition research who has recorded
|
|
|
|
some speech as a 16 bit WAV file but wants to process it as double precision floating
|
2007-05-14 09:55:24 +00:00
|
|
|
point numbers.
|
|
|
|
</P>
|
|
|
|
<P>
|
|
|
|
Here is the release history for libsndfile :
|
|
|
|
</P>
|
|
|
|
<UL>
|
|
|
|
<LI>Version 0.0.8 (Feb 15 1999) First official release.
|
|
|
|
<LI>Version 0.0.28 (Apr 26 2002) Final release of version 0 of libsndfile.
|
|
|
|
<LI>Version 1.0.0rc1 (Jun 24 2002) Release candidate 1 of version 1 of libsndfile.
|
|
|
|
<LI>Version 1.0.0rc6 (Aug 14 2002) MacOS 9 fixes.
|
|
|
|
<LI>Version 1.0.0 (Aug 16 2002) First 1.0.X release.
|
|
|
|
<LI>Version 1.0.1 (Sep 14 2002) Added MAT4 and MAT5 file formats.
|
|
|
|
<LI>Version 1.0.2 (Nov 24 2002) Added VOX ADPCM format.
|
|
|
|
<LI>Version 1.0.3 (Dec 09 2002) Fixes for Linux on ia64 CPUs.
|
|
|
|
<LI>Version 1.0.4 (Feb 02 2003) New file formats and functionality.
|
|
|
|
<LI>Version 1.0.5 (May 03 2003) One new file format and new functionality.
|
2004-02-08 10:18:12 +00:00
|
|
|
<LI>Version 1.0.6 (Feb 08 2004) Large file fix for Linux/Solaris, new functionality
|
|
|
|
and Win32 improvements.
|
2007-05-14 09:55:24 +00:00
|
|
|
</UL>
|
2004-01-21 07:46:34 +00:00
|
|
|
|
2007-05-14 09:55:24 +00:00
|
|
|
<A NAME="Similar"></A>
|
|
|
|
<H1><B>Similar or Related Projects</B></H1>
|
|
|
|
|
|
|
|
<UL>
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI><A HREF="http://home.sprynet.com/~cbagwell/sox.html">SoX</A> is a program for
|
2007-05-14 09:55:24 +00:00
|
|
|
converting between sound file formats.
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI><A HREF="http://members.home.com/ve3wwg/gnuwave.html">Wavplay</A> started out
|
|
|
|
as a minimal WAV file player under Linux and has mutated into Gnuwave a client/server
|
2007-05-14 09:55:24 +00:00
|
|
|
application for more general multimedia and games sound playback.
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI><A HREF="http://www.68k.org/~michael/audiofile/">Audiofile</A> (libaudiofile) is
|
|
|
|
a library similar to libsndfile but with a different programming interface. The
|
|
|
|
author Michael Pruett has set out to clone (and fix some bugs) the libaudiofile
|
2007-05-14 09:55:24 +00:00
|
|
|
library which ships with SGI's IRIX OS.
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI><A HREF="ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz">sndlib.tar.gz</A> is
|
2007-05-14 09:55:24 +00:00
|
|
|
another library written by Bill Schottstaedt of CCRMA.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<A NAME="Licensing"></A>
|
|
|
|
<H1><B>Licensing</B></H1>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
libsndfile is released under the terms of the GNU Lesser General Public License. You may
|
|
|
|
read the license
|
|
|
|
<A HREF="http://www.gnu.org/copyleft/lesser.html">here</A>
|
|
|
|
or read a simple explanation of the ideas behind the GPL and the LGPL
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://www.gnu.org/copyleft/copyleft.html">here</A>.
|
|
|
|
</P>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
You can use libsndfile with
|
|
|
|
<A HREF="http://www.gnu.org/">Free Software</A>,
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://www.opensource.org/">Open Source</A>,
|
2004-01-21 07:46:34 +00:00
|
|
|
proprietary, shareware or other closed source applications as long as libsndfile
|
|
|
|
is used as a dynamically loaded library.
|
|
|
|
With applications released under the GNU GPL you can also use libsndfile statically
|
2007-05-14 09:55:24 +00:00
|
|
|
linked to your application.
|
|
|
|
</P>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
I would like to see libsndfile used as widely as possible but I would prefer it
|
|
|
|
if you released software that uses libsndfile as
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://www.gnu.org/">Free Software</A>
|
|
|
|
or
|
|
|
|
<A HREF="http://www.opensource.org/">Open Source</A>.
|
|
|
|
However, if you put in a great deal of effort building a huge application
|
2004-01-21 07:46:34 +00:00
|
|
|
which simply uses libsnfile for file I/O, then I have no problem with you releasing
|
|
|
|
that as closed source and charging as much money as you want for it.
|
2007-05-14 09:55:24 +00:00
|
|
|
</P>
|
|
|
|
<A NAME="Download"></A>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
What I don't like to see is things like Steve Dekorte's
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://www.dekorte.com/Software/OSX/SoundConverter/">SoundConverter</A>
|
|
|
|
for Mac OSX.
|
2004-01-21 07:46:34 +00:00
|
|
|
Mr Dekorte has grabbed a number of Free Software packages and wrapped them in a
|
2007-05-14 09:55:24 +00:00
|
|
|
rather amateurish, buggy GUI and released the result as shareware.
|
2004-01-21 07:46:34 +00:00
|
|
|
He charges US$10 for the full version when his contribution to the whole is, by
|
|
|
|
his own
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="http://groups.google.com/groups?selm=3F9B8F8B.7853300B@mega-nerd.com">
|
2004-01-21 07:46:34 +00:00
|
|
|
addmission</A>,
|
2007-05-14 09:55:24 +00:00
|
|
|
less than 10%.
|
|
|
|
</P>
|
|
|
|
|
|
|
|
<H1><B>Download</B></H1>
|
|
|
|
<P>
|
|
|
|
Here is the latest version. It is available in the following formats (I am no longer
|
2004-01-21 07:46:34 +00:00
|
|
|
distributing RPMs).
|
2007-05-14 09:55:24 +00:00
|
|
|
</P>
|
|
|
|
<UL>
|
2004-01-21 07:46:34 +00:00
|
|
|
<LI>Source code as a .tar.gz :
|
2004-02-08 10:18:12 +00:00
|
|
|
<A HREF="libsndfile-1.0.6.tar.gz">libsndfile-1.0.6.tar.gz</A>
|
2007-05-14 09:55:24 +00:00
|
|
|
</UL>
|
|
|
|
<P>
|
|
|
|
Compiling libsndfile is relatively easy. The INSTALL file in the top level directory
|
2004-01-21 07:46:34 +00:00
|
|
|
gives instructions on compiling and installing libsndfile on Unix-like systems
|
2007-05-14 09:55:24 +00:00
|
|
|
(including MacOSX). For Win32 there are instructions in the doc/ directory of the
|
2004-01-21 07:46:34 +00:00
|
|
|
tarball. These instructions are mirrored
|
2007-05-14 09:55:24 +00:00
|
|
|
<A HREF="win32.html">here</A>.
|
|
|
|
</P>
|
|
|
|
<BR><BR>
|
|
|
|
|
|
|
|
<HR>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The latest version of this document can be found
|
2004-01-21 07:46:34 +00:00
|
|
|
<A HREF="http://www.zip.com.au/~erikd/libsndfile/">here</A>.
|
2007-05-14 09:55:24 +00:00
|
|
|
</P>
|
|
|
|
<P>
|
2004-01-21 07:46:34 +00:00
|
|
|
Author :
|
|
|
|
<A HREF="mailto:erikd@zip.com.au">Erik de Castro Lopo</a>
|
2007-05-14 09:55:24 +00:00
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
<P>
|
|
|
|
This page has been accessed
|
|
|
|
<IMG SRC=
|
2004-01-21 07:46:34 +00:00
|
|
|
"/cgi-bin/counter?ft=6|frgb=55;55;55|tr=0|trgb=0;0;0|wxh=15;20|md=6|dd=B|st=1|sh=1|df=libsndfile.dat"
|
2007-05-14 09:55:24 +00:00
|
|
|
HEIGHT=30 WIDTH=100 ALT="counter.gif">
|
|
|
|
times.
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
2004-01-21 07:46:34 +00:00
|
|
|
<!-- <A HREF="mailto:lsf0305@mega-nerd.com">For the bots</A> -->
|
2007-05-14 09:55:24 +00:00
|
|
|
<!-- pepper -->
|
|
|
|
|
|
|
|
<BR><BR>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|
|
|
|
|
|
|
|
<!--
|
|
|
|
Do not edit or modify anything in this comment block.
|
2004-01-21 07:46:34 +00:00
|
|
|
The arch-tag line is a file identity tag for the GNU Arch
|
2007-05-14 09:55:24 +00:00
|
|
|
revision control system.
|
2004-01-21 07:46:34 +00:00
|
|
|
|
2007-05-14 09:55:24 +00:00
|
|
|
arch-tag: a96adffb-3017-46e2-82a0-6d77832b14d5
|
|
|
|
-->
|