home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.multimedia:4224 comp.os.ms-windows.programmer.misc:5334
- Newsgroups: comp.multimedia,comp.os.ms-windows.programmer.misc
- Path: sparky!uunet!mcsun!sunic!aun.uninett.no!ugle.unit.no!humpty.edb.tih.no!lumina.edb.tih.no!ketil
- From: ketil@edb.tih.no (Ketil Albertsen,TIH)
- Subject: Re: Playing ADPCM audio data under windows
- Message-ID: <1993Jan25.092049.10800W@lumina.edb.tih.no>
- Sender: ketil@edb.tih.no (Ketil Albertsen,TIH)
- Organization: T I H / T I S I P
- References: <1993Jan23.151043.23034@impmh.uucp>
- Posting-Front-End: Winix Conference v 92.05.15 1.20 (running under MS-Windows)
- Date: Mon, 25 Jan 1993 09:20:39 GMT
- Lines: 37
-
- In article <1993Jan23.151043.23034@impmh.uucp>, cm@impmh.uucp (Colin Manning)
- writes:
-
- >According the the ms documentation, they accept data in 44.1Khz samples,
- >20.05Kh and 10.025Khz. ADPCM is sampled at different rate.
- >
- >Anyone any idea how easy/difficult it is to convert audio data sampled at
- >one rate to another ?
-
- Now that you ask: Yes, it is difficult... :-)
-
- If the only difference was the sampling rate, plain linear interpolation
- would probably be satisfactory - and anyone who can do simple multiplication
- and division in c could do the job.
-
- But while Windows uses a simple, linear PCM format, ADPCM is quite a
- different thing. The "A", Adaptive, means that the step size is not
- constant, but depends on the slope of the curve. The "D", Differential,
- means that the encoded sample value is not a direct value of the signal
- level but the difference from the previous value. These two factors
- make it quite a job for one inexperienced with digital signal processing.
-
- Sure, to experienced DSP people, the job is "fairly simple" (at least
- in theory), but I suspect that you ask because you do not know a
- sufficient amount of the theory.
-
- A while ago, I picked up the CCITT recommendation G.722, hoping to write
- a G.722-to-Windows-sound. Sorry, my math background was much to weak.
- Yours may be better than mine, though! (G.722 is a 7 kHz/48-56-64 kbit
- encoding. G.721 is a 3.4 kHz/32 kbit encoding; they are significantly
- different.)
-
- So, rather than trying to code it yourself, try to find a library to
- buy. If you want anything close to real time conversion, look for
- hardware. After all, the chips to do it will be going into millions of
- telephones as G.722/G.721 becomes commonplace, so they ought not be
- too expensive. Maybe they still are, today.
-