XaiJu
JOTEGO
JOTEGO

patreon


Sample Sound Effects in Arcades

It's time for this month's technical post. With the Double Dragon cores we have experienced two games with very intensive use of ADPCM sound effects. Oh, and Double Dragon II even shares the same ADPCM chip than CPS1 games. I'd like to briefly explain how ADPCM worked, comparison to consoles and pros and cons.

We all know that PCM (Pulse Code Modulation) sound effects are digital recordings of real life sounds. They sound great but they take up a lot of memory. Before the advent of MP3 the industry, particularly the telephone industry, already had faced this issue and came up with a simple solution: do not store each signal value, but just the difference with the previous one. The idea is that signals do not change so quickly. Imagine the sound of a guitar string. You can just feel that it changes smoothly. So the idea was: instead of 8 bits per sample, let's do 4-bit samples and the meaning of each sample is just the difference with the previous value. This saves half the memory. It is called DPCM (Delta PCM). And it does not sound great.

The problem with DPCM is that some sounds do suffer quick changes. Imagine a bell for instance. And some sounds are just loud so even if they change smothly the difference between two samples is actually a number larger than what you can fit in 4 bits. So what can we do if we only have 4 bits to play with but we want more quality? Make the meaning of those 4 bits variable. So when you start moving up, a value of 15 may mean move up by 15; but after that the next 15 could mean move up by 31, and the next 15, could mean 63. So how we interpret the code in those 4 bits depends on the history of the signal. The code adapts to the signal and thus is called ADPCM (Adaptive DPCM). ADPCM systems sound great and soon became very popular in telephony and in videogames!

Of course, it is better to have the full signal in PCM rather than a compressed version in ADPCM. This is like comparing an MP3 to a FLAC file. The SEGA Megadrive has PCM sound. Is it because of sound quality? No, it is because of price. ADPCM is hard to implement. You need more logic than in pure PCM and also a small look-up table (memory). Thus for a home system it is better to go with PCM. Wait, wasn't PCM more expensive because the sound requires more memory. Well, here is the trick: just reduce the sampling frequency. If you halve it, you have the same memory needs than an ADPCM system (yet worse sound quality). So home computers and consoles did not have ADPCM sound during the 8 and 16-bit eras.

Expensive systems went for ADPCM during the time memories were expensive: Double Dragon II and Capcom System 1 are two examples. But NeoGeo also use ADPCM in an awesome number of channels. That is why NeoGeo music sounds so good. Whereas Double Dragon used ADPCM for FX (and sounds great), with NeoGeo it is very common to do most of music instruments through ADPCM. So the FM sounds just accompany the ADPCM instruments, which play the main role in NeoGeo music. ADPCM was also included in the Sound Blaster 16 ASP processing abilities.

In time, as memory became cheaper, ADPCM was replaced by PCM first and then, when CPU's became faster too, by compression algorithms such as MP3. MP3 is a much more sophisticated algorithm, not as easy to explain as this variable-meaning 4-bit encoding thing called ADPCM, with which Street Fighter 2 sounds are encoded.

Comments

Yes, pretty much identical

JOTEGO

Fun read and well explained. Is the x6800 personal computer’s sound hardware similar to CPS1?

Andyways

This is so cool. Thanks for doing these deeper dives.

derFunkenstein


More Creators