3 ms·
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 ha
by Jasper_ 4y ago
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.
- phoboslab 4y agoTraditional ADPCM is not terrible, it's just "meh". Compare: - Original, 4039kb: https://phoboslab.org/files/qoa-samples/adpcm_comp/orig.wav https://phoboslab.org/files/qoa-samples/adpcm_comp/orig.wav - MS ADPCM, 1022kb: https://phoboslab.org/files/qoa-samples/adpcm_comp/ms_adpcm.wav https://phoboslab.org/files/qoa-samples/adpcm_comp/ms_adpcm.... - QOA, 812kb: https://phoboslab.org/files/qoa-samples/adpcm_comp/qoa.wav 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 those traditional ADPCM flavors.
- stephc_int13 4y agoI 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.
- deleted 4y ago[deleted]
- hcs 4y agoThis bit > What makes QOA work is 1) a reasonably good predictor and 2) storing the scalefactor for a bunch of samples explicitly instead of guessing the right one from context, like ADPCM does. suggests a comparison with DVI/IMA ADPCM [1] or derivatives, which go out of their way not to have too much state or use multiplies, and they also tend to be used at really low bitrates, so they have a somewhat deserved bad reputation. "Guessing" the scalefactor is overstating it, the scale does dynamically adjust but that's all considered from the encoder. The 2-history-samples style ADPCMs in the BRR [2] family usually have very short frames (at most dozens of samples) and headers specifying scale and predictor/filter index. I know a lot more about what's used on consoles than about the math of audio encoding, though, so I can't say whether QOA is making the wrong tradeoffs. [1] https://wiki.multimedia.cx/index.php/IMA_ADPCM https://wiki.multimedia.cx/index.php/IMA_ADPCM [2] https://en.wikipedia.org/wiki/Bit_Rate_Reduction https://en.wikipedia.org/wiki/Bit_Rate_Reduction