[linux-audio-dev] Re: How does ASIO work?

Ron Kuper RonKuper at Cakewalk.com
Wed Jul 7 16:26:54 UTC 2004


>>>
Please specify if you mean per fragment (buffer, usually 2) latency or 
total latency. 
<<<

Sorry, yes, I mean per-buffer latency.  WDM lets buffer sizes get down
to 1.5 msec.

>>>
the Tascam guys that produce Gigastudio, would have dropped their own 
low latency driver model (GSIF) and would have
adopted WDM,ASIO which would ease the pain of integrating Gigastudio 
with other audio apps.
The other theory why they still use GSIF (now they even developed GSIF 
further by releasing GSIF2) because it would
be too time consuming (perhaps they need to rewrite a large section of 
code to adapt Gigastudio to WDM/ASIO) .
<<<

When Gigastudio first came out they still needed to support Win95 and
Win98.  WDM doesn't exist or work very well on these operating systems.
Combine this with the fact that Giga does a lot of processing in kernel
mode and it's understandable why they needed to invent something like
GSIF.

They still do work in the kernel, which would also rule out ASIO.  ASIO
is a user-mode API, not a kernel mode driver model.

I'm surprised they don't do WDM today, but I really doubt it's because
of some inefficiency in WDM.  They can keep all their code in the kernel
and still do KS.

>>>
at any cost. I think one of the best tradeoffs is simply writing VST 
plugins (or using other plugin APIs) because hosts are usually
optimized for low latency audio I/O, can use whatever audio drivers they

wish/need and reinventing the wheel for the
 audio application developer is simply a waste of time.
Not to mention that using a plugin API you get perfect integration in a 
virtual studio.
<<<

Plugin APIs are different than driver models.  You can run VST plugins
in ASIO hosts apps, WDM host apps or even MME host apps.  If you were
developing an audio host app you would need to choose both which driver
model you wanted to support, as well as which kind of plugins you want
to support.

>>>
 I don't see why WDM should not become the only driver model 
standard in the windows pro audio world.
<<<

Totally agree.

>>>
As said I'm not an expert in low leven windows drivers  but I guess WDM 
is still not perfect so audio apps producers
prefer to go their own way to squeeze out the maximum from the hardware 
(especially for virtual instruments it's very important
to achieve low latencies so that the instruments can be played live).
<<<

In the last few years every pro sound card that's come out has had both
WDM drivers and ASIO drivers.  Steinberg applications only support ASIO,
so if the h/w vendors want to support both Steinberg and others, they
need to write both kinds of drivers.  It's about being compatible with
more applications.




More information about the Linux-audio-dev mailing list