Hi, Nikos and Florian.

Thanks for the helpful elucidation.

-- 
Alan Mackenzie (Nuremberg, Germany).


On Sat, May 28, 2011 at 04:13:18PM +0200, Florian Philipp wrote:
> Am 28.05.2011 12:19, schrieb Nikos Chantziaras:
> > On 05/28/2011 12:50 PM, Alan Mackenzie wrote:
> >> Hi, Gentoo.

> >> It occurred to me the other day that I am clueless about how a sound
> >> card works.  How do the data get into it?  Does the sound card use an
> >> interrupt to ask for more data?

> > The data is placed in RAM.  The card reads it from there using a DMA
> > operation.  You can read about it here:

> > http://en.wikipedia.org/wiki/Direct_memory_access


> >> What form do the data take?

> > It's raw data, and its form depends on what the card is expecting.  What
> > the card is expecting is programmable by the card's driver.


> Most likely it is some PCM format (pulse code modulation) not very
> different from WAV, CDDA, etc. (just without headers, of course). In the
> easiest case, the sound card then just feeds this into a digital-analog
> converter connected to the output (together with a analog-digital
> converter this is called an audio codec, for example AC'97).

> AC3 or DTS, the compressed formats found on DVD, can also be "passed
> through" the sound card to reach a home theater system over a digital
> output without being converted into an analog signal.


> >> Say I feed an mp3 through the card.  Does
> >> the Athlon do the decompression, or does the sound card do it?

> > The MP3 is decoded by your CPU (by software like libmad, xine,
> > gstreamer, etc.)  The decoded data is send to the driver, the driver
> > applies any needed conversions to it (according to what the card
> > expects), and then places it in RAM so the card can get it by means of DMA.


> This can be observed in some cases when the system crashes during
> playback. Then sometimes the card just seems to loop over the last data
> packet placed in RAM.


> >> Last of all, is there a command line program which can play a CD by
> >> feeding its data into the sound card?

> > Today this works the same playing any other audio.  The fact that audio
> > in this case comes from a CD doesn't matter.  An application reads the
> > audio from the CD, sends it to the driver, and from there it gets to the
> > sound card.


> The cdparanoia FAQ provides a lot of insight into the special problems
> of reading CD audio:
> http://www.xiph.org/paranoia/faq.html

> Regards,
> Florian Philipp




Reply via email to