Live data from Hacker News

QOA, the Quite OK Audio Format

phoboslab.org

41–50 of 83 posts

Re: QOA, the Quite OK Audio Format

#41
post #16

Earlier quoted context omitted.

Yeah, I don't understand the disparaging of 4-bit ADPCM as being terrible quality when this is effectively a 3-bit ADPCM. Most ADPCM codecs I've seen shipped have a similar table based system with a frame header with coefficients for your two history samples rather than the weight update scheme here, and it works quite well.

Traditional ADPCM is not terrible, it's just "meh". Compare: - Original, 4039kb: https://phoboslab.org/files/qoa-samples/adpcm_comp/orig.wav - MS ADPCM, 1022kb: https://phoboslab.org/files/qoa-samples/adpcm_comp/ms_adpcm.... - QOA, 812kb: https://phoboslab.org/files/qoa-samples/adpcm_comp/qoa.wav IMA ADPCM is in the same ballpark as MS ADPCM. ADX (not listed) comes close to QOA, but at 1136kb is also larger than thos…

I have a fairly decent audio system with a good dac and reasonable headphone.

MS ADPCM sounds horrible, a lot of unpleasant high-pitched noise. QOA is much better but still audibly degraded from the source.

Not sure I would ship content at this quality.

Re: QOA, the Quite OK Audio Format

#42
post #18

It's not clear to me why Opus doesn't meet their needs. They write it off for not being simple, but is the problem that it's too slow for their application? Are they doing something where they need a very small compiled size [1]? Aesthetically prefer things that are simpler? [1] I ship an Opus encoder and decoder to the browser to support https://www.jefftk.com/p/bucket-brigade-singing and it's just 310KB for compres…

One fairly significant advantage is seek-ability. I can see it being really useful for a game to just dump all of their audio into a single file and specify which clip with just a start and end frame.

That is indeed commonly done in games. Egosoft's X series had (has?) just one massive 8+ hour, 128kbps MP3 file with all voice clips in the game, and just seeks to the needed position.

The games also used DirectAudio or some other horrible mess that relied on registering codecs to the OS, so one of the most common tech support complaints was that the game didn't play any voices (regular SFX were uncompressed WAV), because the user only used media players that bypassed Windows' central codec registry.

Re-encoding everything to WMA (guaranteed to be a registered codec) was suggested several times to management, but since they all used Windows Media Player with properly registered codecs, they never really got the severity of the problem, and didn't care that the fix would cost them nothing (the community had already done all the re-encoding work). I imagine it got changed later, when the games were ported to other OSes, but I had left by that point. (And my NDA expired a long time ago, too.)

So, yes, something like QOA that you can just drop into any C(++) codebase, as games tend to be, without licensing problems or run-time overhead, would have been really, really useful 20 years ago. The file size differences might have been a headache in the CD games era, but by the time DVDs became standard it wouldn't have been a problem.

Re: QOA, the Quite OK Audio Format

#43

Earlier quoted context omitted.

the only time I ever had issues playing MP3s was on an old overclocked 486

Then maybe you’re not the target audience

the target audience is practically non-existent. nobody with 40 year old hardware is clamoring for a new audio codec.

Re: QOA, the Quite OK Audio Format

#44

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.

I wonder how much complexity it would add to support 10 or 16 bit per channel in the file format.

Re: QOA, the Quite OK Audio Format

#45
post #44

Earlier quoted context omitted.

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

I wonder how much complexity it would add to support 10 or 16 bit per channel in the file format.

you'd have to totally redesign the format. QOI is very specialized on 8 bits per channel (and RGBA)

Re: QOA, the Quite OK Audio Format

#46

Nice, but if 24_tuba_arpegio_melodious_phrase_stereo on the samples page is not a conversion error, it might explain why at least basic psychoacoustic model and/or post-processing filter are expected. That static beat is noticeable precisely because of its repetition.

Good catch! That's likely an artifact of the LMS state being quantized[1] at every frame border. I will look for ways to improve this.

[1] https://github.com/phoboslab/qoa/blob/master/qoa.h#L324-L336

Re: QOA, the Quite OK Audio Format

#47

Earlier quoted context omitted.

Then maybe you’re not the target audience

the target audience is practically non-existent. nobody with 40 year old hardware is clamoring for a new audio codec.

You underestimate the kind of people that use 40 year old hardware

Re: QOA, the Quite OK Audio Format

#48

Earlier quoted context omitted.

Then maybe you’re not the target audience

the target audience is practically non-existent. nobody with 40 year old hardware is clamoring for a new audio codec.

The target audience is games, not your music collection.

Re: QOA, the Quite OK Audio Format

#49
post #36

Great! Excellent fit for DAWs where lots of samples stay in memory and decode concurrently.

A DAW is definitely not going to want to use a lossy format.

Most DAWs store audio internally as uncompressed 32-bit floats. That gives them plenty of headroom (which is important for gain staging).

Re: QOA, the Quite OK Audio Format

#50
post #40

Earlier quoted context omitted.

I'm interested this for JS. Most codecs are either patent-heavy or hugely complex (requiring hundreds of kilobytes of WebAssembly), and a lot of the native APIs builtin to browsers have a tendency to shift every few years. It would be nice to have a pure JS alternative to WAV that provides some file reduction.

> the native APIs builtin to browsers have a tendency to shift every few years The web platform is incredibly backwards compatible; I'm having trouble thinking of any cases where they've dropped a format (which doesn't mean there aren't any!) On the other hand, while the browsers generally ship with many codecs [1] the APIs for interacting with them are pretty terrible. [1] https://developer.mozilla.org/en-US/docs/We…

> I'm having trouble thinking of any cases where they've dropped a format

Flash?

Post reply on HN