First post, by Cloudschatze
- Rank
- Oldbie
"CD quality" PCM playback can be something of an expensive process with lesser 386/486 systems. This is especially true of multi-tasking environments, where, in addition to storage concerns, the associated CPU (PIO) and RAM (buffering) costs quickly relegate such playback to being a focused effort.
Consider then, a 386-class system @ 25MHz, with 9MB RAM, running Windows 95. A Sound Blaster 16 w/CSP has been installed to perform sound duties.
Playback of 16-bit stereo LPCM @ 44.1kHz has the following CPU impact on said system:
Ouch! In addition, ~705KB of memory is consumed for the 4-second default MCI buffer. Storage aside, we're looking at a resource cost of ~43% CPU, and ~12% RAM, making continuous playback while attempting to do nearly anything else somewhat impractical.
Curses! If only we could reduce the bitrate somehow, without incurring additional CPU cost or significantly degrading the audio!
Enter 4-bit, 4:1 ADPCM compression.
Windows 95 includes built-in ADPCM decompression in the form of Audio Compression Manager modules, and where IMA ADPCM is well-supported by modern conversion tools, surely the data reduction provided by Microsoft's 32-bit imaadp32.acm implementation might be the answer?
Microsoft IMA ADPCM CODEC
Well, we've compounded the CPU cost, but hey, the (unrepresented) RAM usage is down to ~176KB. Fail.
Perhaps Creative's 16-bit WFM0011.ACV software CODEC, pulled from the Windows 3.1 SB16 install files, might help?
Creative Integrated Sound Architecture IMA ADPCM Audio CODEC
Nope. There is slightly less compounded CPU cost, but it's still above that of straight LPCM playback. If only there were some means of offloading the decompression CPU cost!
Enter Creative's oft-derided Advanced Signal Processor (CSP).
Coupling WFM0011.ACV with the WFM0011A.CSP binary (also pulled from the Win3.1 SB16 install files), we arrive at the following:
Creative Integrated Sound Architecture IMA ADPCM Audio CODEC + CSP binary
Mission accomplished! Minimally-impacting, "CD quality" audio playback in Windows 95, through non-standard use of IMA ADPCM compression and Creative's Advanced Signal Processor. Whether you're converting/using sound schemes, or simply want to play a bunch of stored music in the background while performing other tasks, there's potential system-wide benefit to be had.
It's worth noting that both WFM0011.ACV and WFM0011A.CSP have to be present in order for the CSP to be utilized, with the former presumably doing some kind of hand-off to the CSP hardware.
In summary, and concerning the use of the CSP with my particular system:
Furthermore, and as a *usable* alternative to perceptual coding methods of comparable bitrates, consider the effect of downsampling:
Resource-wise, we're primarily getting additional storage savings here. That's ~8.68 and ~12.6 hours of audio per GB, respectively. Here is a recorded example of 32kHz playback, where the (non-presented) compressed WAV file is 15.4MB in size.
- Format: 4-bits per sample STEREO 32.000 kHz IMA ADPCM
♫Recorded CT-1770 w/CSP playback (FLAC)