Attention

WARNING: From 9am on 19th August until 5pm on 2nd September there will be no access to the Stanage HPC cluster.

We will send an email to notify you when Stanage is back online and available for job submission.

libsndfile

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 GNU Lesser General Public License (GPL).

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

libsndfile has the following main features:

  • Ability to read and write a large number of file formats.

  • A simple, elegant and easy to use Applications Programming Interface.

  • Usable on Unix, Win32, MacOS and others.

  • On the fly format conversion, including endian-ness swapping, type conversion and bitwidth scaling.

  • Optional normalisation when reading floating point data from files containing integer data.

  • Ability to open files in read/write mode.

  • The ability to write the file header without closing the file (only on files open for write or read/write).

  • Ability to query the library about all supported formats and retrieve text strings describing each format.

Usage

To make this library available, run one of the following module commands:

module load libsndfile/1.0.28-GCCcore-9.3.0
module load libsndfile/1.0.28-GCCcore-10.2.0
module load libsndfile/1.0.31-GCCcore-11.2.0
module load libsndfile/1.1.0-GCCcore-11.3.0
module load libsndfile/1.2.0-GCCcore-12.2.0

Installation method

libsndfile version 1.0.28 was installed using Easybuild 4.7.0, build details can be found in $EBROOTLIBSNDFILE/easybuild with the module loaded.


Testing

Testing has been conducted by running an interactive session and compiling the example list_formats. Using the command :

gcc list_formats.c $(pkg-config --libs sndfile) -o output