Live data from Hacker News

QOA, the Quite OK Audio Format

phoboslab.org

1–10 of 83 posts

Re: QOA, the Quite OK Audio Format

#4

QOI caused a huge burst in interest for image formats. Audio is a little harder to work with and understanding so I can imagine less impact for QOA (still good though). What I'm really looking forward to is QOV (video).

QOI is only 8-bit depth (per channel) so it's a no-go for me. But interesting, yes.

Re: QOA, the Quite OK Audio Format

#5
> Most GameCube games used their own 8-bit ADPCM format

Minor quibble but, at least for music, most GC games used a native 4-bit ADPCM ("DSP", decoded by the DSP, or the ADP/DTK format, like CD-XA ADPCM and also handled in hardware), and the most common cross-console audio middleware (CRI) also generally used 4-bit ADX ADPCM. In this old list, everything marked ADP, ADX, DSP is using 4-bit (and others are usually just different containers for DSP): http://web.archive.org/web/20080420105759/https://hcs64.com/...

PS1 and PS2 were similar. I've usually only encountered 8-bit DPCM on PC, though the 3DO had a version in hardware.

The old table-driven style of ADPCM might be the poor quality the author has in mind, all of these consoles get much better quality at 4 bits, using the same kind of linear predictor (usually with 2 samples of history) with scales per frame as QOA.

Edit: I hadn't read carefully enough, QOA is doing something more complicated by updating the weights rather than using a fixed set of filters chosen per frame (ADX has only one per sample rate, GC DSP uses 8, XA/PS uses 4 or 5). That seems a little overcomplicated, but maybe needed at 3 bits per sample?

Re: QOA, the Quite OK Audio Format

#6
I was reading that article, and geez, as a non-programmer I have to ask, why does libflac look like such a nightmare compared to flacloader? It's like night and day. Is this a "WireGuard makes OpenVPN look quite silly" moment?

https://github.com/xiph/flac/tree/master/src/libFLAC

https://github.com/SerenityOS/serenity/blob/master/Userland/...

Re: QOA, the Quite OK Audio Format

#7
Very interesting, when better formats like vorbis were too cpu intensive for my game I ended up with striped and delta encoded wav compressed using lz4hc for something that was somewhat compressed, streamable and light on the cpu, this seems somewhat close to that.

Re: QOA, the Quite OK Audio Format

#8
post #6

I was reading that article, and geez, as a non-programmer I have to ask, why does libflac look like such a nightmare compared to flacloader? It's like night and day. Is this a "WireGuard makes OpenVPN look quite silly" moment? https://github.com/xiph/flac/tree/master/src/libFLAC https://github.com/SerenityOS/serenity/blob/master/Userland/...

Because a shorter code is not necessarily performant, readable, or correct. Also the Serenity version delegates most dependencies like bit readers to its built-in library, while libflac implements all of them by itself.

Re: QOA, the Quite OK Audio Format

#10
post #6

I was reading that article, and geez, as a non-programmer I have to ask, why does libflac look like such a nightmare compared to flacloader? It's like night and day. Is this a "WireGuard makes OpenVPN look quite silly" moment? https://github.com/xiph/flac/tree/master/src/libFLAC https://github.com/SerenityOS/serenity/blob/master/Userland/...

This is more frequent than you think.

It does not mean that the code is bad or inefficient, but the style and architecture is not the simplest to read.

Pretty much in the same way that published scientific papers are quite unpleasant to read.

Post reply on HN