5 comments

  • tux3 20 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

  • sinnet3000 15 minutes ago
    The git username sounded familiar, it's from the same developer that created bzip3.
  • merbanan 25 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.

  • EdSchouten 35 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 23 minutes ago
    Those .blr extensions in the examples are making me doubt: the result is still conformant and playable ogg Vorbis/Opus, right?
    • bigC5560 9 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.
    • sinnet3000 14 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.