protected static byte[] GetWAVEHeader(int rate, int subchunkSize)
{
byte[] wave = new byte[44];
waveheader.CopyTo(wave, 0);
BitConverter.GetBytes(subchunkSize+36).CopyTo(wave, 4);
BitConverter.GetBytes(rate).CopyTo(wave, 24);
BitConverter.GetBytes(rate).CopyTo(wave, 28);
BitConverter.GetBytes(subchunkSize).CopyTo(wave, 40);
return wave;
}