Home Computer Audio Asylum

Music servers and other computer based digital audio technologies.

RE: A revolution in audio rendering

Since you seem to be well into the details, you should think about going directly to the end of the line, and get the processor completely out of the loop. This is done by loading all the music to be played into a single large buffer before play commences and then pointing the DMA engine to the start of this buffer and letting it go. The processor will have nothing more to do.

There are two hard obstacles. First, the DMA engine may have a limited memory addressing ability (e.g. 32 bit addressing, 16 bit word counts). The memory addressing difficulties can be bypassed by various tricks, but this will require knowledge of how the kernel memory management works. The word count limit can't be overcome, without using different hardware. However, a driver can be written that does minimal processing, i.e. juggles buffer pointers, with only a few instructions per buffer switch. The rule here is that the CPU should do absolutely no data copying while music is playing. Second, if you do this, the user interface is likely to be quite primitive. In the extreme case there will not be a way to stop playback without aborting it by some kind of hardware reset to the DMA controller. However, vinyl lovers may appreciate this "feature" since pausing LP playback is not clean. :-)

The resulting software won't be a "product" because it is likely to work for only one hardware and software configuration, but it will give a clear demonstration of what is lost by the huge amount of bloat in modern, "general purpose" operating systems with their layers and layers of overhead.

Tony Lauck

"Diversity is the law of nature; no two entities in this universe are uniform." - P.R. Sarkar


This post is made possible by the generous support of people like you and our sponsors:
  Sonic Craft  


Follow Ups Full Thread
Follow Ups

FAQ

Post a Message!

Forgot Password?
Moniker (Username):
Password (Optional):
  Remember my Moniker & Password  (What's this?)    Eat Me
E-Mail (Optional):
Subject:
Message:   (Posts are subject to Content Rules)
Optional Link URL:
Optional Link Title:
Optional Image URL:
Upload Image:
E-mail Replies:  Automagically notify you when someone responds.