5 comments

  • tux3 31 minutes 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

  • merbanan 36 minutes 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.

  • sinnet3000 26 minutes ago
    The git username sounded familiar, it's from the same developer that created bzip3.
  • EdSchouten 46 minutes ago
    Interesting that it doesn’t use the same open source license as Vorbis/Opus itself. Otherwise improvements like these could be upstreamed?
  • BoingBoomTschak 34 minutes ago
    Those .blr extensions in the examples are making me doubt: the result is still conformant and playable ogg Vorbis/Opus, right?
    • sinnet3000 25 minutes 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.
    • bigC5560 20 minutes 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.