balrogg: demonically compacting (up to 15%) lossless Vorbis/Opus recompressor
Summary
balrogg is a command-line tool that losslessly recompresses Ogg Vorbis and Opus files, reducing their size by up to 15% with size reductions of 8-12% for Vorbis and 3-8% for Opus.
View Cached Full Text
Cached at: 09/03/26, 02:04 PM
iczelia/balrogg
Source: https://github.com/iczelia/balrogg
balrogg
balrogg losslessly recompresses Ogg Vorbis and Opus files. Archives are
typically 8-12% smaller than .ogg files and 3-8% smaller than .opus files.
balrogg is licensed under GNU GPL version 3. See COPYING. Report issues to Kamila Szewczyk [email protected]. The project is hosted at https://github.com/iczelia/balrogg.
Quick start
balrogg e music.ogg music.blr
balrogg d music.blr music.ogg
balrogg -b e *.ogg *.opus
e compresses and d expands. balrogg detects the codec. With -b, every
remaining path is processed using the available cores and memory. Encoding
appends .blr; decoding removes it. Larger inputs run first.
Installation
Use your package manager or download a binary from GitHub Releases. To build a release tarball, run
./configure
make
sudo make install
The project uses C99 and only the C and math libraries. The Opus parser under
src/opus is derived from libopus.
| Configure option | Effect |
|---|---|
--enable-sanitizers | Enable ASan and UBSan for tests |
--disable-simd | Build the portable mixer only |
--with-windows-target=win95 | Target Windows 95 on an i486 (MinGW, 32-bit) |
Run ./bootstrap first when building from a Git checkout. It requires autoconf
and automake.
Effort
-1 through -9 select effort; the default is -9. Through -4, each level
adds a residue-model stage and affects decoding. Higher levels only expand the
parameter search, so -4 through -9 decode at the same speed.
Results for a five-megabyte music file follow.
| Level | Vorbis | Opus |
|---|---|---|
-1 | 8.3 percent smaller at 6.4 MB/s | 4.0 percent smaller at 4.2 MB/s |
-9 | 9.8 percent smaller at 2.9 MB/s | 4.8 percent smaller at 2.4 MB/s |
Caveats
The encoder refuses files it cannot reproduce exactly, including files with bad checksums, invalid page sequences, unsupported Vorbis features, or no final end-of-stream page.
Opus support is limited to one mono or stereo logical stream with channel mapping family 0. Chained and multichannel Opus files are refused. Refusals produce a diagnostic and exit status 1.
Exit status
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Malformed, unsupported, or unrecognized input |
| 2 | Usage error |
| 3 | File access error |
| 4 | Internal error |
Batch mode returns the highest nonzero status reported by any file.
Performance and portability
Each file uses one thread, with its input and archive held in memory. A 5 MB
Vorbis file uses about 40 MB at -4 and 70 MB at -9. Small files are slower
per byte because of model setup.
Supported hosts apply a 2 GiB process memory cap to reject unreasonable
allocations. Set BLR_MEMCAP to another size in MiB, or to 0 to disable the
cap.
Archives are portable across hosts. Windows builds use MinGW as follows:
./configure --host=x86_64-w64-mingw32 CC=x86_64-w64-mingw32-gcc LDFLAGS=-static
make
A Windows 95 build uses a small KERNEL32 runtime and targets i486.
./configure --host=i686-w64-mingw32 --with-windows-target=win95 \
CC=i686-w64-mingw32-gcc LDFLAGS=-static
make && make win95-check
win95-check verifies the loader baseline, PE flags, and KERNEL32 imports.
An MS-DOS build uses DJGPP and needs an i386 with a DPMI host such as CWSDPMI.
./configure --host=i586-pc-msdosdjgpp CC=i586-pc-msdosdjgpp-gcc
make
DOS batch mode replaces the extension and runs serially. song.ogg becomes
song.blr, then expands to song.ogg or song.opu for Opus.
Similar Articles
GetCompress
GetCompress is a tool for lossless media compression without context switching.
MediaOptim
MediaOptim is a tool that compresses images, video, and audio locally to save storage without uploading files.
@xenovacom: Bonsai 27B just changed the local LLM game forever. 1-bit quantization shrinks it from 54GB to just 3.8GB (-93%), while…
Bonsai 27B achieves 93% size reduction via 1-bit quantization while retaining 90% intelligence, enabling local browser inference with custom WebGPU kernels.
Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint
Bonsai 2 27B is a compressed AI model that achieves near-lossless performance in a 9x smaller footprint, with setup instructions provided for use with Prism's llama.cpp fork.
@0x0SojalSec: This tool shrinks 60 million text chunks from 201 GB to just 6 GB without any loss in accuracy run on locally laptop Tu…
A tool compresses 60 million text chunks from 201GB to 6GB for RAG without accuracy loss, enabling powerful local retrieval-augmented generation on a laptop.