| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <HTML> |
| |
| <HEAD> |
| <TITLE> |
| libsndfile |
| </TITLE> |
| <META NAME="Author" CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)"> |
| <META NAME="Version" CONTENT="libsndfile-1.0.25"> |
| <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"> |
| <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print"> |
| </HEAD> |
| |
| <BODY> |
| <!-- pepper --> |
| <CENTER> |
| <IMG SRC="libsndfile.jpg" HEIGHT=98 WIDTH=367 ALT="libsndfile.jpg"> |
| </CENTER> |
| <!-- pepper --> |
| <CENTER> |
| <A HREF="#History">History</A> -+- |
| <A HREF="#Features">Features</A> -+- |
| <A HREF="#Similar">Similar or Related Projects</A> -+- |
| <A HREF="NEWS">News</A> |
| <br> |
| <A HREF="development.html">Development</A> -+- |
| <A HREF="api.html">Programming Interface</A> -+- |
| <A HREF="bugs.html">Bug Reporting</A> -+- |
| <A HREF="#Download">Download</A> |
| <br> |
| <A HREF="FAQ.html">FAQ</A> -+- |
| <A HREF="lists.html">Mailing Lists</A> -+- |
| <A HREF="ChangeLog">Change Log</A> -+- |
| <A HREF="#Licensing">Licensing Information</A> -+- |
| <A HREF="#SeeAlso">See Also</A> |
| </CENTER> |
| |
| <br><br> |
| <P> |
| 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 |
| <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 |
| and run on just about any Unix (including MacOS X). |
| There are also pre-compiled binaries available for 32 and 64 bit windows. |
| </P> |
| <P> |
| 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 |
| 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> |
| <LI>Every platform supported by Debian GNU/Linux including x86_64-linux-gnu, |
| i486-linux-gnu, powerpc-linux-gnu, sparc-linux-gnu, alpha-linux-gnu, |
| mips-linux-gnu and armel-linux-gnu.</LI> |
| <LI>arm-linux-androideab (Android phones OS)</LI> |
| <LI>powerpc-apple-darwin7.0 (Mac OS X 10.3)</LI> |
| <LI>sparc-sun-solaris2.8 (using gcc)</LI> |
| <LI>mips-sgi-irix5.3 (using gcc)</LI> |
| <LI>QNX 6.0</LI> |
| <LI>i386-unknown-openbsd2.9</LI> |
| </UL> |
| <!-- pepper --> |
| <P> |
| At the moment, each new release is being tested on i386 Linux, x86_64 Linux, |
| PowerPC Linux, Win32 and Win64. |
| </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. |
| <LI> On the fly format conversion, including endian-ness swapping, type conversion |
| 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. |
| <LI> The ability to write the file header without closing the file (only on files |
| open for write or read/write). |
| <LI> Ability to query the library about all supported formats and retrieve text |
| strings describing each format. |
| </UL> |
| <P> |
| 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 |
| 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. |
| The file formats are arranged across the top and encodings along the left |
| 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">Apple<br>CAF</TD> |
| <TD ALIGN="center">Sound<br>Designer II<br>SD2</TD> |
| <TD ALIGN="center">Free Lossless Audio Codec<br>FLAC</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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD> |
| </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> |
| <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> |
| </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> |
| <TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD> |
| </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> |
| <TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD> |
| </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> |
| <TD ALIGN="center">R/W</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> |
| <TD ALIGN="center">R/W</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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| <TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </TR> |
| |
| <TR><TD>G721 ADPCM 32kbps</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><TD> </TD> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </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> |
| <TD> </TD><TD ALIGN="center">R/W</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD> |
| </TR> |
| </TABLE> |
| |
| <p> |
| From version 1.0.18, libsndfile also reads and writes |
| <a href="http://flac.sourceforge.net/">FLAC</a> |
| and |
| <a href="http://www.vorbis.com/">Ogg/Vorbis</a>. |
| </p> |
| |
| <!-- pepper --> |
| |
| <P> |
| Some of the file formats I am also interested in adding are: |
| </P> |
| <UL> |
| <LI> Kurzweil K2000 sampler files. |
| <LI> Ogg Speex. |
| </UL> |
| <P> |
| I have decided that I will not be adding support for MPEG Layer 3 (commonly |
| known as MP3) due to the patent issues surrounding this file format. |
| See |
| <a href="http://www.mega-nerd.com/libsndfile/FAQ.html#Q020"> |
| the FAQ</a> |
| for more. |
| </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 |
| 3.1. |
| I started using Linux in early 1995 and contributed some code to the |
| <A HREF="http://www.vaxxine.com/ve3wwg/gnuwave.html">wavplay</A> |
| 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 |
| data in 16 bit short integers to dump into a sound card even though the data in the |
| 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 |
| 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. |
| <LI>Version 1.0.6 (Feb 08 2004) Large file fix for Linux/Solaris, new functionality |
| and Win32 improvements. |
| <LI>Version 1.0.7 (Feb 24 2004) Fix build problems on MacOS X and fix ia64/MIPS etc |
| clip mode detction. |
| <LI>Version 1.0.8 (Mar 14 2004) Minor bug fixes. |
| <LI>Version 1.0.9 (Mar 30 2004) Add AVR format. Improve handling of some WAV files. |
| <LI>Version 1.0.10 (Jun 15 2004) Minor bug fixes. Fix support for Win32 MinGW compiler. |
| <LI>Version 1.0.11 (Nov 15 2004) Add SD2 file support, reading of loop data in WAV and AIFF. |
| Minor bug fixes. |
| <LI>Version 1.0.12 (Sep 30 2005) Add FLAC and CAF file support, virtual I/O interface. |
| Minor bug fixes and cleanups. |
| <LI>Version 1.0.13 (Jan 21 2006) Add read/write of instrument chunks. Minor bug fixes. |
| <LI>Version 1.0.14 (Feb 19 2006) Minor bug fixes. Start shipping windows binary/source ZIP. |
| <LI>Version 1.0.15 (Mar 16 2006) Minor bug fixes. |
| <LI>Version 1.0.16 (Apr 30 2006) Add support for RIFX. Other minor feature enhancements and |
| bug fixes. |
| <LI>Version 1.0.17 (Aug 31 2006) Add C++ wrapper sndfile.hh. Minor bug fixes and cleanups. |
| <LI>Version 1.0.18 (Feb 07 2009) Add Ogg/Vorbis suppport, remove captive libraries, many |
| new features and bug fixes. Generate Win32 and Win64 pre-compiled binaries. |
| <LI>Version 1.0.19 (Mar 02 2009) Fix for CVE-2009-0186. Huge number of minor fixes as a |
| result of static analysis. |
| <LI>Version 1.0.20 (May 14 2009) Fix for potential heap overflow. |
| <LI>Version 1.0.21 (December 13 2009) Bunch of minor bug fixes. |
| <LI>Version 1.0.22 (October 04 2010) Bunch of minor bug fixes. |
| <LI>Version 1.0.23 (October 10 2010) Minor bug fixes. |
| <LI>Version 1.0.24 (March 23 2011) Minor bug fixes. |
| <LI>Version 1.0.25 (July 13 2011) Fix for Secunia Advisory SA45125. Minor bug fixes and |
| improvements. |
| </UL> |
| |
| <A NAME="Similar"></A> |
| <H1><B>Similar or Related Projects</B></H1> |
| |
| <UL> |
| <LI><A HREF="http://sox.sourceforge.net/">SoX</A> is a program for |
| converting between sound file formats. |
| <LI><A HREF="http://www.hitsquad.com/smm/programs/WavPlay/">Wavplay</A> started out |
| as a minimal WAV file player under Linux and has mutated into Gnuwave, a client/server |
| application for more general multimedia and games sound playback. |
| <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 in) the libaudiofile |
| library which ships with SGI's IRIX OS. |
| <LI><A HREF="ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz">sndlib.tar.gz</A> is |
| another library written by Bill Schottstaedt of CCRMA. |
| </UL> |
| |
| <A NAME="Licensing"></A> |
| <H1><B>Licensing</B></H1> |
| <P> |
| libsndfile is released under the terms of the GNU Lesser General Public License, |
| of which there are two versions; |
| <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">version 2.1</a> |
| and |
| <a href="http://www.gnu.org/copyleft/lesser.html">version 3</a>. |
| To maximise the compatibility of libsndfile, the user may choose to use libsndfile |
| under either of the above two licenses. |
| You can also read a simple explanation of the ideas behind the GPL and the LGPL |
| <A HREF="http://www.gnu.org/copyleft/copyleft.html">here</A>. |
| </P> |
| <P> |
| You can use libsndfile with |
| <A HREF="http://www.gnu.org/">Free Software</A>, |
| <A HREF="http://www.opensource.org/">Open Source</A>, |
| proprietary, shareware or other closed source applications as long as libsndfile |
| is used as a dynamically loaded library and you abide by a small number of other |
| conditions (read the LGPL for more info). |
| With applications released under the GNU GPL you can also use libsndfile statically |
| linked to your application. |
| </P> |
| <P> |
| I would like to see libsndfile used as widely as possible but I would prefer it |
| if you released software that uses libsndfile as |
| <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 significant application |
| which simply uses libsndfile 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 as long as you |
| abide by <A HREF="http://www.gnu.org/copyleft/lesser.html">the license</A>. |
| </P> |
| |
| <A NAME="Download"></A> |
| <H1><B>Download</B></H1> |
| <P> |
| Here is the latest version. It is available in the following formats: |
| </P> |
| <UL> |
| <LI>Source code as a .tar.gz : |
| <A HREF="files/libsndfile-1.0.25.tar.gz">libsndfile-1.0.25.tar.gz</A> |
| and |
| <A HREF="files/libsndfile-1.0.25.tar.gz.asc">(GPG signature)</A>. |
| <LI>Win32 installer: |
| <A HREF="files/libsndfile-1.0.25-w32-setup.exe"> |
| libsndfile-1.0.25-w32-setup.exe</A> (thoroughly tested under |
| <a href="http://www.winehq.com/">Wine</a> and Windows XP). |
| <LI>Win64 installer: |
| <A HREF="files/libsndfile-1.0.25-w64-setup.exe"> |
| libsndfile-1.0.25-w64-setup.exe</A> |
| (thoroughly tested on 64 bit Windows 7). |
| </UL> |
| |
| <P> |
| The Win32 installer was compiled for Windows XP but should also work on Windows |
| 2000, Vista and Windows 7. |
| </p> |
| |
| <P> |
| Pre-release versions of libsndfile are available |
| <A HREF="http://www.mega-nerd.com/tmp/">here</A> |
| and are announced on the |
| <A HREF="lists.html">libsndfile-devel</A> |
| mailing list. |
| </P> |
| |
| <A NAME="SeeAlso"></A> |
| <H1><B>See Also</B></H1> |
| <UL> |
| <LI><a href="http://www.mega-nerd.com/libsndfile/tools/"> |
| sndfile-tools</a> |
| : a small collection of programs which use libsndfile. |
| </UL> |
| |
| <br><br> |
| |
| <hr> |
| |
| <P> |
| The latest version of this document can be found |
| <A HREF="http://www.mega-nerd.com/libsndfile/">here</A>. |
| </P> |
| <P> |
| Author : |
| <A HREF="mailto:erikd@mega-nerd.com"> |
| Erik de Castro Lopo</a> |
| </P> |
| <!-- pepper --> |
| <P> |
| This page has been accessed |
| <IMG SRC= |
| "/cgi-bin/Count.cgi?ft=6|frgb=55;55;55|tr=0|trgb=0;0;0|wxh=15;20|md=7|dd=B|st=1|sh=1|df=libsndfile.dat" |
| HEIGHT=30 WIDTH=100 ALT="counter.gif"> |
| times. |
| </P> |
| <!-- pepper --> |
| <!-- pepper --> |
| <!-- pepper --> |
| |
| <br><br> |
| </BODY> |
| </HTML> |