Chilly Willy
Established Member
In case folks don't check out SpritesMind, I've been working on CVSD compression. I just posted an example of using the Z80 to decompress the audio. Comes with source.
musicdemo-1.7z
A slight overview: CVSD takes 16 bit samples at one frequency, then compresses them down to 1 bit per sample at twice the frequency (that helps suppress noise). Compared to the original sample, you get 8 to 1 compression. Compared to how you'd store it in the Genesis (8 bit PCM at the original frequency), that's an effective compression of 4 to 1. The demo is capable of playing up to 24 minutes of audio at that compression level, using just the Z80. The code isn't your "standard" CVSD, but my own variation.
musicdemo-1.7z
A slight overview: CVSD takes 16 bit samples at one frequency, then compresses them down to 1 bit per sample at twice the frequency (that helps suppress noise). Compared to the original sample, you get 8 to 1 compression. Compared to how you'd store it in the Genesis (8 bit PCM at the original frequency), that's an effective compression of 4 to 1. The demo is capable of playing up to 24 minutes of audio at that compression level, using just the Z80. The code isn't your "standard" CVSD, but my own variation.