I gotta stop sending dumb/desperate cries for help to this list... for what
it's worth I figured out my hangup. I was hard coding a mode in the
decompression side. Had nothing to do with corrupt wav headers...
On May 6, 2010, at 10:08 AM, Clifton Craig wrote:
> If I use Speex, JSpeex actually, to compress an otherwise valid wave file
with zero lengths in the header would it impact the compression at all?
Here's what I'm doing during compression in Java:
>
> AudioFormat wavFormat = ais.getFormat();
> AudioFormat speexFormat > new
AudioFormat(SpeexEncoding.SPEEX_Q5,
> wavFormat.getSampleRate(),
> -1, // sample size in bits
> wavFormat.getChannels(),
> -1, // frame size
> -1, // frame rate
> false); // little endian
> AudioInputStream spx = AudioSystem.getAudioInputStream(speexFormat,
ais);
> AudioSystem.write(spx, SpeexFileFormatType.SPEEX,
getOutputStream());
>
> I then use speex C library to decompress on the receiving end. In one case
where audio comes from a certain source (headers are properly formed) the
compression/decompression works but in another case where wave audio comes from
a different source (different sample rate and zeroes in the size fields) I get
slowed playback speed. Its as if the sample rate is off or as if the encoding is
not seeing the proper size of the samples. The second case with the corrupt
headers uses 16 bit sample size for PCM linear wave.
>
>
> Clifton Craig
> Software Engineer
> http://codeforfun.wordpress.com
> clifton.craig at gmail.com
>