Espozo wrote:I would say that the voice samples are very impressive for the NES, but really, is it just that pretty much all others are bad? Doesn't the NES just have a standard DPCM channel? I'm guessing the main reason so many other voice samples in other games on the NES are so bad is due to memory constraints? Has anyone ever actually tried to stream "CD quality" music on the NES?
I disassembled Big Bird's sample decompression here:
viewtopic.php?t=8675
In my opinion it is the best sounding speech in an NES game. It's got an unusual compression format but it's basically a little more than 5 bits per sample, raw PCM.
There are 3 factors that I think make NES samples suffer the most:
1. Memory constraints.
2. CPU constraints.
3. DPCM quality constraints.
In Big Bird's case, #1 was solved by compressing to ~5bps, and dedicating most of the cartridge's data to it (including some of the CHR). #2 was solved by dedicating the CPU almost entirely to the sound while it's playing (with small animations carefully placed at split-points within the sample). #3 was solved by not using DPCM.
For other games, DPCM is a solution to #2, and a partial solution to #1 (both at a huge quality loss), but I think #1 is the biggest reason so many games don't even use DPCM samples. They probably thought it was better to use that room for other things than crummy audio samples. With Big Bird, though, they made the game
about the audio.
lidnariq wrote:(tangent) The NES only has a 7-bit DAC; while one could reasonably stream (at the cost of all CPU time) audio at ~100kHz, it's harder to compensate for the lesser bit depth.
I actually think the bit-depth isn't the biggest concern. 7 bits allows a signal-to-noise ratio of about 42 decibels, I think, which isn't too bad. I saw a claim that cassette tapes usually had an SNR equivalent to about 5 or 6 bits (
video). The quantization noise for the NES is a factor for sure, but I think it really pales in comparison to the problems of memory/CPU/DPCM.
Of course, when you've got continuous music going everything becomes more apparent. I don't like listening to Amiga or GBA hardware recordings much because of the 8-bit audio depth. There's plenty of SuperNSF NSF files that sound reasonably well with 7-bit mixing though. E.g.
bananasp.nsf