protected static void WriteWAVEHeader(Stream output, int rate, int subchunkSize)
{
BinaryWriter writer = new BinaryWriter(output);
writer.Write(waveheader, 0, 4);
writer.Write(subchunkSize+36);
writer.Write(waveheader, 8, 16);
writer.Write(rate);
writer.Write(rate);
writer.Write(waveheader, 32, 8);
writer.Write(subchunkSize);
writer.Flush();
}