I'm working on converting a .pcm file to a .wav file with GoldWave. I'm not sure if any other programs out there support headerless raw file types, but anyway I'm not able to hear a clean version of the file. I tried opening the file as raw, 16-bit sound with a 44.1 kHz sampling rate. All I hear is a high-pitched squeal, similar to the way rewinding an old video tape sounds, so I'm assuming the sampling rate is too high.

Create a frequency spectrogram of your PCM files. If the max. shown frequency is e.g. 11025Hz, load your PCM file with a samplerate of 22050Hz, etc.

In order to create a frequency spectrogram of a headerless file, wouldn't you need to know e.g. the sample rate in order to tell that to the software making the spectrogram? Otherwise it will simply have content up to 1/2 the sample rate that you tell it.

I assumed that 44.1kHz is allready a to high samplerate because it play to fast (mickeymouse style). If you load it at 44.1kHz and you look at the spectrogram you will see no frequencies above a certain point - that's the max. bandwith of the original samplingrate.

If you see no signal above 8kHz, the original samplingrate should be 16kHz. Exept the original has been brickwall filtered, but i don't assume this has been done.To be sure load the rawPCM with the guessed samplerate and listen to it. If the sound is OK -> be happy.

And to be honest: There are just a few standard samplingrates - one will fit: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 Hz

Like pdq said, loading in a different sampling rate won't magically maintain the frequency band, but change it aswell. A 440Hz tone sampled at 22Khz is a 880Hz tone if loaded at 44Khz.

@Cincodekyle: Looks like you have the correct endianess, but like Mike said, you should try loading it in mono instead of stereo and/or loading it in 8bits instead of 16bits. If bitdepth is really 16bits, it will sound very distorted in 8bits, so if it sounds okish with 8bits it surely is 8bits.

About stereo or mono, there's no easy way to tell without knowing it, but if it is stereo, it may sound more distorted in mono. (that depends if it is a two channel mono, or stereo with different enough content)

At last, as you should know, reducing the samplerate will help you reduce the speed, but first check if you have the proper bitdepth and channel numbers

Thanks for the helpful insight Mike, .halverhahn, pdq and JAZ. I'm experimenting with some of those ideas right now to see if I can get a clearer view of the audio. An 8-bit, unsigned, mono signals sounds the cleared right now I just need to find the right frequency to playback with.

[JAZ], you yourself pointed out that would only double the audio's speed. The OP says it now sounds perfect, so why would they wish to do that? Unless using mono or 8-bit (but not both) will maintain the speed, but I'd think (admittedly I'm not great at conceptualising) that'd result in noise.

I started with an original which is 8bit, mono, 16Khz. (What i believe the OP's file is).

I've imported the file with the three alternative settings that we've talked in this thread (the one the OP has found to fit his options, and two more of mine).

All four files seem to play well (at least at the appropiate speed). But it is obvious that the lower the sampling rate, the worse it sounds.

Edit: Now that i have corrected the 8bit file, there is one suggestion about the file being 16bits and not 8 bits. In DOS/Windows at least, 8bit samples were unsigned (i.e. from 0 to 255), while 16bit samples are signed (from -32768 to 32767).

Since the op says that the file he has is signed (as i have assumed in my example), chances are the file is 16bits. So, in conclusion, my second option.

I added the .wav files in the upload forums to clear any confusion. No, i did not resample. The size of each file should be enough to understand that the only difference is the header ( except for the 8bit unsigned file, in which case the bytes are changed from signed to unsigned).