1b815c7f3Sopenharmony_ci---
2b815c7f3Sopenharmony_cilayout: home
3b815c7f3Sopenharmony_cititle: The libsndfile Home Page
4b815c7f3Sopenharmony_ci---
5b815c7f3Sopenharmony_ci
6b815c7f3Sopenharmony_ciLibsndfile is a C library for reading and writing files containing sampled sound
7b815c7f3Sopenharmony_ci(such as MS Windows WAV and the Apple/SGI AIFF format) through one standard
8b815c7f3Sopenharmony_cilibrary interface. It is released in source code format under the
9b815c7f3Sopenharmony_ci[Gnu Lesser General Public License](http://www.gnu.org/copyleft/lesser.html).
10b815c7f3Sopenharmony_ci
11b815c7f3Sopenharmony_ciThe library was written to compile and run on a Linux system but should compile
12b815c7f3Sopenharmony_ciand run on just about any Unix (including MacOS X).
13b815c7f3Sopenharmony_ciThere are also pre-compiled binaries available for 32 and 64 bit windows.
14b815c7f3Sopenharmony_ci
15b815c7f3Sopenharmony_ciIt was designed to handle both little-endian (such as WAV) and big-endian (such
16b815c7f3Sopenharmony_cias AIFF) data, and to compile and run correctly on little-endian (such as Intel
17b815c7f3Sopenharmony_ciand DEC/Compaq Alpha) processor systems as well as big-endian processor systems
18b815c7f3Sopenharmony_cisuch as Motorola 68k, Power PC, MIPS and Sparc. Hopefully the design of the
19b815c7f3Sopenharmony_cilibrary will also make it easy to extend for reading and writing new sound file
20b815c7f3Sopenharmony_ciformats.
21b815c7f3Sopenharmony_ci
22b815c7f3Sopenharmony_ciIt has been compiled and tested (at one time or another) on the following
23b815c7f3Sopenharmony_cisystems:
24b815c7f3Sopenharmony_ci
25b815c7f3Sopenharmony_ci* Every platform supported by Debian GNU/Linux including x86_64-linux-gnu,
26b815c7f3Sopenharmony_ci  i486-linux-gnu, powerpc-linux-gnu, sparc-linux-gnu, alpha-linux-gnu,
27b815c7f3Sopenharmony_ci  mips-linux-gnu and armel-linux-gnu.
28b815c7f3Sopenharmony_ci* powerpc-apple-darwin7.0 (Mac OS X 10.3)
29b815c7f3Sopenharmony_ci* sparc-sun-solaris2.8 (using gcc)
30b815c7f3Sopenharmony_ci* mips-sgi-irix5.3 (using gcc)
31b815c7f3Sopenharmony_ci* QNX 6.0
32b815c7f3Sopenharmony_ci* i386-unknown-openbsd2.9
33b815c7f3Sopenharmony_ci* Microsoft Windows
34b815c7f3Sopenharmony_ci
35b815c7f3Sopenharmony_ciAt the moment, each new release is being tested on i386 Linux, x86_64 Linux,
36b815c7f3Sopenharmony_ciPowerPC Linux, Win32 and Win64.
37b815c7f3Sopenharmony_ci
38b815c7f3Sopenharmony_ci## Features
39b815c7f3Sopenharmony_ci
40b815c7f3Sopenharmony_cilibsndfile has the following main features :
41b815c7f3Sopenharmony_ci
42b815c7f3Sopenharmony_ci* Ability to read and write a large number of [file formats](formats.html).
43b815c7f3Sopenharmony_ci* A simple, elegant and easy to use Applications Programming Interface.
44b815c7f3Sopenharmony_ci* Usable on Unix, Win32, MacOS and others.
45b815c7f3Sopenharmony_ci* On the fly format conversion, including endian-ness swapping, type conversion
46b815c7f3Sopenharmony_ci  and bitwidth scaling.
47b815c7f3Sopenharmony_ci* Optional normalisation when reading floating point data from files containing
48b815c7f3Sopenharmony_ci  integer data.
49b815c7f3Sopenharmony_ci* Ability to open files in read/write mode.
50b815c7f3Sopenharmony_ci* The ability to write the file header without closing the file (only on files
51b815c7f3Sopenharmony_ci  open for write or read/write).
52b815c7f3Sopenharmony_ci* Ability to query the library about all supported formats and retrieve text
53b815c7f3Sopenharmony_ci  strings describing each format.
54b815c7f3Sopenharmony_ci
55b815c7f3Sopenharmony_cilibsndfile has a comprehensive test suite so that each release is as bug free
56b815c7f3Sopenharmony_cias possible.
57b815c7f3Sopenharmony_ciWhen new bugs are found, new tests are added to the test suite to ensure that
58b815c7f3Sopenharmony_cithese bugs don't creep back into the code.
59b815c7f3Sopenharmony_ciWhen new features are added, tests are added to the test suite to make sure that
60b815c7f3Sopenharmony_cithese features continue to work correctly even when they are old features.
61b815c7f3Sopenharmony_ci
62b815c7f3Sopenharmony_ci## History
63b815c7f3Sopenharmony_ci
64b815c7f3Sopenharmony_ciMy first attempt at reading and writing WAV files was in 1990 or so under
65b815c7f3Sopenharmony_ciWindows 3.1. I started using Linux in early 1995 and contributed some code to
66b815c7f3Sopenharmony_cithe [wavplay](http://www.vaxxine.com/ve3wwg/gnuwave.html) program. That
67b815c7f3Sopenharmony_cicontributed code would eventually mutate into this library. As one of my
68b815c7f3Sopenharmony_ciinterests is Digital Signal Processing (DSP) I decided that as well as reading
69b815c7f3Sopenharmony_cidata from an audio file in the native format (typically 16 bit short integers)
70b815c7f3Sopenharmony_ciit would also be useful to be able to have the library do the conversion to
71b815c7f3Sopenharmony_cifloating point numbers for DSP applications. It then dawned on me that whatever
72b815c7f3Sopenharmony_cifile format (anything from 8 bit unsigned chars, to 32 bit floating point
73b815c7f3Sopenharmony_cinumbers) the library should be able to convert the data to whatever format the
74b815c7f3Sopenharmony_cilibrary user wishes to use it in. For example, in a sound playback program, the
75b815c7f3Sopenharmony_cilibrary caller typically wants the sound data in 16 bit short integers to dump
76b815c7f3Sopenharmony_ciinto a sound card even though the data in the file may be 32 bit floating point
77b815c7f3Sopenharmony_cinumbers (ie Microsoft's WAVE_FORMAT_IEEE_FLOAT format). Another example would be
78b815c7f3Sopenharmony_cisomeone doing speech recognition research who has recorded some speech as a 16
79b815c7f3Sopenharmony_cibit WAV file but wants to process it as double precision floating point numbers.
80b815c7f3Sopenharmony_ci
81b815c7f3Sopenharmony_ciHere is the release history for libsndfile:
82b815c7f3Sopenharmony_ci
83b815c7f3Sopenharmony_ci* Version 0.0.8 (Feb 15 1999) First official release.
84b815c7f3Sopenharmony_ci* Version 0.0.28 (Apr 26 2002) Final release of version 0 of libsndfile.
85b815c7f3Sopenharmony_ci* Version 1.0.0rc1 (Jun 24 2002) Release candidate 1 of version 1 of libsndfile.
86b815c7f3Sopenharmony_ci* Version 1.0.0rc6 (Aug 14 2002) MacOS 9 fixes.
87b815c7f3Sopenharmony_ci* Version 1.0.0 (Aug 16 2002) First 1.0.X release.
88b815c7f3Sopenharmony_ci* Version 1.0.1 (Sep 14 2002) Added MAT4 and MAT5 file formats.
89b815c7f3Sopenharmony_ci* Version 1.0.2 (Nov 24 2002) Added VOX ADPCM format.
90b815c7f3Sopenharmony_ci* Version 1.0.3 (Dec 09 2002) Fixes for Linux on ia64 CPUs.
91b815c7f3Sopenharmony_ci* Version 1.0.4 (Feb 02 2003) New file formats and functionality.
92b815c7f3Sopenharmony_ci* Version 1.0.5 (May 03 2003) One new file format and new functionality.
93b815c7f3Sopenharmony_ci* Version 1.0.6 (Feb 08 2004) Large file fix for Linux/Solaris, new
94b815c7f3Sopenharmony_ci  functionality   and Win32 improvements.
95b815c7f3Sopenharmony_ci* Version 1.0.7 (Feb 24 2004) Fix build problems on MacOS X and fix ia64/MIPS
96b815c7f3Sopenharmony_ci  etc clip mode detction.
97b815c7f3Sopenharmony_ci* Version 1.0.8 (Mar 14 2004) Minor bug fixes.
98b815c7f3Sopenharmony_ci* Version 1.0.9 (Mar 30 2004) Add AVR format. Improve handling of some WAV
99b815c7f3Sopenharmony_ci  files.
100b815c7f3Sopenharmony_ci* Version 1.0.10 (Jun 15 2004) Minor bug fixes. Fix support for Win32 MinGW
101b815c7f3Sopenharmony_ci  compiler.
102b815c7f3Sopenharmony_ci* Version 1.0.11 (Nov 15 2004) Add SD2 file support, reading of loop data in WAV
103b815c7f3Sopenharmony_ci  and AIFF. Minor bug fixes.
104b815c7f3Sopenharmony_ci* Version 1.0.12 (Sep 30 2005) Add FLAC and CAF file support, virtual I/O
105b815c7f3Sopenharmony_ci  interface. Minor bug fixes and cleanups.
106b815c7f3Sopenharmony_ci* Version 1.0.13 (Jan 21 2006) Add read/write of instrument chunks. Minor bug
107b815c7f3Sopenharmony_ci  fixes.
108b815c7f3Sopenharmony_ci* Version 1.0.14 (Feb 19 2006) Minor bug fixes. Start shipping windows
109b815c7f3Sopenharmony_ci  binary/source ZIP.
110b815c7f3Sopenharmony_ci* Version 1.0.15 (Mar 16 2006) Minor bug fixes.
111b815c7f3Sopenharmony_ci* Version 1.0.16 (Apr 30 2006) Add support for RIFX. Other minor feature
112b815c7f3Sopenharmony_ci  enhancements and bug fixes.
113b815c7f3Sopenharmony_ci* Version 1.0.17 (Aug 31 2006) Add C++ wrapper sndfile.hh. Minor bug fixes and
114b815c7f3Sopenharmony_ci  cleanups.
115b815c7f3Sopenharmony_ci* Version 1.0.18 (Feb 07 2009) Add Ogg/Vorbis suppport, remove captive
116b815c7f3Sopenharmony_ci  libraries, many new features and bug fixes. Generate Win32 and Win64
117b815c7f3Sopenharmony_ci  pre-compiled binaries.
118b815c7f3Sopenharmony_ci* Version 1.0.19 (Mar 02 2009) Fix for CVE-2009-0186. Huge number of minor fixes
119b815c7f3Sopenharmony_ci  as a result of static analysis.
120b815c7f3Sopenharmony_ci* Version 1.0.20 (May 14 2009) Fix for potential heap overflow.
121b815c7f3Sopenharmony_ci* Version 1.0.21 (December 13 2009) Bunch of minor bug fixes.
122b815c7f3Sopenharmony_ci* Version 1.0.22 (October 04 2010) Bunch of minor bug fixes.
123b815c7f3Sopenharmony_ci* Version 1.0.23 (October 10 2010) Minor bug fixes.
124b815c7f3Sopenharmony_ci* Version 1.0.24 (March 23 2011) Minor bug fixes.
125b815c7f3Sopenharmony_ci* Version 1.0.25 (July 13 2011) Fix for Secunia Advisory SA45125. Minor bug
126b815c7f3Sopenharmony_ci  fixes and improvements.
127b815c7f3Sopenharmony_ci* Version 1.0.26 (November 22 2015) Fix for CVE-2014-9496, CVE-2014-9756 and
128b815c7f3Sopenharmony_ci  CVE-2015-7805. Add ALAC/CAF support. Minor bug fixes and improvements.
129b815c7f3Sopenharmony_ci* Version 1.0.27 (June 19 2016) Fix a seek regression in 1.0.26. Add metadata
130b815c7f3Sopenharmony_ci  read/write for CAF and RF64. FIx PAF endian-ness issue.
131b815c7f3Sopenharmony_ci* Version 1.0.28 (April 2 2017) Fix buffer overruns in FLAC and ID3 handling
132b815c7f3Sopenharmony_ci  code. Reduce default header memory requirements. Fix detection of Large File
133b815c7f3Sopenharmony_ci  Support for 32 bit systems.
134b815c7f3Sopenharmony_ci* Version 1.0.29 (August 15 2020) Opus support, build system improvements and
135b815c7f3Sopenharmony_ci  bug fixes.
136b815c7f3Sopenharmony_ci* Version 1.0.30 (September 19 2020) Bugfix release. Fix file descriptor leaks
137b815c7f3Sopenharmony_ci  in sf_open_fd () function. Fix critical CMake bug leading to broken ABI on
138b815c7f3Sopenharmony_ci  Linux platforms. Other numerous fixes to CMake build system, consider it
139b815c7f3Sopenharmony_ci  stable now. Fix some memory leaks. Fix handling of some SD2 files. Update
140b815c7f3Sopenharmony_ci  documentation. Integrate GitHub Actions for faster test builds and Oss-Fuzz
141b815c7f3Sopenharmony_ci  for fuzzing tests. Move sndfile.h.in from src/ to include/ directory. To avoid
142b815c7f3Sopenharmony_ci  problems, delete old generated sndfile.h from $(top_builddir)/src.
143b815c7f3Sopenharmony_ci* Version 1.0.31 (January 24 2021) Bugfix release. Fix multiple memory leaks
144b815c7f3Sopenharmony_ci  reported by OSS-Fuzz. More SSE2-optimized functions for x86 and amd64.
145b815c7f3Sopenharmony_ci* Version 1.1.0 (March 27 2022) Minor release, backward compatible with previous
146b815c7f3Sopenharmony_ci  releases. Added long-awaited MP3 support. Numerous improvements and bugfixes.
147b815c7f3Sopenharmony_ci
148b815c7f3Sopenharmony_ci## Similar or Related Projects
149b815c7f3Sopenharmony_ci
150b815c7f3Sopenharmony_ci* [SoX](http://sox.sourceforge.net/) is a program for converting between sound
151b815c7f3Sopenharmony_ci  file formats.
152b815c7f3Sopenharmony_ci* [Wavplay](http://www.hitsquad.com/smm/programs/WavPlay/) started out as a
153b815c7f3Sopenharmony_ci  minimal WAV file player under Linux and has mutated into Gnuwave, a
154b815c7f3Sopenharmony_ci  client/server application for more general multimedia and games sound
155b815c7f3Sopenharmony_ci  playback.
156b815c7f3Sopenharmony_ci* [Audiofile](http://www.68k.org/~michael/audiofile/) (libaudiofile) is a
157b815c7f3Sopenharmony_ci  library similar to libsndfile but with a different programming interface. The
158b815c7f3Sopenharmony_ci  author Michael Pruett has set out to clone (and fix some bugs in) the
159b815c7f3Sopenharmony_ci  libaudiofile library which ships with SGI's IRIX OS.
160b815c7f3Sopenharmony_ci* [sndlib.tar.gz](ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz) is
161b815c7f3Sopenharmony_ci  another library written by Bill Schottstaedt of CCRMA.
162b815c7f3Sopenharmony_ci
163b815c7f3Sopenharmony_ci## Licensing
164b815c7f3Sopenharmony_ci
165b815c7f3Sopenharmony_cilibsndfile is released under the terms of the GNU Lesser General Public License,
166b815c7f3Sopenharmony_ciof which there are two versions;
167b815c7f3Sopenharmony_ci[version 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
168b815c7f3Sopenharmony_ciand
169b815c7f3Sopenharmony_ci[version 3](http://www.gnu.org/copyleft/lesser.html).
170b815c7f3Sopenharmony_ciTo maximise the compatibility of libsndfile, the user may choose to use
171b815c7f3Sopenharmony_cilibsndfile under either of the above two licenses.
172b815c7f3Sopenharmony_ciYou can also read a simple explanation of the ideas behind the GPL and the LGPL
173b815c7f3Sopenharmony_ci[here](http://www.gnu.org/copyleft/lesser.html).
174b815c7f3Sopenharmony_ci
175b815c7f3Sopenharmony_ciYou can use libsndfile with
176b815c7f3Sopenharmony_ci[Free Software](http://www.gnu.org/),
177b815c7f3Sopenharmony_ci[Open Source](http://www.opensource.org/),
178b815c7f3Sopenharmony_ciproprietary, shareware or other closed source applications as long as libsndfile
179b815c7f3Sopenharmony_ciis used as a dynamically loaded library and you abide by a small number of other
180b815c7f3Sopenharmony_ciconditions (read the LGPL for more info).
181b815c7f3Sopenharmony_ciWith applications released under the GNU GPL you can also use libsndfile
182b815c7f3Sopenharmony_cistatically linked to your application.
183b815c7f3Sopenharmony_ci
184b815c7f3Sopenharmony_ciI would like to see libsndfile used as widely as possible but I would prefer it
185b815c7f3Sopenharmony_ciif you released software that uses libsndfile as
186b815c7f3Sopenharmony_ci[Free Software](http://www.gnu.org/)
187b815c7f3Sopenharmony_cior
188b815c7f3Sopenharmony_ci[Open Source](http://www.opensource.org/).
189b815c7f3Sopenharmony_ciHowever, if you put in a great deal of effort building a significant application
190b815c7f3Sopenharmony_ciwhich simply uses libsndfile for file I/O, then I have no problem with you
191b815c7f3Sopenharmony_cireleasing that as closed source and charging as much money as you want for it as
192b815c7f3Sopenharmony_cilong as you abide by [the license](http://www.gnu.org/copyleft/lesser.html).
193b815c7f3Sopenharmony_ci
194b815c7f3Sopenharmony_ci## Download
195b815c7f3Sopenharmony_ci
196b815c7f3Sopenharmony_ciCheck latest version on
197b815c7f3Sopenharmony_ci[GitHub Releases page](https://github.com/libsndfile/libsndfile/releases/).
198b815c7f3Sopenharmony_ci
199b815c7f3Sopenharmony_ciBinaries and source packages are signed by current releaser David Seifert aka
200b815c7f3Sopenharmony_ci@SoapGentoo. You can verify signatures with his public GPG key:
201b815c7f3Sopenharmony_ci
202b815c7f3Sopenharmony_ci```
203b815c7f3Sopenharmony_ci-----BEGIN PGP PUBLIC KEY BLOCK-----
204b815c7f3Sopenharmony_ciVersion: GnuPG v2
205b815c7f3Sopenharmony_ci
206b815c7f3Sopenharmony_cimQINBFppABgBEAC42ZiNvV7BTIgR6TQy0YnF54fx3mVRP1u8Mq00UZa7reAsNKh7
207b815c7f3Sopenharmony_ci1H60j0W4s6+4pVVIKGfpVGxLwUdJe+KVCYw1Cd3YW6uMf5zZrC/ZWqnJiH/n6S6o
208b815c7f3Sopenharmony_ci1l4INII2o6YbGBnzIWBPRo7PlOL+mvgKTLpBSJPnhD8XDGN5wRiV8rL2+6Dptg0F
209b815c7f3Sopenharmony_cinJt7oxECGF3OD3gk6HMel0o82CVkIqMtNaX1L/bhcdF7K0Rp2MXPZMmpn1izW5sI
210b815c7f3Sopenharmony_ciasN1G9+w+Zwj7kMJzq1Aw3ac+rsX4SEYdvXjS2QhDHQUIr6LXri3D2WbcEqIZj2R
211b815c7f3Sopenharmony_ciJVoVwblsrG11dYXFDBbgrq4NhgTBsxHYDlkr/qF2W+kbPC/nhSqTVZeCYvTBZbOQ
212b815c7f3Sopenharmony_ci+RqyN/I0izukglnWmV1jGijFA8snyP8efx732hw/24zRYmtXOtnEITUpw8WOeZCq
213b815c7f3Sopenharmony_ci6uiHaQ+eopnY2ojBg9BI7WZm0AFn58xxT9soMsyFOUFgXTqaWFZWlJ3fhZE8/0v8
214b815c7f3Sopenharmony_ciJEu/kPGE5aJReT3b34B+Bojkj74XR+h2u7iJJBHMTE8RwGoUOZHer/XsL9xlcdks
215b815c7f3Sopenharmony_ciI+7TCjiq++ShaSSt2XsJmw2BhREohrjW/2KkwmvT3b44RMpKPB4WTH+++aqJQNeM
216b815c7f3Sopenharmony_ciIqmswOMoZvzEZezInj7WVY/r0WEei1Y6wt1tBrJ/cFf1oQBM1UmphxcrfQARAQAB
217b815c7f3Sopenharmony_citB9EYXZpZCBTZWlmZXJ0IDxzb2FwQGdlbnRvby5vcmc+iQJUBBMBCgA+BQsJCAcD
218b815c7f3Sopenharmony_ciBRUKCQgLBRYCAwEAAh4BAheAAhsBFiEEMdlcq22A0mIkShdQpHYg6AHkfpUFAl/V
219b815c7f3Sopenharmony_ciCvoFCQkuceIACgkQpHYg6AHkfpXYxA//aiJW1NwunpmzEc62id8lRMnoLHWVjISZ
220b815c7f3Sopenharmony_cib+xSlm+hk4LYq+ZbthJDzKcT86/3DJOSE1zQw9wLuCao9IW2UfFJQBtR+TAfbagG
221b815c7f3Sopenharmony_ci0Yyk/kMcLoFJxnG1ywdJWypCAauuIhia52Z7PmmjsBbFwr6LygDwSQmZAyACMAs7
222b815c7f3Sopenharmony_ciTLQe+yERc2RNDsIEsquLSxxRF0Spk9gagWtKgrPc2XBjuNtQDwW7JgsOUoEeHyxC
223b815c7f3Sopenharmony_ci29fRUjC3o/pG2I6iAZp17OROZI5yl4TSORrSBDGIi2sayxyxP0x+IPKtrCUcBGNx
224b815c7f3Sopenharmony_ciwGp+56bP/V0hA6sgCPh/iwvqLoeibso6l/Kd4ltVAEQnHTd6fr8g+wLEUXfbJVTR
225b815c7f3Sopenharmony_ci7aeFUoaFmWjSPlQrNr6HlxSLV/kRx9kVJp1Pn16vkfVBF7fG7iDLiqphwEeQg5ND
226b815c7f3Sopenharmony_cinmGeKAbRRNxFHyBHf0XRsaYiFZQckguO+71XSRtVx8/YP5nyNbtl9y1h/4JlT6Gy
227b815c7f3Sopenharmony_cit7hb5twYFQyQrKss83E/Bo1sRdHpj0ibtqb4ZbYANbh482E6yFhAkuo8YjVTJipI
228b815c7f3Sopenharmony_ci1Ve8EBKnX3R+pDt147uyysNvtPVXML+sWpGSMVSm4NA8uT3F5nqxVwj+SeXy3Wq/
229b815c7f3Sopenharmony_ciCHQ2VBKGBC655G+wFD5C6O7cTx2MwH+2H8tzhWm+gFlI3MFKEXa/PC+YUC/diYcb
230b815c7f3Sopenharmony_ciBrApavriTRa5Ag0EWmkAZgEQAPXMD3mZI+ChvBysXZWksC88/uSEwFeb3XkcRm7v
231b815c7f3Sopenharmony_ci04GN7hcz+bfrmnUTB3tuE/ZQgv+u7ZjetvH1aEKieznn/GjnWoOBoJusOYvfAQeF
232b815c7f3Sopenharmony_ci0mQVi118QiOZRCnEZpkz+RY9TiXVgrZJg+AGqHZ3Ol4GkInEV2NWgH37Xal+HkFl
233b815c7f3Sopenharmony_cirwI2U7mL0kZRG+LAVCQHKzqU0R0HE1XyJ4qf0awtG5Qi/TZvgXBdZPDXgr8i9Vlf
234b815c7f3Sopenharmony_ciUUu10c2XnXM0Av/YAlZmBFjVYrSOUCFenqSVqL+s9sTCVdWlJrGjrr3Ja4uT3kl2
235b815c7f3Sopenharmony_cirLva0AR4oSQoxt8adKohmFz0vzOkQtCoRzhrCwoo3JvNjKdSNoOP1nSsxlO5ji8r
236b815c7f3Sopenharmony_ciih5d+ajPgi580XyHLnrvG7vobR48qqscv1hizKuCgTacOTe6Db2Gqc8xF6v8HhJa
237b815c7f3Sopenharmony_ciKwWJtmFllIfN/tIvZ6BbbgHQn0IGf4CYnWf0SksPZqpBmTRpD2jfBxcj2UEg+AR3
238b815c7f3Sopenharmony_ciLARjuyUVpFJScyu6ExQG+6O+ByLL31iWP5MgUrza1rIpriPa3NT3rZ3DG2pvQrS3
239b815c7f3Sopenharmony_ciySsrPzH7VRX8L1ThSMSzjwF96aMsd14s7XzR4EzNuWwZDukfs0yavZk6l4o1M0mb
240b815c7f3Sopenharmony_citbJi7hE4cz13KRHYvIkKMdZGYUnzRzZUDlsj2imakk3BR6GXnxZ1ST6062g+QxiL
241b815c7f3Sopenharmony_ciAJFLABEBAAGJBHIEGAEKACYCGwIWIQQx2VyrbYDSYiRKF1CkdiDoAeR+lQUCX9UL
242b815c7f3Sopenharmony_ciDQUJCS5xpwJAwXQgBBkBCgAdFiEEuNUxXaAAcsCoYIifzjbhFyAuOEIFAlppAGYA
243b815c7f3Sopenharmony_ciCgkQzjbhFyAuOELmrQ/9H9wrWsWa21STZdxUmyU2sh9VXAWEHl1Ey0fVTznDM0Fl
244b815c7f3Sopenharmony_cizx5YSR/TmmnE36rpaz31Ttkx8SP914oV+mMgseecdya9Bf6uZL9Cv7V3KEsJBRL/
245b815c7f3Sopenharmony_cincrOWQBHP/Xy1X+mLD6A19xq7H4RihSLj0LeK2YVjrJzJ7wMf4mKXuBayQeAHImU
246b815c7f3Sopenharmony_ciWRCRTbmK3umh2nB5V0iPd/XZEIiYtiTPe+7E/va6+0bBvOumF3a+Z0iui7eU4hFC
247b815c7f3Sopenharmony_ci7Jk71D0dcg09SlIaNoMOrw7cMC3j2pMdKtsj8+0I6WBv14PhhqPAsnjdf7I/4NfK
248b815c7f3Sopenharmony_ciL7Jav8T/gDS01uA2Jxm72d+wr+eSjOBXa6x8CEbTqfkjAGxsWENThCp6zDkaXSDd
249b815c7f3Sopenharmony_ciJsV0va47vjzG8+wTDAvPy5IxIM/KZZdl4uWM+mF5K+q+eSTOHe7aLF2OdcussoBA
250b815c7f3Sopenharmony_ciA18zm994dAkG1COX/qpxanxx2bv/2IvCGPg+x6JtAN8ji2kncWu3dWGQdE5XbVjc
251b815c7f3Sopenharmony_cifDwgsUPpp04G27Mr/x+HpEbgZ5SdA0dAqJktlNvCcHALhlblCWrsh/1QNjT/2iG8
252b815c7f3Sopenharmony_ciwsjcpEy/s4tWAuV4PTa4xvZ1JPS7Z7Eo5aBy9ZGOWG9SrHEiHnhkUsiswbHBOEjd
253b815c7f3Sopenharmony_cipBSkmNElDcv9fRUahVCTPfvWBATFDrQyMjJBSm+cV8c/iFQM7isVSu8W7E0eetsJ
254b815c7f3Sopenharmony_ciEKR2IOgB5H6Vv9sP/1dxTvH0N0UoEoxIG/hnirEkbRpljdvqy4/uikYBKyQgSbo8
255b815c7f3Sopenharmony_ciVITTjea7gIhDztil9WZYt35jbOmoaGM2Z6TP2LEDOWgljYUNq9pl9Sc2GS8cNtEO
256b815c7f3Sopenharmony_ciWxExzGOc1Flo730dX3A85Ks3+0WPXZjLDcRRcPVkFd5WLQQDV1YVYopWkuQBC+Br
257b815c7f3Sopenharmony_ci4q3uv+sk+bw6gDa9+zFBbDuegdsYuTXrFHoxHz2GRv9Yb7ULCMgpFeNKDgtQq91u
258b815c7f3Sopenharmony_ciRqewoTwQp9tlp91LH/hh7R0Q4DRgeFDkLnVRXwSKjVvCrT5cBgImGwtFTGS4egoy
259b815c7f3Sopenharmony_ciMDKd/KKjZllp1ahRCln1XfmFQyQVMVvuF/JTtt31n6KwXwK2yxIlXB01xvRH+Ees
260b815c7f3Sopenharmony_ciAWeRYWKWXydaAY/9Ve0/PLFlgsr/XUGvt0GoEKe7odD3nZgg6015+/8JTroKw19L
261b815c7f3Sopenharmony_ciNZkhdfFMl11Zi0j5k3UbyzjYVpFSd8K2o0VoOG1LFsPp8tlRxNoVzpId0CX1au/p
262b815c7f3Sopenharmony_ciy1H7Wy/39mzriRG3rw+mJAQbBjN09putCltXFXpOEWk08n/N3vufCVQUoSu/2Bqw
263b815c7f3Sopenharmony_ci2HYj8VtToQp+O5dG3XxvDHINtInP1yr2Wcw2plna0KoXLwv/lZgDm3LN+eCWpG6d
264b815c7f3Sopenharmony_ciN/xk25DTSqTHArUQIEkhcHYK6GnyxUcvoKtG88hXtqEPYXiK08FZYAUPTnDYuQIN
265b815c7f3Sopenharmony_ciBFppAIkBEADDjvQZUs1NoqJpxkD2QDBudU1DBCaeI1D6CancMtb5FebPUxgFlDMd
266b815c7f3Sopenharmony_ciCBGOun48dY5i87gDhT/qS3gP/Mv9rjKJmcG9JHfhpXdW73owxrcsQ96nxxVJNEVl
267b815c7f3Sopenharmony_ciUHJw00z8C9eGWqr0SzSoE33K/PkzSkgtsaotF6+3uCerWulweulmGa5dpVfV0mbS
268b815c7f3Sopenharmony_ciaVw8VmrhZ5NmCeodyy/lR85rPik5pb32NT6v7xBkgkfS0VYtPB2E5gW1pXX/jEOi
269b815c7f3Sopenharmony_ciMfq9idOEP9lxrNXV9j49Lr0JQCwAcrYbQ2+VPe6eacJEjzJ/6HiUqhPrYdnvydmb
270b815c7f3Sopenharmony_cihU+xmv2NjGp2UnDZDEhzQfwm6fMx+8Nx2uPzCnXQGoyRBwiC/KcdW0F1ZPKdSXqH
271b815c7f3Sopenharmony_ciNKoOF62pLvIMSmfI3ZVOrTohArfr1kFEYVDv9Nl7oY+qg2rZEc2srOF74a9Z46bR
272b815c7f3Sopenharmony_ciTDPsEQzE2UMCvu3+rofhSD7aRotlKeDCvbe2s0yE4Man457Xc3LXh8Gva8CzCOLE
273b815c7f3Sopenharmony_ci2eMhNTsHIZk68WgXp3/uvE4Xy42myrk1AV8XXDdlWgx0Kc/I6tE59O5NVPSfuGvH
274b815c7f3Sopenharmony_ci1a15KKx0F6euEnYDKKpQ5PDR6dSn61po0tfbt96m044G/xQFjrfhHei4jji9Ogd9
275b815c7f3Sopenharmony_civlXVAi2vn3+NCSHFP5l3igLByBHy9iLIdmz7yQuus/1nwRmxOHOf2QARAQABiQI8
276b815c7f3Sopenharmony_ciBBgBCgAmAhsMFiEEMdlcq22A0mIkShdQpHYg6AHkfpUFAl/VCxkFCQkucZAACgkQ
277b815c7f3Sopenharmony_cipHYg6AHkfpVPSRAAmheYkYJmtDbkzPBBnj5mbCIQN1/G5PI9eixc/TXWFOXtcjU1
278b815c7f3Sopenharmony_cimJlJpSidHJyLRrx7r0c+N+s8vnY/JuUBsNoMJMER+Mv/CFW4iFi59V534SyAb2S0
279b815c7f3Sopenharmony_ci7NINJnFNkXBY62CDz9KsMuv/MdSv2yLhPH2Tfrm/eDRQesj1PanE4U1cgjWyJRc/
280b815c7f3Sopenharmony_ciIOlaRHvTasWDLgwbQi8ykt+4xUWzL/YKHzB+KyyzBK7vPBXqySX8ka4BOw7SDwG5
281b815c7f3Sopenharmony_cilX2gtmhk4AGBwVChLXKflqVx1WXj4DPOt0kmOKVnKFyvUijK58M0A2FMgFMXDTIS
282b815c7f3Sopenharmony_ciDRtoZPdx/rkODXxgS+W+27NcYAnxJiM0cQqizEnQh7PQ1KzgdChPejYXMKe9lwdn
283b815c7f3Sopenharmony_cissMUxrBpbuAuagEf+pebNjD2eaNR4p8kfaDdGn53q55ysDvoyxKvnVQGSk1FAR9Q
284b815c7f3Sopenharmony_cis4N5a4f02U7dzlyEhEfIcuUlRCfnlpn4n725YIhHheDig5zKWoEZCkNIfiRcGzDl
285b815c7f3Sopenharmony_ci8Drj+tlZiUR+gDkIoWSBaCkKbIQlc8qCYy6Hm7oZBaol6xKlUnTMK2rjK8fR4i8r
286b815c7f3Sopenharmony_cibVDWBAaWj3jcDHJ0Jg3fS/qBpeya/JXMp89TR8NK5Ys7PZpWbor+puXBYyXDAVx3
287b815c7f3Sopenharmony_cirXQ7JBA5klHPxrgjso1S/LqwscKLENtrVjdjhryLBmPifrmofJRnrpiHIEa5Ag0E
288b815c7f3Sopenharmony_ciWmkAswEQAL0hKwsRybQzkNGpJP+ElLSwFHd7XQhr+qIwLllpumWtnIK/DHmv8SpW
289b815c7f3Sopenharmony_ciFqAYajmRTXipFcBHH25x2jIIliZidn0a9826l+sMzrFadMC6/W4pitP71TeqZzwn
290b815c7f3Sopenharmony_cipAuHs14YL7Wiy0aJQnfbCpRzPq3kYyOXmhmY7lPWO0WdUpR6W8wUbleK5XOVDDRx
291b815c7f3Sopenharmony_ciaIC/M3hhDOxZOMzQ+pdn4BaOFQQ0ygsRkqOudbuc0R1giYRt1i6gMeT8gfzL9jlw
292b815c7f3Sopenharmony_ciHcJ+aVnxdUQQ4uC47oKo/+lg7qh7LsiW79pQC1Bcdm8lhRmqtxe6ub60ecjax3XU
293b815c7f3Sopenharmony_ci1ILIEfIFCv6M7LRUAwz0bqk35spgkJqrGGKkdeWEKAFHg2QWR2F0zy+HdlPLfKxO
294b815c7f3Sopenharmony_ciuhaccpwc9EJtf744GS0SXa2AXr32j56n7CFcEjFcIQPBC6OJn6eA3hOVUYGZ7SrT
295b815c7f3Sopenharmony_ci4fsmZiFAdGEkvLKFuNhju1Hj2EJQUY1pm4GSBco7BR8x+QqoYrt5clU3WxRMNfTR
296b815c7f3Sopenharmony_ci0Rtuzsh4xskXNVMMgvKOahAtxENv2M2Cx6zJPVL5dmaysP7d6QRVeOQA5PwkcZ5Q
297b815c7f3Sopenharmony_ciqK6JtDZj2jpaKQH4Za715kiIcdqMDSkwxa6avc0kARHvfFcBR4hwDm1GAlaKG7eH
298b815c7f3Sopenharmony_ci8TOGGQIk8x2F3s4l8mTJVLWTP/uJYnkYBdqANYo5t1NIQLvwLFV3ABEBAAGJAjwE
299b815c7f3Sopenharmony_ciGAEKACYCGyAWIQQx2VyrbYDSYiRKF1CkdiDoAeR+lQUCX9ULIwUJCS5xcAAKCRCk
300b815c7f3Sopenharmony_cidiDoAeR+leekD/sF7aHH0W35ckWrXZlfSp0qHPWrBUaLBI9OAUHenRhgs4SbK0D4
301b815c7f3Sopenharmony_ciwqEiu0C5iDQojpXAeALQ8g/1pUsZ1yuFqYbGYWrHkA0Pm+P3tAGB4LMZ41YfvROP
302b815c7f3Sopenharmony_ciuaiW/+IMJbWllgRtaDt8/NtCgs30WI9I+az5M29HcGfvEwEUykrBx3dE9T+1ui3O
303b815c7f3Sopenharmony_cicapdd+GMvdAAsX5PyVkjWgZ7GrZeH8mG7UysYfT4qthxEtQfZ/u8ceSduKA46ugh
304b815c7f3Sopenharmony_ciC2eafIDNvluqn7BU4oKxME61u6C8BN2yHLI6LV0Tr4z5H8joVbM4BSFMwLVGlsXf
305b815c7f3Sopenharmony_ciHhB8kLiErN6bXolxsjARlmYiD9S9H2AcYidr6RYXf2EVFSpBG59xn1WTDN+DsHQf
306b815c7f3Sopenharmony_ci7btNPEPl/OPxa3OQjG+xn8USddiP0N0B4xsyzMNCCKDgvXXcIhX55KG9eh3Tc98S
307b815c7f3Sopenharmony_cifEyhxu8ybZBIGmTJysPKxijfvSgQF+RPNTsz9lvXqkoK7RTgeYMschpjJEznCLbt
308b815c7f3Sopenharmony_ciM6eTDb5z0G5uLXh6+dYxtDOlPogI5OHd+G51LwCjvrQ+AtIUCgafuemwA9mpFT2b
309b815c7f3Sopenharmony_cisvb/qcxSVUb44bVaNHn1JHebX2YbokGtBOm1x2PI5fT8n6YIIYz3jKYOZAYdUT7x
310b815c7f3Sopenharmony_ci6qURyNjOfG4aPJIATwuh4GSNuxUG40+yuT+XfQF24mu1esS1J3wzRloJ7w==
311b815c7f3Sopenharmony_ci=K3x+
312b815c7f3Sopenharmony_ci-----END PGP PUBLIC KEY BLOCK-----
313b815c7f3Sopenharmony_ci```
314b815c7f3Sopenharmony_ci
315b815c7f3Sopenharmony_ci## See Also
316b815c7f3Sopenharmony_ci
317b815c7f3Sopenharmony_ci* [sndfile-tools](https://github.com/libsndfile/sndfile-tools): a small
318b815c7f3Sopenharmony_cicollection of programs which use libsndfile.
319