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

  • From: "Evert van der Poll" <evert@xxxxxxxxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 8 Feb 2007 23:58:11 +0100

Jerry,

The Windows MIDI implementation is in no way better than it's audio
implementation. Guaranteed accuracy within 1 millisecond is an illusion.

I agree with you that 64 samples is probably the best latency you can
achieve with audio devices and PCI hardware is the most likely candidate to
achieve it with.

-Evert




  -----Original Message-----
  From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx]On Behalf Of Jerry Evans
  Sent: Thursday, February 08, 2007 5:14 PM
  To: wdmaudiodev@xxxxxxxxxxxxx
  Subject: [wdmaudiodev] Re: The latest in acheiveable latencies using
Windows?


  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: