What is mu-law encoding?
Where can I get source for it? Mu-law (also “u-law”) encoding is a form of logarithmic quantization or companding. It’s based on the observation that many signals are statistically more likely to be near a low signal level than a high signal level. Therefore, it makes more sense to have more quantization points near a low level than a high level. In a typical mu-law system, linear samples of 14 to 16 bits are companded to 8 bits. Most telephone quality codecs (including the Sparcstation’s audio codec) use mu-law encoded samples. Desktop Sparc machines come with routines to convert between linear and mu-law samples. On a desktop Sparc, see the man page for audio_ulaw2linear in /usr/demo/SOUND/man. Craig Reese posted the source of similar routines to comp.dsp in August ’92. These are archived on file://evans.ee.adfa.oz.au/pub/dsp/misc References: CCITT Recommendation G.711 (very difficult to follow). Michael Villeret, et. al, “A New Digital Technique for Implementation of Any Continuous
There are many data compression schemes used to provide bandwidth reduction for the storage or transmission of sound. One of the schemes supported by the Java Sound API is a data encoding scheme commonly known as mu-law, u-law, ulaw, ULAW, or something similar. My preparation effort for writing this article has proven to be an interesting exercise in gleaning information from the Internet. My objective was to provide you with an understanding of mu-law encoding and decoding. Needed to fill in some technical gaps While I had a pretty good idea of what mu-law encoding was all about at the outset, there were some technical gaps in my knowledge that needed to be filled. A Google search on the words in the above list produced thousands of hits. However, it was surprisingly difficult to gather enough definitive information to fully understand how mu-law encoding actually works, and to be able to write understandable programs to perform mu-law encoding and decoding using the Java programming