audio-formats 3.0.2
Streaming decoding support for popular audio formats.
To use this package, run the following command in your project's root directory:
						Manual usage
						
						Put the following dependency into your project's dependences section:
					
audio-formats
audio-formats is meant to be the easiest package to load and write sounds in D.
Features
- ✅ Decode from WAV / QOA / MP3 / FLAC / OPUS / OGG / MOD / XM
 - ✅ Encode to WAV / QOA
 - ✅ File and memory support
 - ✅ Seeking support
 - ✅ Chunked support
 - ✅ 
floatanddoublesupport - ✅ Encoding with dithering when reducing bit-depth
 - ✅ 
nothrow @nogcAPI - ✅ Archs: 
x86/x86_64/arm64 
Changelog
 🔔 audio-formats v3
- Complete removal of exceptions. The API is now 100% 
nothrow @nogc.AudioFormatsExceptiondoesn't exist anymore. - BREAKING Instead, use 
.isErrorand.isValidto check for errors. 
 🔔 audio-formats v2
- Doesn't depend upon 
dplug:coreanymore. - All exceptions thrown by 
audio-formatsare nowAudioFormatsException. They must be clean-up withdestroyAudioFormatException. - v2.1 QOA format decoding support (https://github.com/phoboslab/qoa). Note that the QOA bitstream isn't finalized, and will change.
 - v2.2 QOA format encoding support.
 
 🔔 audio-formats v1
- Initial release.
 
How to use it?
- Add 
audio-formatsas dependency to yourdub.jsonordub.sdl. - See the transcode example for usage.
 
What formats are supported exactly?
| Decoding | Encoding | Seeking support | |
|---|---|---|---|
| 📀 WAV | Yes | Yes | Sample | 
| 📀 MP3 | Yes | No | Sample | 
| 📀 FLAC | Yes | No | Sample | 
| 📀 OPUS | Yes (LGPL) | No | Sample | 
| 📀 OGG | Yes | No | Sample | 
| 📀 QOA | Yes | Yes | 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.
License
- ⚖️ Boost license otherwise.
 - ⚖️ MIT license when including QOA.
 - ⚖️ LGPL v2.1 for OPUS. (use DUB subconfigurations) to choose, default is boost.
 
External links and references
- https://github.com/Zoadian/mp3decoder
 - https://github.com/rombankzero/pocketmod
 - https://github.com/Artefact2/libxm
 
Ultra secret options
-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
framesRemainingInPatternis unimplemented for XM currently.
- 3.0.2 released a year ago
 - AuburnSounds/audio-formats
 - BSL-1.0
 
- Dependencies:
 - none
 - Versions:
 - 
						
Show all 34 versions3.0.2 2024-Feb-11 3.0.1 2023-Sep-30 3.0.0 2023-Sep-30 2.2.1 2023-Jul-07 2.2.0 2023-Apr-16  - Download Stats:
 - 
						
- 
								
0 downloads today
 - 
								
0 downloads this week
 - 
								
16 downloads this month
 - 
								
701 downloads total
 
 - 
								
 - Score:
 - 1.4
 - Short URL:
 - audio-formats.dub.pm