I don't think that the individual WAV files are the problem.
In Allegro 4.1.14 and previous, the Allegro SETUP.EXE sounds just fine, IE when you invoke SETUP -> TEST -> TEST DIGITAL, you hear what you are supposed to hear, a 'bell or gong sound' (I presume from setup's own data file).
For my own test, I invoked the example programs 'Play Sample", and used a WAV from an old DOS game Daggerfall - it is a spoken voice, and it says "Rest well this night, for tomorrow you sail for the kingdom of Daggerfall!". That WAV is 8 bit, I think 11025 Hz, stereo (and pans slightly from one side to the other).
In Allegro 4.1.15 and later, even the Allegro SETUP.EXE is distorted. Instead of a 'gong', it sounds almost like a 'screech' or "shriek". All waves, regardless of resolution, frequency, or ... 'stereoige" (heheh - made up a new word) sound equally distorted. Almost as if you used a sound editor on a WAV (I use GoldWave, thats what I've used for years), and increased the amplitude (volume) in the wav by 500 percent or something, so much so that the waveforms themselves are distorted and the envelope is destroyed (ie there is no envelope - its all maxxed out).
The SoundBlaster Pro is 8 bit, stereo, supports up to ~ 44 Khz (I have the specs). I don't think it has an inherant 'quality' setting (through hardware).
I have it set up (via jumpers, and my BLASTER variable) for address 220, interrupt 5, DMA 1 (some people say that the standard for Soundblaster 1's are INT 5 while SBPro should be INT 7; thats not QUITE true... just a 'tendancy'). DMA sharing is DISABLED.
I've double checked ALL the boards jumpers over the past few days, and double checked the BLASTER= environment variable in all of my AUTOEXEC.xxx's (I'll explain that shortly).
I've used a variety of WAVs in testing post-4115 Allegro, and regardless of the WAVs characteristics, they all sound distorted. In Allegro Setup, I tried all kinds of settings and combinations of settings - different volume, frequency, and I forget what its called, I thought it was # voices (number of channels?). I processed some WAVS, resampled them to different frequencies and so forth, nothing helped. I stuck with 8 bit WAVs though.
I just got up, and so far only 1 cup of coffee. After at least a second cup, I will start with examination of the mixer code for Alleg 4.1.14, 4.1.15, and 4.22. I'll do experiments. If I get 4.22 running for DOS/SBPro, I'll post the solution here (also the added joystick type). It may be a day or two before I post again...
Okay - exlanation about AUTOEXEC.XXX
I have a neat little program in my DOS directory - REBOOT.COM. As I recall, its only about 7 bytes long. It simply jumps through the computer's cold start vector, rebooting the machine. Its handy because it can be called through batch (.BAT) files. I got it from an OLD book; "DOS 5 Techniques and Utilities". To make the program, you invoke the DOS memory editor ('DEBUG'), load about 7 specific hex bytes into memory, and save memory as 'REBOOT.COM'.
In my DOS directory, I have 5 batch files (one of them very recent); XMS.BAT, EMS.BAT, BOR.BAT, RAW.BAT, and now I have DJG.BAT (for DJGPP).
I have fives sets of AUTOEXEC and CONFIG files... AUTOEXEC.XMS and CONFIG.XMS, through AUTOEXEC.DJG / CONFIG.DJG.
Entering the name of the batch file (since they are in C:\DOS, they are always in the path); XMS, EMS, RAW, BOR or DJG, runs the appropriate batch file.
The batch files simply copy 'thier' AUTOEXEC / CONFIG onto the hard drive's root AUTOEXEC.BAT and CONFIG.SYS, and then it invokes REBOOT.COM.
So, if I want to play a game that needs EMS memory (such as Elite II:Frontier or Wing Commander Privater) I just enter 'EMS' from any directory. The computer reboots, and I have 16Mb of EMS allocated, with no CDRom driver loaded (I have a 'NO CD hack' for Privateer). This lets me have as much conventional memory as possible. The path only points to DOS and a directory that contains a hex editor ('HIEW').
'XMS' invokes a more general configuration; no EMS, CDRom driver is loaded, FILES=64, etc. Its good for protected mode programs (Such as DJGPP/Allegro AFTER they have been built and tested). Its good for my DOS version of the RayTracer (POVRay 3.1g, though I rarely use that anymore). The path contains DOS, HIEW, and PICT (a very good DOS image viewer PictView).
'RAW' is just raw. Only DOS is in the path. NO xms or ems driver. I need that to run verious versions of DTA (basically a .FLI/.FLC file maker and image manipulator).
'BOR' is optimized for Borland Turbo C++ 3.0 and TASM.
And finally 'DJG" is optimized for DJGPP, with the DJGPP environment variable and the required SET command, and a couple of specific things in the CONFIG.SYS
This makes rebooting to different configurations very easy.