🎤 Cross platform C++11 library for decoding audio (wav, ogg, opus, flac, etc)
C++ C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples test in-memory decoding of ogg Apr 2, 2018
include/libnyquist test in-memory decoding of ogg Apr 2, 2018
libnyquist.vcxproj core audio format will likely never be implemented/supported in libny… Apr 2, 2018
libnyquist.xcodeproj Fix xcodeproj Jan 5, 2018
src test in-memory decoding of ogg Apr 2, 2018
test_data add support for non-timidity soundfonts (like Fluid R3) Feb 26, 2016
third_party remove libmodplug extra detritus Mar 26, 2016
.gitignore introduce vs 2015 example solution/proj file and fix paths. vs 2013 n… Feb 12, 2016
.travis.yml real appveyor config this time Feb 12, 2016
COPYING update COPYING file for libmodplug Mar 26, 2016
LICENSE add additional licences + format May 17, 2015
README.md Update README.md Mar 27, 2016
appveyor.yml
midi-playback.md readme Mar 26, 2016

README.md

Libnyquist

Build status

Libnyquist is a small C++11 library for reading sampled audio data from disk or memory. It's ideal to use as an audio asset frontend for games, audio sequencers, music players, and more.

The library steers away from patent or GPL license encumbered formats (such as MP3 and AAC). For portability, libnyquist does not link against platform-specific APIs like Windows Media Foundation or CoreAudio, and instead bundles the source code of reference decoders as an implementation detail.

Libnyquist is meant to be statically linked, which is not the case with other popular libraries like libsndfile (which is licensed under the LGPL). Furthermore, the library is not concerned with supporting very rare encodings (for instance, A-law PCM or the SND format).

While untested, there are no technical conditions that preclude compilation on other platforms with C++11 support (Android NDK r10e+, Linux, iOS, etc).

Format Support

Regardless of input bit depth, the library hands over an interleaved float array, normalized between [-1.0,+1.0]. At present, the library does not provide resampling functionality.

  • Wave (+ IMA-ADPCM encoding)
  • Ogg Vorbis
  • Ogg Opus
  • FLAC
  • WavPack
  • Musepack
  • MIDI files (with soundfonts)
  • libmodplug formats (669, amf, ams, dbm, dmf, dsm, far, it, j2b, mdl, med, mod, mt2, mtm, okt, pat, psm, ptm, s3m, stm, ult, umx, xm)

Encoding

Simple but robust WAV format encoder now included. Extentions in the near future might include Ogg.

Supported Project Files

  • Visual Studio 2013
  • Visual Studio 2015
  • XCode 6

Known Issues & Bugs

  • See the Github issue tracker.

License

This library is released under the simplied 2 clause BSD license. All included dependencies have been released under identical or similarly permissive licenses.