This article covers a brief introduction to the windows Audio Compression Manager API.
This is a copy of an article I wrote for the Delphi Developer Newsletter
The components I have written for this article are part of an open-source project and are available at my homepage.
Audio Compression Manager
Many years ago, before I really knew what the internet was, I heard a rumour of an "Internet Telephone". This piece of software could allegedly transmit speech between two people on the internet in real time, allowing World-wide telephone calls for the price of a local call. With Lyn's brother living in the U.S.A. and us living in the U.K. phone calls were few and far between, and always far too expensive. So, you can imagine how exciting this rumoured technology was to us. So exciting in fact, that we got ourselves connected.
To cut a long story short, we tried this telephone software and it was awful ! So bad in fact that we stuck with our normal telephone and ridiculous phone charges.
GOOD NEWS ! That was a long time ago, and since then things have come a long way (and phone calls are also much cheaper). With the ever increasing popularity of the internet, media has become higher quality yet smaller in size.
There are now numerous streaming audio formats around, and even streaming video, and all this has been made accessible to people on very low bandwidths. That's not all, not only have these formats (Quicktime, RealAudio, and even MP3) become more popular, they have also become more accessible to the developer.
Codecs
Some of these compression routines have been made accessible through the introduction of "codecs". A number of codecs are installed as standard on Windows installation (thanks Microsoft !)
GSM - I believe this format is used by some mobile phone networks
DSP TrueSpeech - I have heard a demonstration of this 1 bit audio format, very clear !
Fraunhofer IIS MP3 - This is most certainly my favourite of them all, it allows you to make your own MP3's
PCM - The standard used by windows, most codecs can convert to/from PCM
Note :
A full list is obtainable by in the MultiMedia section of your control panel. Double click "MultiMedia", then click the "devices" tab, and then expand audio compression
So, what is the point of a codec ? Well, a codec is a little bit like an ActiveX component. ActiveX components allowed developers to implement functionality within their applications without having to write all of the code involved (eg, embedding a Word document). Codecs do the same sort of thing but concentrate on converting media formats into other media formats. For example, if you wanted to write an application which took audio data from an audio CD and then converted it into an MP3, the only work you would need to do yourself would be
- Extract the audio data from the track
...
Click here to read the rest of the article at HowToDoThings.com
Author: Peter Morris