VOGONS


Compressed digital soundformats

Topic actions

First post, by Karm

User metadata
Rank Newbie
Rank
Newbie

Hi!
I was wondering which compressed sound formats there have been around 1995 and which are working now on a 486 DX2/66
For example a lot of games from Blizzard, Revolution Software, Westwood etc. have been using uncompressed Wav files or cda in these days, but there existed other formats as well like mp3.
From experience I know, that mp3 is not quite the route to go, because of it fpu "demanding" decompression algorithm.
So here is my question:
Which formats did you try, playing on your 486 (old or new)?
How much cpu did they needed?
In general: which format(including the non compress ones) would you reccommand for using on such a machine?

Reply 1 of 27, by Tiido

User metadata
Rank l33t
Rank
l33t

Flavors of ADPCM are probably most common. You can play that stuff even on a 286 and you get 50 (8bit) or 75% (16bit) saving at cost of extra noise.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 3 of 27, by Scali

User metadata
Rank l33t
Rank
l33t

Mp3 doesn't necessarily require an FPU. But it is a rather complex format, so it is rather CPU-intensive.
Yamaha had VQF back in the day, but I don't think it was used much: https://en.wikipedia.org/wiki/TwinVQ
ADPCM was probably the most common indeed. Firstly, it's very simple to compress and decompress. Secondly, the Sound Blaster DSP had hardware support for ADPCM.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 4 of 27, by Karm

User metadata
Rank Newbie
Rank
Newbie

My DX4/100 plays MP3s up to 192 kbps just fine using WinAmp 2.95 on Win95B. CPU has almost full load then, but you can still click around in Windows.

This is quite interesting, because I've got a AMD 5x86/133@160 and it plays 192 kbps stereo 44.1khz if and only if you are doing nothing else, with winamp (2.95) in the background (on Win95B). Are you using DirectSound or wavOut? Did you tweak anything else? Are the files mono or stereo?
The thing is, that I want to have a little cpu power left, while playing the files, so when it gets usable would be around 11khz/22khz stereo/mono 128kbps or
equal... and than I might consider using wav files, because of the speed.

But back to topic:

Mp3 doesn't necessarily require an FPU

Sorry, I guess you are right, my bad 😁 Thanks!

Regarding ADPCM, are there any libraries for C/C++/DOS out there to compress and decompress it?
I thought the MIDAS Sound library could play ADPCM files... but it's a Win95 only feature using DirectSound.
Or was the ADPCM compression used mainly in Win95?

Thanks for the fast responses!

Reply 5 of 27, by derSammler

User metadata
Rank l33t
Rank
l33t
Karm wrote:

Are you using DirectSound or wavOut? Did you tweak anything else? Are the files mono or stereo?

I'm using waveout and files are stereo. The only "tweak" I did was to set the decoder to half frequency (22 KHz) since I'm using a SB Pro clone which can not do stereo at 44 KHz anyway.

Reply 6 of 27, by krcroft

User metadata
Rank Oldbie
Rank
Oldbie

I recall downloading plenty of mp2 (mpeg layer II audio) files on the early web, and encoding my own cdroms as well.

Downloading was a slog over a 19.2k or 56k modem, but became more feasible over a high speed university LAN connection.

Reply 7 of 27, by Karm

User metadata
Rank Newbie
Rank
Newbie

half frequency (22 KHz)

Ah good... that explains it 😁
With just half of the data processing, it works for me in Win95 and Win 3.1 as well 😁
But I will try out ADPCM first, because it sounds like a good compromise between cpu/space demand.
Got also acceptable sound quality with some strange formats like: 32khz 83(?) kbps.
Need to test different formats. But if you say your 486DX4/100 is at it's limit with 128kbps 22khz stereo,
I should try something around 128-160kbps 22khz mono or 96kbps 22khz stereo.
Would not like to go the 11khz route because there is just too much of a quality loss.

Reply 9 of 27, by Karm

User metadata
Rank Newbie
Rank
Newbie

That's better, so I can use a higher quality... 😁
Has someone with an 486DX2/66 tested a mp3 under dos (for example MXPlayer) and could tell me the cpu workload,
using different mp3s?
and in comparison the workload of an ADPCM?

Reply 13 of 27, by Karm

User metadata
Rank Newbie
Rank
Newbie

That might be true, I was just wondering, if you are chosing, another driver (that means not a Soundblaster x, e.g. WSS) if there will be a delay.
But I guess I just have to try it out later 😀

Reply 15 of 27, by Scali

User metadata
Rank l33t
Rank
l33t

As far as I know, ADPCM is only applied with Sound Blaster or compatible cards in most games.
Other sound cards either aren't supported, or use alternative samples.
I recall a topic here regarding Duke3D I believe, where the ADPCM samples didn't work... replacing the game data with uncompressed audio was the fix.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 16 of 27, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

ADPCM isn't supported on Yamaha YMF-7xx ISA and PCI chipsets. Those cards have issues with DN2, Major Stryker, and a handful of others because of this.

All hail the Great Capacitor Brand Finder

Reply 17 of 27, by tpowell.ca

User metadata
Rank Member
Rank
Member

For early titles maybe, but in Windows 9x and most DOS games past 1994, they use internal routines and don't rely on the soundcard to decode ADPCM. As was stated earlier by others, it is a decent 4:1 compression with VERY little CPU resources required to decode, so why bother to make it hardware dependent on more modern games.
In fact, the AWE64 can't decode ADPCM in hardware, so if you can play a game using that card, you can be sure that game doesn't use ADPCM or decodes it in software.
eg: Some Westwood titles use ADPCM for music, but it is decoded by the CPU, such as Command & Conquer and titles that followed.

  • Merlin: MS-4144, AMD5x86-160 32MB, 16GB CF, ZIP100, Orpheus, GUS, S3 VirgeGX 2MB
    Tesla: GA-6BXC, VIA C3 Ezra-T, 256MB, 120GB SATA, YMF744, GUSpnp, Quadro2
    Newton: K6XV3+/66, AMD K6-III+500, 256MB, 32GB SSD, AWE32, Voodoo3

Reply 18 of 27, by Scali

User metadata
Rank l33t
Rank
l33t

Yes, the Windows API supports ADPCM and a few other compression schemes, such as ALAW and MULAW.
Not sure if any games used those, though, I think they were mainly aimed at voice chat.
I suppose it depends on the sound driver whether these compression schemes are handled on the CPU or not.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 19 of 27, by tpowell.ca

User metadata
Rank Member
Rank
Member
Scali wrote:

Yes, the Windows API supports ADPCM and a few other compression schemes, such as ALAW and MULAW.
Not sure if any games used those, though, I think they were mainly aimed at voice chat.
I suppose it depends on the sound driver whether these compression schemes are handled on the CPU or not.

Yeah that's true.

I suppose it was an interesting time in the early 90s when available storage was a constant issue, but so was computational power and limited soundcard playback capabilities.
So rather than run the risk of running into performance issues, or storage problems (cost of floppies was a serious factor) it was easier to just go with the lowest common denominator for the source samples.
Since all soundcards of the day with PCM output supported 8bit unsigned mono 8kHz and 11kHz samples, that was what most used with the exception of the odd ducks that used soundcard-specific features (eg: Duke Nukem 2).

  • Merlin: MS-4144, AMD5x86-160 32MB, 16GB CF, ZIP100, Orpheus, GUS, S3 VirgeGX 2MB
    Tesla: GA-6BXC, VIA C3 Ezra-T, 256MB, 120GB SATA, YMF744, GUSpnp, Quadro2
    Newton: K6XV3+/66, AMD K6-III+500, 256MB, 32GB SSD, AWE32, Voodoo3