libsndfile.jpg
History -+- Capabilities -+- Similar or Related Projects
Programming Interface -+- Download
News -+- Change Log


Libsndfile is a C library for reading and writing files containg 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 Gnu General Public License or GPL.

The library was written to compile and run on a Linux system but should compile and run on just about any Unix. It now also compiles and runs on Win32 systems using the Microsoft compiler (thanks to the efforts of Albert Faber).

As the libary was designed to handle both little-endian (such as WAV) and big-endian (such as AIFF) data, it was also designed to compile and run correctly on little-endian (such and Intel and DEC/Compaq Alpha) processor systems as well as big-endian processor systems such as Motorola 68k, Power PC, MIPS and Sparc. The library was also written to be easy to extend for reading and writing new sound file formats.

It has so far been compiled and tested on the following systems:

History


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
wavplay program which 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.

Here is the release history for libsndfile :

Capabilities


libsndfile is currently capable of reading and writing the following sound file formats :
In the near future I hope to add the following to the list:
Other file formats may also be added on request.


Similar or Related Projects




Download


The latest version is 0.0.12 and the source code can be downloaded
here (~150k .tar.gz file).



The latest version of this document can be found here.

Author : Erik de Castro Lopo

This page has been accessed times.