Pulse Code Modulation (PCM) codecs are the simplest form of waveform codecs. Narrowband speech is typically sampled 8000 times per second, and then each speech sample must be quantized. If linear quantization is used then about 12 bits per sample are needed, giving a bit rate of about 96 kbits/s. However this can be easily reduced by using non-linear quantization. For coding speech it was found that with non-linear quantization 8 bits per sample was sufficient for speech quality which is almost indistinguishable from the original. This gives a bit rate of 64 kbits/s, and two such non-linear PCM codecs were standardised in the 1960s. In America u-law coding is the standard, while in Europe the slightly different A-law compression is used. Because of their simplicity, excellent quality and low delay both these codecs are still widely used today. For example the .au audio files that are often used to convey sounds over the Web are in fact just PCM files. For information on how to listen to au and other sound format files under various operating systems see here. Code to implement the G711 A-law and u-law codes has been released into the public domain by Sun Microsystems Inc, and modified by Borge Lindberg. To FTP this code click here. For more information about PCM, and other waveform codecs, a good place to look is the book "Digital Coding of Waveforms" by N.S Jayant and Peter Noll. It was published by Prentice Hall in 1984, and although its too expensive really to be worth buying, you might find a copy in your library.