323 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			323 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								layout: home
							 | 
						||
| 
								 | 
							
								title: The libsndfile Home Page
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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](http://www.gnu.org/copyleft/lesser.html).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								It has been compiled and tested (at one time or another) on the following
							 | 
						||
| 
								 | 
							
								systems:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* 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.
							 | 
						||
| 
								 | 
							
								* powerpc-apple-darwin7.0 (Mac OS X 10.3)
							 | 
						||
| 
								 | 
							
								* sparc-sun-solaris2.8 (using gcc)
							 | 
						||
| 
								 | 
							
								* mips-sgi-irix5.3 (using gcc)
							 | 
						||
| 
								 | 
							
								* QNX 6.0
							 | 
						||
| 
								 | 
							
								* i386-unknown-openbsd2.9
							 | 
						||
| 
								 | 
							
								* Microsoft Windows
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								At the moment, each new release is being tested on i386 Linux, x86_64 Linux,
							 | 
						||
| 
								 | 
							
								PowerPC Linux, Win32 and Win64.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Features
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								libsndfile has the following main features :
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Ability to read and write a large number of [file formats](formats.html).
							 | 
						||
| 
								 | 
							
								* 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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 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](http://www.vaxxine.com/ve3wwg/gnuwave.html) 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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Here is the release history for libsndfile:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Version 0.0.8 (Feb 15 1999) First official release.
							 | 
						||
| 
								 | 
							
								* Version 0.0.28 (Apr 26 2002) Final release of version 0 of libsndfile.
							 | 
						||
| 
								 | 
							
								* Version 1.0.0rc1 (Jun 24 2002) Release candidate 1 of version 1 of libsndfile.
							 | 
						||
| 
								 | 
							
								* Version 1.0.0rc6 (Aug 14 2002) MacOS 9 fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.0 (Aug 16 2002) First 1.0.X release.
							 | 
						||
| 
								 | 
							
								* Version 1.0.1 (Sep 14 2002) Added MAT4 and MAT5 file formats.
							 | 
						||
| 
								 | 
							
								* Version 1.0.2 (Nov 24 2002) Added VOX ADPCM format.
							 | 
						||
| 
								 | 
							
								* Version 1.0.3 (Dec 09 2002) Fixes for Linux on ia64 CPUs.
							 | 
						||
| 
								 | 
							
								* Version 1.0.4 (Feb 02 2003) New file formats and functionality.
							 | 
						||
| 
								 | 
							
								* Version 1.0.5 (May 03 2003) One new file format and new functionality.
							 | 
						||
| 
								 | 
							
								* Version 1.0.6 (Feb 08 2004) Large file fix for Linux/Solaris, new
							 | 
						||
| 
								 | 
							
								  functionality   and Win32 improvements.
							 | 
						||
| 
								 | 
							
								* Version 1.0.7 (Feb 24 2004) Fix build problems on MacOS X and fix ia64/MIPS
							 | 
						||
| 
								 | 
							
								  etc clip mode detection.
							 | 
						||
| 
								 | 
							
								* Version 1.0.8 (Mar 14 2004) Minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.9 (Mar 30 2004) Add AVR format. Improve handling of some WAV
							 | 
						||
| 
								 | 
							
								  files.
							 | 
						||
| 
								 | 
							
								* Version 1.0.10 (Jun 15 2004) Minor bug fixes. Fix support for Win32 MinGW
							 | 
						||
| 
								 | 
							
								  compiler.
							 | 
						||
| 
								 | 
							
								* Version 1.0.11 (Nov 15 2004) Add SD2 file support, reading of loop data in WAV
							 | 
						||
| 
								 | 
							
								  and AIFF. Minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.12 (Sep 30 2005) Add FLAC and CAF file support, virtual I/O
							 | 
						||
| 
								 | 
							
								  interface. Minor bug fixes and cleanups.
							 | 
						||
| 
								 | 
							
								* Version 1.0.13 (Jan 21 2006) Add read/write of instrument chunks. Minor bug
							 | 
						||
| 
								 | 
							
								  fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.14 (Feb 19 2006) Minor bug fixes. Start shipping windows
							 | 
						||
| 
								 | 
							
								  binary/source ZIP.
							 | 
						||
| 
								 | 
							
								* Version 1.0.15 (Mar 16 2006) Minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.16 (Apr 30 2006) Add support for RIFX. Other minor feature
							 | 
						||
| 
								 | 
							
								  enhancements and bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.17 (Aug 31 2006) Add C++ wrapper sndfile.hh. Minor bug fixes and
							 | 
						||
| 
								 | 
							
								  cleanups.
							 | 
						||
| 
								 | 
							
								* Version 1.0.18 (Feb 07 2009) Add Ogg/Vorbis support, remove captive
							 | 
						||
| 
								 | 
							
								  libraries, many new features and bug fixes. Generate Win32 and Win64
							 | 
						||
| 
								 | 
							
								  pre-compiled binaries.
							 | 
						||
| 
								 | 
							
								* Version 1.0.19 (Mar 02 2009) Fix for CVE-2009-0186. Huge number of minor fixes
							 | 
						||
| 
								 | 
							
								  as a result of static analysis.
							 | 
						||
| 
								 | 
							
								* Version 1.0.20 (May 14 2009) Fix for potential heap overflow.
							 | 
						||
| 
								 | 
							
								* Version 1.0.21 (December 13 2009) Bunch of minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.22 (October 04 2010) Bunch of minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.23 (October 10 2010) Minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.24 (March 23 2011) Minor bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.25 (July 13 2011) Fix for Secunia Advisory SA45125. Minor bug
							 | 
						||
| 
								 | 
							
								  fixes and improvements.
							 | 
						||
| 
								 | 
							
								* Version 1.0.26 (November 22 2015) Fix for CVE-2014-9496, CVE-2014-9756 and
							 | 
						||
| 
								 | 
							
								  CVE-2015-7805. Add ALAC/CAF support. Minor bug fixes and improvements.
							 | 
						||
| 
								 | 
							
								* Version 1.0.27 (June 19 2016) Fix a seek regression in 1.0.26. Add metadata
							 | 
						||
| 
								 | 
							
								  read/write for CAF and RF64. FIx PAF endian-ness issue.
							 | 
						||
| 
								 | 
							
								* Version 1.0.28 (April 2 2017) Fix buffer overruns in FLAC and ID3 handling
							 | 
						||
| 
								 | 
							
								  code. Reduce default header memory requirements. Fix detection of Large File
							 | 
						||
| 
								 | 
							
								  Support for 32 bit systems.
							 | 
						||
| 
								 | 
							
								* Version 1.0.29 (August 15 2020) Opus support, build system improvements and
							 | 
						||
| 
								 | 
							
								  bug fixes.
							 | 
						||
| 
								 | 
							
								* Version 1.0.30 (September 19 2020) Bugfix release. Fix file descriptor leaks
							 | 
						||
| 
								 | 
							
								  in sf_open_fd () function. Fix critical CMake bug leading to broken ABI on
							 | 
						||
| 
								 | 
							
								  Linux platforms. Other numerous fixes to CMake build system, consider it
							 | 
						||
| 
								 | 
							
								  stable now. Fix some memory leaks. Fix handling of some SD2 files. Update
							 | 
						||
| 
								 | 
							
								  documentation. Integrate GitHub Actions for faster test builds and Oss-Fuzz
							 | 
						||
| 
								 | 
							
								  for fuzzing tests. Move sndfile.h.in from src/ to include/ directory. To avoid
							 | 
						||
| 
								 | 
							
								  problems, delete old generated sndfile.h from $(top_builddir)/src.
							 | 
						||
| 
								 | 
							
								* Version 1.0.31 (January 24 2021) Bugfix release. Fix multiple memory leaks
							 | 
						||
| 
								 | 
							
								  reported by OSS-Fuzz. More SSE2-optimized functions for x86 and amd64.
							 | 
						||
| 
								 | 
							
								* Version 1.1.0 (March 27 2022) Minor release, backward compatible with previous
							 | 
						||
| 
								 | 
							
								  releases. Added long-awaited MP3 support. Numerous improvements and bugfixes.
							 | 
						||
| 
								 | 
							
								* Version 1.2.0 (December 25 2022) Various bugfixes,
							 | 
						||
| 
								 | 
							
								  removed artificial samplerate limit
							 | 
						||
| 
								 | 
							
								* Version 1.2.1 (August 12 2023) Patch release, various bugfixes.
							 | 
						||
| 
								 | 
							
								* Version 1.2.2 (August 13 2023) Patch release, various bugfixes.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Similar or Related Projects
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* [SoX](http://sox.sourceforge.net/) is a program for converting between sound
							 | 
						||
| 
								 | 
							
								  file formats.
							 | 
						||
| 
								 | 
							
								* [Wavplay](http://www.hitsquad.com/smm/programs/WavPlay/) 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.
							 | 
						||
| 
								 | 
							
								* [Audiofile](http://www.68k.org/~michael/audiofile/) (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.
							 | 
						||
| 
								 | 
							
								* [sndlib.tar.gz](ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz) is
							 | 
						||
| 
								 | 
							
								  another library written by Bill Schottstaedt of CCRMA.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Licensing
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								libsndfile is released under the terms of the GNU Lesser General Public License,
							 | 
						||
| 
								 | 
							
								of which there are two versions;
							 | 
						||
| 
								 | 
							
								[version 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
							 | 
						||
| 
								 | 
							
								and
							 | 
						||
| 
								 | 
							
								[version 3](http://www.gnu.org/copyleft/lesser.html).
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
								[here](http://www.gnu.org/copyleft/lesser.html).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You can use libsndfile with
							 | 
						||
| 
								 | 
							
								[Free Software](http://www.gnu.org/),
							 | 
						||
| 
								 | 
							
								[Open Source](http://www.opensource.org/),
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								I would like to see libsndfile used as widely as possible but I would prefer it
							 | 
						||
| 
								 | 
							
								if you released software that uses libsndfile as
							 | 
						||
| 
								 | 
							
								[Free Software](http://www.gnu.org/)
							 | 
						||
| 
								 | 
							
								or
							 | 
						||
| 
								 | 
							
								[Open Source](http://www.opensource.org/).
							 | 
						||
| 
								 | 
							
								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 [the license](http://www.gnu.org/copyleft/lesser.html).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Download
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Check latest version on
							 | 
						||
| 
								 | 
							
								[GitHub Releases page](https://github.com/libsndfile/libsndfile/releases/).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Binaries and source packages are signed by current releaser David Seifert aka
							 | 
						||
| 
								 | 
							
								@SoapGentoo. You can verify signatures with his public GPG key:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								-----BEGIN PGP PUBLIC KEY BLOCK-----
							 | 
						||
| 
								 | 
							
								Version: GnuPG v2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								mQINBFppABgBEAC42ZiNvV7BTIgR6TQy0YnF54fx3mVRP1u8Mq00UZa7reAsNKh7
							 | 
						||
| 
								 | 
							
								1H60j0W4s6+4pVVIKGfpVGxLwUdJe+KVCYw1Cd3YW6uMf5zZrC/ZWqnJiH/n6S6o
							 | 
						||
| 
								 | 
							
								1l4INII2o6YbGBnzIWBPRo7PlOL+mvgKTLpBSJPnhD8XDGN5wRiV8rL2+6Dptg0F
							 | 
						||
| 
								 | 
							
								nJt7oxECGF3OD3gk6HMel0o82CVkIqMtNaX1L/bhcdF7K0Rp2MXPZMmpn1izW5sI
							 | 
						||
| 
								 | 
							
								asN1G9+w+Zwj7kMJzq1Aw3ac+rsX4SEYdvXjS2QhDHQUIr6LXri3D2WbcEqIZj2R
							 | 
						||
| 
								 | 
							
								JVoVwblsrG11dYXFDBbgrq4NhgTBsxHYDlkr/qF2W+kbPC/nhSqTVZeCYvTBZbOQ
							 | 
						||
| 
								 | 
							
								+RqyN/I0izukglnWmV1jGijFA8snyP8efx732hw/24zRYmtXOtnEITUpw8WOeZCq
							 | 
						||
| 
								 | 
							
								6uiHaQ+eopnY2ojBg9BI7WZm0AFn58xxT9soMsyFOUFgXTqaWFZWlJ3fhZE8/0v8
							 | 
						||
| 
								 | 
							
								JEu/kPGE5aJReT3b34B+Bojkj74XR+h2u7iJJBHMTE8RwGoUOZHer/XsL9xlcdks
							 | 
						||
| 
								 | 
							
								I+7TCjiq++ShaSSt2XsJmw2BhREohrjW/2KkwmvT3b44RMpKPB4WTH+++aqJQNeM
							 | 
						||
| 
								 | 
							
								IqmswOMoZvzEZezInj7WVY/r0WEei1Y6wt1tBrJ/cFf1oQBM1UmphxcrfQARAQAB
							 | 
						||
| 
								 | 
							
								tB9EYXZpZCBTZWlmZXJ0IDxzb2FwQGdlbnRvby5vcmc+iQJUBBMBCgA+BQsJCAcD
							 | 
						||
| 
								 | 
							
								BRUKCQgLBRYCAwEAAh4BAheAAhsBFiEEMdlcq22A0mIkShdQpHYg6AHkfpUFAl/V
							 | 
						||
| 
								 | 
							
								CvoFCQkuceIACgkQpHYg6AHkfpXYxA//aiJW1NwunpmzEc62id8lRMnoLHWVjISZ
							 | 
						||
| 
								 | 
							
								b+xSlm+hk4LYq+ZbthJDzKcT86/3DJOSE1zQw9wLuCao9IW2UfFJQBtR+TAfbagG
							 | 
						||
| 
								 | 
							
								0Yyk/kMcLoFJxnG1ywdJWypCAauuIhia52Z7PmmjsBbFwr6LygDwSQmZAyACMAs7
							 | 
						||
| 
								 | 
							
								TLQe+yERc2RNDsIEsquLSxxRF0Spk9gagWtKgrPc2XBjuNtQDwW7JgsOUoEeHyxC
							 | 
						||
| 
								 | 
							
								29fRUjC3o/pG2I6iAZp17OROZI5yl4TSORrSBDGIi2sayxyxP0x+IPKtrCUcBGNx
							 | 
						||
| 
								 | 
							
								wGp+56bP/V0hA6sgCPh/iwvqLoeibso6l/Kd4ltVAEQnHTd6fr8g+wLEUXfbJVTR
							 | 
						||
| 
								 | 
							
								7aeFUoaFmWjSPlQrNr6HlxSLV/kRx9kVJp1Pn16vkfVBF7fG7iDLiqphwEeQg5ND
							 | 
						||
| 
								 | 
							
								nmGeKAbRRNxFHyBHf0XRsaYiFZQckguO+71XSRtVx8/YP5nyNbtl9y1h/4JlT6Gy
							 | 
						||
| 
								 | 
							
								t7hb5twYFQyQrKss83E/Bo1sRdHpj0ibtqb4ZbYANbh482E6yFhAkuo8YjVTJipI
							 | 
						||
| 
								 | 
							
								1Ve8EBKnX3R+pDt147uyysNvtPVXML+sWpGSMVSm4NA8uT3F5nqxVwj+SeXy3Wq/
							 | 
						||
| 
								 | 
							
								CHQ2VBKGBC655G+wFD5C6O7cTx2MwH+2H8tzhWm+gFlI3MFKEXa/PC+YUC/diYcb
							 | 
						||
| 
								 | 
							
								BrApavriTRa5Ag0EWmkAZgEQAPXMD3mZI+ChvBysXZWksC88/uSEwFeb3XkcRm7v
							 | 
						||
| 
								 | 
							
								04GN7hcz+bfrmnUTB3tuE/ZQgv+u7ZjetvH1aEKieznn/GjnWoOBoJusOYvfAQeF
							 | 
						||
| 
								 | 
							
								0mQVi118QiOZRCnEZpkz+RY9TiXVgrZJg+AGqHZ3Ol4GkInEV2NWgH37Xal+HkFl
							 | 
						||
| 
								 | 
							
								rwI2U7mL0kZRG+LAVCQHKzqU0R0HE1XyJ4qf0awtG5Qi/TZvgXBdZPDXgr8i9Vlf
							 | 
						||
| 
								 | 
							
								UUu10c2XnXM0Av/YAlZmBFjVYrSOUCFenqSVqL+s9sTCVdWlJrGjrr3Ja4uT3kl2
							 | 
						||
| 
								 | 
							
								rLva0AR4oSQoxt8adKohmFz0vzOkQtCoRzhrCwoo3JvNjKdSNoOP1nSsxlO5ji8r
							 | 
						||
| 
								 | 
							
								ih5d+ajPgi580XyHLnrvG7vobR48qqscv1hizKuCgTacOTe6Db2Gqc8xF6v8HhJa
							 | 
						||
| 
								 | 
							
								KwWJtmFllIfN/tIvZ6BbbgHQn0IGf4CYnWf0SksPZqpBmTRpD2jfBxcj2UEg+AR3
							 | 
						||
| 
								 | 
							
								LARjuyUVpFJScyu6ExQG+6O+ByLL31iWP5MgUrza1rIpriPa3NT3rZ3DG2pvQrS3
							 | 
						||
| 
								 | 
							
								ySsrPzH7VRX8L1ThSMSzjwF96aMsd14s7XzR4EzNuWwZDukfs0yavZk6l4o1M0mb
							 | 
						||
| 
								 | 
							
								tbJi7hE4cz13KRHYvIkKMdZGYUnzRzZUDlsj2imakk3BR6GXnxZ1ST6062g+QxiL
							 | 
						||
| 
								 | 
							
								AJFLABEBAAGJBHIEGAEKACYCGwIWIQQx2VyrbYDSYiRKF1CkdiDoAeR+lQUCX9UL
							 | 
						||
| 
								 | 
							
								DQUJCS5xpwJAwXQgBBkBCgAdFiEEuNUxXaAAcsCoYIifzjbhFyAuOEIFAlppAGYA
							 | 
						||
| 
								 | 
							
								CgkQzjbhFyAuOELmrQ/9H9wrWsWa21STZdxUmyU2sh9VXAWEHl1Ey0fVTznDM0Fl
							 | 
						||
| 
								 | 
							
								zx5YSR/TmmnE36rpaz31Ttkx8SP914oV+mMgseecdya9Bf6uZL9Cv7V3KEsJBRL/
							 | 
						||
| 
								 | 
							
								ncrOWQBHP/Xy1X+mLD6A19xq7H4RihSLj0LeK2YVjrJzJ7wMf4mKXuBayQeAHImU
							 | 
						||
| 
								 | 
							
								WRCRTbmK3umh2nB5V0iPd/XZEIiYtiTPe+7E/va6+0bBvOumF3a+Z0iui7eU4hFC
							 | 
						||
| 
								 | 
							
								7Jk71D0dcg09SlIaNoMOrw7cMC3j2pMdKtsj8+0I6WBv14PhhqPAsnjdf7I/4NfK
							 | 
						||
| 
								 | 
							
								L7Jav8T/gDS01uA2Jxm72d+wr+eSjOBXa6x8CEbTqfkjAGxsWENThCp6zDkaXSDd
							 | 
						||
| 
								 | 
							
								JsV0va47vjzG8+wTDAvPy5IxIM/KZZdl4uWM+mF5K+q+eSTOHe7aLF2OdcussoBA
							 | 
						||
| 
								 | 
							
								A18zm994dAkG1COX/qpxanxx2bv/2IvCGPg+x6JtAN8ji2kncWu3dWGQdE5XbVjc
							 | 
						||
| 
								 | 
							
								fDwgsUPpp04G27Mr/x+HpEbgZ5SdA0dAqJktlNvCcHALhlblCWrsh/1QNjT/2iG8
							 | 
						||
| 
								 | 
							
								wsjcpEy/s4tWAuV4PTa4xvZ1JPS7Z7Eo5aBy9ZGOWG9SrHEiHnhkUsiswbHBOEjd
							 | 
						||
| 
								 | 
							
								pBSkmNElDcv9fRUahVCTPfvWBATFDrQyMjJBSm+cV8c/iFQM7isVSu8W7E0eetsJ
							 | 
						||
| 
								 | 
							
								EKR2IOgB5H6Vv9sP/1dxTvH0N0UoEoxIG/hnirEkbRpljdvqy4/uikYBKyQgSbo8
							 | 
						||
| 
								 | 
							
								VITTjea7gIhDztil9WZYt35jbOmoaGM2Z6TP2LEDOWgljYUNq9pl9Sc2GS8cNtEO
							 | 
						||
| 
								 | 
							
								WxExzGOc1Flo730dX3A85Ks3+0WPXZjLDcRRcPVkFd5WLQQDV1YVYopWkuQBC+Br
							 | 
						||
| 
								 | 
							
								4q3uv+sk+bw6gDa9+zFBbDuegdsYuTXrFHoxHz2GRv9Yb7ULCMgpFeNKDgtQq91u
							 | 
						||
| 
								 | 
							
								RqewoTwQp9tlp91LH/hh7R0Q4DRgeFDkLnVRXwSKjVvCrT5cBgImGwtFTGS4egoy
							 | 
						||
| 
								 | 
							
								MDKd/KKjZllp1ahRCln1XfmFQyQVMVvuF/JTtt31n6KwXwK2yxIlXB01xvRH+Ees
							 | 
						||
| 
								 | 
							
								AWeRYWKWXydaAY/9Ve0/PLFlgsr/XUGvt0GoEKe7odD3nZgg6015+/8JTroKw19L
							 | 
						||
| 
								 | 
							
								NZkhdfFMl11Zi0j5k3UbyzjYVpFSd8K2o0VoOG1LFsPp8tlRxNoVzpId0CX1au/p
							 | 
						||
| 
								 | 
							
								y1H7Wy/39mzriRG3rw+mJAQbBjN09putCltXFXpOEWk08n/N3vufCVQUoSu/2Bqw
							 | 
						||
| 
								 | 
							
								2HYj8VtToQp+O5dG3XxvDHINtInP1yr2Wcw2plna0KoXLwv/lZgDm3LN+eCWpG6d
							 | 
						||
| 
								 | 
							
								N/xk25DTSqTHArUQIEkhcHYK6GnyxUcvoKtG88hXtqEPYXiK08FZYAUPTnDYuQIN
							 | 
						||
| 
								 | 
							
								BFppAIkBEADDjvQZUs1NoqJpxkD2QDBudU1DBCaeI1D6CancMtb5FebPUxgFlDMd
							 | 
						||
| 
								 | 
							
								CBGOun48dY5i87gDhT/qS3gP/Mv9rjKJmcG9JHfhpXdW73owxrcsQ96nxxVJNEVl
							 | 
						||
| 
								 | 
							
								UHJw00z8C9eGWqr0SzSoE33K/PkzSkgtsaotF6+3uCerWulweulmGa5dpVfV0mbS
							 | 
						||
| 
								 | 
							
								aVw8VmrhZ5NmCeodyy/lR85rPik5pb32NT6v7xBkgkfS0VYtPB2E5gW1pXX/jEOi
							 | 
						||
| 
								 | 
							
								Mfq9idOEP9lxrNXV9j49Lr0JQCwAcrYbQ2+VPe6eacJEjzJ/6HiUqhPrYdnvydmb
							 | 
						||
| 
								 | 
							
								hU+xmv2NjGp2UnDZDEhzQfwm6fMx+8Nx2uPzCnXQGoyRBwiC/KcdW0F1ZPKdSXqH
							 | 
						||
| 
								 | 
							
								NKoOF62pLvIMSmfI3ZVOrTohArfr1kFEYVDv9Nl7oY+qg2rZEc2srOF74a9Z46bR
							 | 
						||
| 
								 | 
							
								TDPsEQzE2UMCvu3+rofhSD7aRotlKeDCvbe2s0yE4Man457Xc3LXh8Gva8CzCOLE
							 | 
						||
| 
								 | 
							
								2eMhNTsHIZk68WgXp3/uvE4Xy42myrk1AV8XXDdlWgx0Kc/I6tE59O5NVPSfuGvH
							 | 
						||
| 
								 | 
							
								1a15KKx0F6euEnYDKKpQ5PDR6dSn61po0tfbt96m044G/xQFjrfhHei4jji9Ogd9
							 | 
						||
| 
								 | 
							
								vlXVAi2vn3+NCSHFP5l3igLByBHy9iLIdmz7yQuus/1nwRmxOHOf2QARAQABiQI8
							 | 
						||
| 
								 | 
							
								BBgBCgAmAhsMFiEEMdlcq22A0mIkShdQpHYg6AHkfpUFAl/VCxkFCQkucZAACgkQ
							 | 
						||
| 
								 | 
							
								pHYg6AHkfpVPSRAAmheYkYJmtDbkzPBBnj5mbCIQN1/G5PI9eixc/TXWFOXtcjU1
							 | 
						||
| 
								 | 
							
								mJlJpSidHJyLRrx7r0c+N+s8vnY/JuUBsNoMJMER+Mv/CFW4iFi59V534SyAb2S0
							 | 
						||
| 
								 | 
							
								7NINJnFNkXBY62CDz9KsMuv/MdSv2yLhPH2Tfrm/eDRQesj1PanE4U1cgjWyJRc/
							 | 
						||
| 
								 | 
							
								IOlaRHvTasWDLgwbQi8ykt+4xUWzL/YKHzB+KyyzBK7vPBXqySX8ka4BOw7SDwG5
							 | 
						||
| 
								 | 
							
								lX2gtmhk4AGBwVChLXKflqVx1WXj4DPOt0kmOKVnKFyvUijK58M0A2FMgFMXDTIS
							 | 
						||
| 
								 | 
							
								DRtoZPdx/rkODXxgS+W+27NcYAnxJiM0cQqizEnQh7PQ1KzgdChPejYXMKe9lwdn
							 | 
						||
| 
								 | 
							
								ssMUxrBpbuAuagEf+pebNjD2eaNR4p8kfaDdGn53q55ysDvoyxKvnVQGSk1FAR9Q
							 | 
						||
| 
								 | 
							
								s4N5a4f02U7dzlyEhEfIcuUlRCfnlpn4n725YIhHheDig5zKWoEZCkNIfiRcGzDl
							 | 
						||
| 
								 | 
							
								8Drj+tlZiUR+gDkIoWSBaCkKbIQlc8qCYy6Hm7oZBaol6xKlUnTMK2rjK8fR4i8r
							 | 
						||
| 
								 | 
							
								bVDWBAaWj3jcDHJ0Jg3fS/qBpeya/JXMp89TR8NK5Ys7PZpWbor+puXBYyXDAVx3
							 | 
						||
| 
								 | 
							
								rXQ7JBA5klHPxrgjso1S/LqwscKLENtrVjdjhryLBmPifrmofJRnrpiHIEa5Ag0E
							 | 
						||
| 
								 | 
							
								WmkAswEQAL0hKwsRybQzkNGpJP+ElLSwFHd7XQhr+qIwLllpumWtnIK/DHmv8SpW
							 | 
						||
| 
								 | 
							
								FqAYajmRTXipFcBHH25x2jIIliZidn0a9826l+sMzrFadMC6/W4pitP71TeqZzwn
							 | 
						||
| 
								 | 
							
								pAuHs14YL7Wiy0aJQnfbCpRzPq3kYyOXmhmY7lPWO0WdUpR6W8wUbleK5XOVDDRx
							 | 
						||
| 
								 | 
							
								aIC/M3hhDOxZOMzQ+pdn4BaOFQQ0ygsRkqOudbuc0R1giYRt1i6gMeT8gfzL9jlw
							 | 
						||
| 
								 | 
							
								HcJ+aVnxdUQQ4uC47oKo/+lg7qh7LsiW79pQC1Bcdm8lhRmqtxe6ub60ecjax3XU
							 | 
						||
| 
								 | 
							
								1ILIEfIFCv6M7LRUAwz0bqk35spgkJqrGGKkdeWEKAFHg2QWR2F0zy+HdlPLfKxO
							 | 
						||
| 
								 | 
							
								uhaccpwc9EJtf744GS0SXa2AXr32j56n7CFcEjFcIQPBC6OJn6eA3hOVUYGZ7SrT
							 | 
						||
| 
								 | 
							
								4fsmZiFAdGEkvLKFuNhju1Hj2EJQUY1pm4GSBco7BR8x+QqoYrt5clU3WxRMNfTR
							 | 
						||
| 
								 | 
							
								0Rtuzsh4xskXNVMMgvKOahAtxENv2M2Cx6zJPVL5dmaysP7d6QRVeOQA5PwkcZ5Q
							 | 
						||
| 
								 | 
							
								qK6JtDZj2jpaKQH4Za715kiIcdqMDSkwxa6avc0kARHvfFcBR4hwDm1GAlaKG7eH
							 | 
						||
| 
								 | 
							
								8TOGGQIk8x2F3s4l8mTJVLWTP/uJYnkYBdqANYo5t1NIQLvwLFV3ABEBAAGJAjwE
							 | 
						||
| 
								 | 
							
								GAEKACYCGyAWIQQx2VyrbYDSYiRKF1CkdiDoAeR+lQUCX9ULIwUJCS5xcAAKCRCk
							 | 
						||
| 
								 | 
							
								diDoAeR+leekD/sF7aHH0W35ckWrXZlfSp0qHPWrBUaLBI9OAUHenRhgs4SbK0D4
							 | 
						||
| 
								 | 
							
								wqEiu0C5iDQojpXAeALQ8g/1pUsZ1yuFqYbGYWrHkA0Pm+P3tAGB4LMZ41YfvROP
							 | 
						||
| 
								 | 
							
								uaiW/+IMJbWllgRtaDt8/NtCgs30WI9I+az5M29HcGfvEwEUykrBx3dE9T+1ui3O
							 | 
						||
| 
								 | 
							
								capdd+GMvdAAsX5PyVkjWgZ7GrZeH8mG7UysYfT4qthxEtQfZ/u8ceSduKA46ugh
							 | 
						||
| 
								 | 
							
								C2eafIDNvluqn7BU4oKxME61u6C8BN2yHLI6LV0Tr4z5H8joVbM4BSFMwLVGlsXf
							 | 
						||
| 
								 | 
							
								HhB8kLiErN6bXolxsjARlmYiD9S9H2AcYidr6RYXf2EVFSpBG59xn1WTDN+DsHQf
							 | 
						||
| 
								 | 
							
								7btNPEPl/OPxa3OQjG+xn8USddiP0N0B4xsyzMNCCKDgvXXcIhX55KG9eh3Tc98S
							 | 
						||
| 
								 | 
							
								fEyhxu8ybZBIGmTJysPKxijfvSgQF+RPNTsz9lvXqkoK7RTgeYMschpjJEznCLbt
							 | 
						||
| 
								 | 
							
								M6eTDb5z0G5uLXh6+dYxtDOlPogI5OHd+G51LwCjvrQ+AtIUCgafuemwA9mpFT2b
							 | 
						||
| 
								 | 
							
								svb/qcxSVUb44bVaNHn1JHebX2YbokGtBOm1x2PI5fT8n6YIIYz3jKYOZAYdUT7x
							 | 
						||
| 
								 | 
							
								6qURyNjOfG4aPJIATwuh4GSNuxUG40+yuT+XfQF24mu1esS1J3wzRloJ7w==
							 | 
						||
| 
								 | 
							
								=K3x+
							 | 
						||
| 
								 | 
							
								-----END PGP PUBLIC KEY BLOCK-----
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## See Also
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* [sndfile-tools](https://github.com/libsndfile/sndfile-tools): a small
							 | 
						||
| 
								 | 
							
								collection of programs which use libsndfile.
							 |