Comprimir datos PCM

Estoy usando las funciones WinAPI - Wave para crear un programa de grabación que graba el micrófono durante X segundos. He buscado un poco en la red, y descubrí que los datos de PCM son demasiado grandes, y será un problema enviarlos a través de sockets ...

¿Cómo puedo comprimirlo a algo más pequeño? ¿Alguna forma simple / "barata"?

También he notado que cuando declaro el formato usando las funciones Wave API, estoy usando este código:

WAVEFORMATEX pFormat;
pFormat.wFormatTag= WAVE_FORMAT_PCM;     // simple, uncompressed format
pFormat.nChannels=1;                    //  1=mono, 2=stereo
pFormat.nSamplesPerSec=sampleRate;      // 44100
pFormat.nAvgBytesPerSec=sampleRate*2;   // = nSamplesPerSec * n.Channels * wBitsPerSample/8
pFormat.nBlockAlign=2;                  // = n.Channels * wBitsPerSample/8
pFormat.wBitsPerSample=16;              //  16 for high quality, 8 for telephone-grade
pFormat.cbSize=0;

Como puedes ver,pFormat.wFormatTag= WAVE_FORMAT_PCM; tal vez pueda insertar en lugar deWAVE_FORMAT_PCM algo más, así que se comprimirá de inmediato? He verificado MSDN para otros valores, aunque ninguno de ellos funciona para mí en mi Visual Studio ...

¿Entonces Que puedo hacer?

¡Gracias!