🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.multimedia
3 messages
3 total messages Started by Colin Manning Sat, 23 Jan 1993 15:10
Playing ADPCM audio data under windows
#1687
Author: Colin Manning
Date: Sat, 23 Jan 1993 15:10
15 lines
865 bytes
Has anyone out there had any experience playing ADPCM audio data 
through a Windows sound driver ?

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 ?

Many thanks in advance,


Colin Manning
-- 
Colin Manning     cm@impmh.uucp      Tel: +44 753 516599
Re: Playing ADPCM audio data under windows
#1698
Author: Ketil Albertsen,TIH
Date: Mon, 25 Jan 1993 09:20
37 lines
2388 bytes
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.
Re: Playing ADPCM audio data under windows
#1720
Author: Guido van Rossum
Date: Tue, 26 Jan 1993 14:48
33 lines
1942 bytes
ketil@edb.tih.no (Ketil Albertsen,TIH) writes:

>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.
>
>[and goes on to explain how decoding ADPCM is difficult]

Two remarks.  First, while linear interpolation works for rate
conversion, the result is rather poor: it can adds lots of digital
noise.  Unfortunately the techniques required to remove this noise are
difficult -- digital filters are hard to design, and hard to implement
in software.  (Read comp.dsp if you're interested in such things.)

Second, a free implementation of ADPCM exist.  This ADPCM (en/de)coder
is available by anonymous ftp from ftp.cwi.nl [192.16.184.180],
directory pub/audio, file adpcm.shar.  This is a library written in C
-- you'll have to write a program around it to use it.

Happy hacking,

--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads