Hacker News

palaiologos
Balrogg: Demonically compacting (up to 15%) lossless Vorbis/Opus recompressor github.com

tux313 hours ago

So, it looks like this tries to build a model (or rather, multiple layers of models combined with something called context mixing[0]), potentially analyzing the whole file first? Is it fair to call this a very fancy entropy coder, replacing the last phase of what a traditional audio codec does (the lossless part, after quantization)?

I like the code style, this is pretty nice C. It's refreshing to see human code.

[0]: https://en.wikipedia.org/wiki/Context_mixing

merbanan13 hours ago

Vorbis sends the entropy tables in the actual file at the start.

https://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-470003

If you have the complete file you can calculate the optimal ones. In a streaming scenario that does not work and you have use something you think is good.

sinnet300012 hours ago

The git username sounded familiar, it's from the same developer that created bzip3.

EdSchouten13 hours ago

Interesting that it doesn’t use the same open source license as Vorbis/Opus itself. Otherwise improvements like these could be upstreamed?

BoingBoomTschak13 hours ago

Those .blr extensions in the examples are making me doubt: the result is still conformant and playable ogg Vorbis/Opus, right?

sinnet300012 hours ago

From what I can see, it's more like a specialized ZIP-like compressor for Vorbis/Opus files. You archive them on blr, and decompress them back to the original format.

ncruces10 hours ago

Kinda like what Dropbox Lepton did for JPEG back then.

https://github.com/dropbox/lepton

BoingBoomTschakan hour ago

Ah, it's basically a PAQ context.

bigC556012 hours ago

I just tested this out for myself and I was unable to play the .blr file in VLC or using ffplay. It is not recognized as anything by ffprobe either. So it seems like you need to decompress it to play it in a standard player unfortunately.

functionmouse7 hours ago

Why was this written with explicit Windows 95 support? Just 'cuz?

lightedman4 hours ago

Probably the same reason it was written with explicit DOS support.

hn-front (c) 2024 voximity
source