[wdmaudiodev] Re: The latest in acheiveable latencies using Windows?

  • From: "Jerry Evans" <jerry@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 8 Feb 2007 16:14:19 -0000

Hi Andy

This is a question that has perplexed me for years as well. 

Off the shelf the best results are had with PCI hardware and a well-written 
ASIO driver. RME Hammerfall cards are apparently reliable at latencies of 64 
samples or so. Consumer hardware like a decent Creative Audigy comes bundled 
with an ASIO drvier that should get you latencies in the low hundreds of samples

USB should be equally low latency but suffers from the hardwired 10ms buffering 
built into the USB stack on Win2K/XP. (discussed some years back in this NG). 

A quick test can be done with ASIO4ALL (www.asio4all.com) and PCI/USB hardware 
if you use PortAudio or somesuch to give you a quick way to read and write 
audio data.

What _really_ burns me is that the Vista guys decided to write an entirely new 
API to do near realtime audio. Which gives Windows no fewer than _4_ audio 
interfaces (MME/DirectSound/KS/Core Audio).  So far I've not had the chance to 
try it out but a posting some time back by one of the PortAudio crew suggested 
performance was far from advertised. See here: 
http://msdn2.microsoft.com/en-us/library/ms678518.aspx and here: 
http://msdn2.microsoft.com/en-us/library/ms679162.aspx

You'd have thought the simplest way to get sound out quickly was to give users 
(or latency sensitive apps) the option to bypass the wretched KSMixer, which is 
the bottleneck in the entire bodge (see DDK docs for grisly details). My utter 
frustration with Windows audio is compounded by the fact that Windows has had a 
very stable, very low latency MIDI implementation since NT 4.0. Which was 
_guaranteed_ to operate with 1ms accuracy, that being a requirement of the MIDI 
spec. If reliable MIDI delivery then why not the equivalent for audio? 

ATB

Jerry.

----- Original Message ----- 
  From: Voelkel, Andy 
  To: wdmaudiodev@xxxxxxxxxxxxx 
  Sent: Wednesday, February 07, 2007 9:12 PM
  Subject: [wdmaudiodev] The latest in acheiveable latencies using Windows?


  Hi,

  I am looking into the feasibility of using Windows as a realtime development 
platform for audio algorithms. The stumbling block for this approach for some 
time now has been latency. I am wondering what the current state of affairs is 
in the Windows world regarding this issue. A few year ago, I acheived latencies 
of a few milliseconds using a MOTO 2408 and (tuned) 500 MHZ P3. So I figured 
this problem would be largely solved by now, but it appears that this not the 
case, based on some quick internet research.

  I am interested in the answers to questions like:

    1.. Which audio interface HW types (USB, Firewire, PCI) have the lowest 
latencies, and what latencies are achievable in each category? 
    2.. Is DirectKS streaming still the best way to achieve low latencies, or 
has it been replaced by something better? 
    3.. What are achievable latencies in Windows Vista vs. Windows XP? Would I 
get an enormous payoff going to Vista, or could I get close by tuning XP and 
using the fastest driver interfaces? 
    4.. How much Windows system tuning is required to achieve low latencies? 
    5.. What are the best information resources to consult for (up to date) 
system tuning tips? 
    6.. If I write my own audio host program (desirable for many reasons), are 
there good information sources on how to achieve the lowest possible latencies? 
  Thanks in advance for any help on this issue. I really appreciate it!

  - Andy Voelkel

  Principal DSP Engineer

  Plantronics, Inc.





  CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, files or 
previous e-mail messages attached to it, may contain information that is 
confidential and/or legally privileged. If you are not the intended recipient, 
or a person responsible for delivering it to the intended recipient, please DO 
NOT disclose the contents to another person, store or copy the information in 
any medium, or use any of the information contained in or attached to this 
transmission for any purpose. If you have received this transmission in error, 
please immediately notify the sender by reply email or at 
mailto:privacy@xxxxxxxxxxxxxxx, and destroy the original transmission and its 
attachments without reading or saving in any manner. 

Other related posts: