-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Currently tested on Linux (x86_64). Should compile on other UNIX-like systems; Windows support is possible with a compatible toolchain.
The codec is a single C file. You’ll need libsndfile and a C compiler (gcc or clang). Example:
gcc main.c -o codec -lsndfile -lm -O3
For now, source build only. Binaries may be added later if enough people ask.
.blos, decoded output is standard .wav.
##How do I encode and decode?##
# Encode
./codec input.wav output.blos
# Decode
./codec -d input.blos output.wav
It’s almost-lossless: most of the original detail is preserved, but extreme transients may be approximated for higher compression efficiency.
44100 Hz, 16-bit stereo is the main target. Other formats might work but aren’t officially supported yet.
Not yet — stereo only. Multi-channel support is on the roadmap.
On average, .blos files are 90-95% the size of raw WAV. Compared to FLAC, results vary but tend to be smaller, with some quality trade-offs.
No. Only raw audio data is stored. Metadata support may be added later.
Encoding and decoding are lightweight. On a modern CPU, decoding is faster than real-time [ upto 200x ].
- No streaming support yet.
- Seeking isn’t implemented.
- Metadata and multichannel unsupported.
For fun, experimentation, and learning. Also, it explores design ideas not covered by mainstream codecs.
GPL v3.0. You’re free to use, modify, and distribute under those terms.
Open an issue or pull request on the GitHub repo: Click here!.