Page 1 of 1

2-bit BRR

Posted: Sat Nov 12, 2016 4:09 pm
by tepples
I've begun to develop a 2.25-bit-per-sample audio format that can be quickly decoded to the S-DSP's BRR format. It compresses 32 samples to a 9-byte block, half the size of ordinary BRR. I've provided samples of what it sounds like at 8 kHz (18 kbps) and 16 kHz (36 kbps). Is the result too scratchy?

I've attached the Python program I'm using for the experiment, as well as some samples of its input and output.

Re: 2-bit BRR

Posted: Sat Nov 12, 2016 6:20 pm
by 93143
I suspect it's too scratchy for music, but it could be useful for compressing vocal samples in a flight sim or something. There's a very definite 'bad radio' sound to it.

Then again, it might depend on the instrument. If there's not much information, and it's reasonably compatible with the assumptions the codec makes, it might compress more gracefully.

Re: 2-bit BRR

Posted: Sat Nov 12, 2016 7:18 pm
by rainwarrior
It might benefit from some kind of high frequency bandlimiting before encoding (maybe a compressor applied to just the high frequency range?). You get a lot of distortion on sibilants which to my ear over-emphasizes them strongly.

Re: 2-bit BRR

Posted: Sat Nov 12, 2016 7:25 pm
by tepples
That gives me a different idea: adapt the sibilant compensation that I had used in the QuaDPCM codec, where I encode only the 0-4000 Hz band in some frames and only the 4000-8000 Hz band in others. I'll have to find time to try that, though I fear it might not be as effective as it is on the NES because of the low-pass characteristic of Gaussian interpolation.

Re: 2-bit BRR

Posted: Sat Nov 12, 2016 7:48 pm
by Drew Sebastino
I found a way to make it sound better after messing with it in Audacity. The result is in the zip folder.
Improved.zip
(114.97 KiB) Downloaded 188 times