You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Nick Porcino 726cdf26df Don't add libopus demo programs to the libopus library 6 years ago
cmake cmake issues 7 years ago
examples/src tab->space file normalization 7 years ago
include/libnyquist Port examples to Mac 7 years ago
src public api addition: implement magic number detection so file extension strings do not need to be passed alongside in-memory audio files 7 years ago
test_data implement basic mp3 decoding using public-domain minimp3 library 7 years ago
third_party Merge pull request #38 from ArthurSonzogni/master 7 years ago
.gitignore introduce vs 2015 example solution/proj file and fix paths. vs 2013 needs to be fixed 10 years ago
.travis.yml Minor changes across codebase for TravisCI integration to build on 7 years ago
CMakeLists.txt Don't add libopus demo programs to the libopus library 6 years ago
COPYING cmake issues 7 years ago
LICENSE minor example updates 7 years ago
README.md added travis build badge to readme 7 years ago
appveyor.yml update appveyor for cmake build; minor cmake adjustments 7 years ago

README.md

Libnyquist

Platform Build Status
Microsoft VS2017 x64 Build status
Clang (OSX) & GCC (Linux) Build Status

Libnyquist is a small C++11 library for reading sampled audio data from disk or memory. It is intended to be used an audio loading frontend for games, audio sequencers, music players, and more.

The library does not include patent or license encumbered formats (such as 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 produces a channel-interleaved float vector, normalized between [-1.0,+1.0]. At present, the library does not provide comprehensive resampling functionality.

  • Wave (+ IMA-ADPCM encoding)
  • MP3
  • Ogg Vorbis
  • Ogg Opus
  • FLAC
  • WavPack
  • Musepack

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.