LunaTheFoxgirl / audio-formats

Audio decoding library for D. Decode audio formats in pure D. See game-mixer for usage.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

audio-formats

Audio format loading for D.

Can decode WAV / MP3 / FLAC / OPUS / OGG / MOD / XM, from file or memory. Can encode WAV to a file or to memory.

It is a replacement for the wave-d package but with more formats, nothrow @nogc and chunk support.

API

See examples/transcode/main.d: https://github.com/AuburnSounds/audio-formats/blob/master/examples/transcode/source/main.d

File format support

Decoding Encoding Seeking support
WAV Yes Yes Sample
MP3 Yes No Sample
FLAC Yes No Sample
OPUS Yes (LGPL) No Coarse
OGG Yes No Sample
MOD Yes No Pattern+Row
XM Yes No Pattern+Row

Some of these decoders were originally translated by Ketmar, who did the heavy-lifting.

References

License

  • Boost license otherwise.
  • LGPL v2.1 with OPUS decoding. (use DUB subconfigurations) to choose, default is boost.

Extras

The following version identifiers can be used to enable/disable decoder level features

Version Identifier Feature
AF_LINEAR Use linear sampling for MOD modules instead of Amiga sampling

Bugs

  • framesRemainingInPattern is unimplemented for XM currently.

About

Audio decoding library for D. Decode audio formats in pure D. See game-mixer for usage.


Languages

Language:D 100.0%