ASIO

Please remember the terms of your membership agreement.

Moderators: valis, garyb

User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

From Ron Kuper in the Cakewalk forum. Thought maybe you'd find this interesting.


The difference between various driver models boils down to how the driver's kernel-mode component talks to its user-mode component.

Quick aside: User-mode is where applications like SONAR, IE, Word, etc. live. Kernel-mode is the lowest level area in the OS, where OS features such as memory protection, thread scheduling, etc. are implemented. As in most modern OS's, you cannot directly access hardware in user-mode; you must be in kernel-mode. A "device driver" is the code whose job it is to live in kernel-mode and talk directly to the hardware.

Win32 Driver Model (WDM) is very thoroughly designed and documented framework that defines how kernel-mode drivers talk to hardware. Microsoft provides documentation, driver qualification, etc, for WDM drivers. Furthermore, for audio drivers, WDM provides a way for user-mode applications to talk directly to the kernel-mode drivers. This is the Kernel Streaming (KS) interface.

Thanks to this design, SONAR can implement it's lower edge (the part that talks to the driver) using the KS interface, knowing that any WDM compliant driver will behave in the expected ways.

By comparison, ASIO is pretty different beast. ASIO defines how an audio application can talk to an audio driver, but doesn't specify *anything* about how the driver is to be implemented. So a host can implement a lower edge that talks ASIO, and can usually get consistent behavior just like KS. But there are some subtle and important differences.

First, I said with ASIO you can "usually" get consistent behavior. The issue here is that ASIO doesn't have nearly the degree of documentation and support that WDM/KS has. Let's face it, Microsoft is an orders of magnitude bigger company than Steinberg. The documentation team for KS is probably bigger than Steinberg's entire development team.

For ASIO, the end result is that many driver vendors test ASIO under Cubase, and then declare victory. Because the ASIO specification is unclear in some places, different hosts behave differently, and without a qualification system there's no easy way to ensure consistent behavior.

The other subtle difference between ASIO and WDM/KS is that ASIO doesn't specify how the kernel-mode piece gets written. A vendor is pretty much left on their own to figure out how to write their .SYS driver.

Ironically, if an audio hardware vendor wants to write an ASIO driver, they'll probably grab the Windows driver development kit (DDK), and look up the chapter on writing kernel-mode audio drivers. This chapter is all about writing WDM/KS drivers!

So in many cases, an ASIO driver has a WDM/KS kernel-mode piece at its core. This means that SONAR can automatically talk to the driver through the KS interface. This point is crystallized in the "ASIO4ALL" driver, which takes the low-level KS interface and wraps it in an ASIO interface.
User avatar
paulrmartin
Posts: 2445
Joined: Sun May 20, 2001 4:00 pm
Location: Montreal, Canada

Post by paulrmartin »

Where does this leave us Logic users?
marcuspocus
Posts: 2310
Joined: Sun Mar 25, 2001 4:00 pm
Location: Canada/France

Post by marcuspocus »

Same place you were before... :smile:
samplaire
Posts: 2464
Joined: Tue Jun 05, 2001 4:00 pm
Location: Warsaw to Szczecin, Poland
Contact:

Post by samplaire »

That's only one side of the medal. Sonar (Cakewalk) tries to show they do better. I don't know PC (Mac user) but AFAIK ASIO was something like a cure for the way M$ win treated audio at first. Kernel Streaming (WDM drivers) is available (once more, AFAIK) from Win2000 and ASIO was established in the early days of win95. So the glory goes to Steinberg. Cakewalk was a baby in the time you could have a virtual studio in your computer (I mean realtime fx, eq and so on) using Cubase. I don't defend Steinberg as I'm Logic user now but I used to work with cubase succesfuly (also on a PC but long time ago).
The conclusion is the info Krizrox provided is something like a propaganda for me :wink:


Sonar is probably great piece of software now, no doubt, but the pioneers were they at syeinberg even if the race isn't 100% fair.

PS
No offence intended Kris :wink:

<font size=-1>[ This Message was edited by: samplaire on 2004-03-09 11:18 ]</font>
Counterparts
Posts: 1963
Joined: Tue Aug 19, 2003 4:00 pm
Location: Bath, England

Post by Counterparts »

From my ailing memory...

Even though improved in XP, using the kernel-level audio streaming/mixer is no good as the latency is just too high. Hence...ASIO drivers!

Royston
User avatar
garyb
Moderator
Posts: 23380
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Post by garyb »

yeah,cakewalk it full of ..it.their product is very,very nice and i bought it,but it is not so great when campared with logic or cubase...(imho)...those guys went to asio kicking and screaming,i'm not surprised that they would try to justify the fact that it took them soooo long...
User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

Wasn't trying to start a fight or anything :smile:

Just thought you'd get a kick out of Cakewalk's perspective on this subject.

I'm convinced there is some sort of communication breakdown between Sonar and SFP ASIO drivers - especially the 24 bit ASIO drivers.

If I load SFP's 24 bit ASIO drivers, I get the following in Sonar 3:

1 Left
1 Right
1 Stereo
3 Left
3 Right
3 Stereo
5 Left
5 Right
5 Stereo
and so on

Where are the even numbered channels? Audio output routed to ASIO channel 1 in Sonar goes to channel 1 in SFP. Audio routed to ASIO channel 3 in Sonar goes to channel 2 in SFP and so on and so forth. It's a real mess as far as the routing goes. I have to be real careful how I route the ASIO drivers to the SFP mixers since they are all offset.

Anyway, it'll probably never get fixed. Maybe I should take a closer look at Cubase or Nuendo.
Immanuel
Posts: 3018
Joined: Thu Oct 25, 2001 4:00 pm
Location: Aalborg, Denmark

Post by Immanuel »

... or Samplitude
User avatar
garyb
Moderator
Posts: 23380
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Post by garyb »

yeah,the odd numbers are messed up,but they work fine....
Shayne White
Posts: 1454
Joined: Tue Dec 11, 2001 4:00 pm
Location: California
Contact:

Post by Shayne White »

On 2004-03-09 15:24, krizrox wrote:
If I load SFP's 24 bit ASIO drivers, I get the following in Sonar 3:

1 Left
1 Right
1 Stereo
3 Left
3 Right
3 Stereo
5 Left
5 Right
5 Stereo
and so on

Where are the even numbered channels? Audio output routed to ASIO channel 1 in Sonar goes to channel 1 in SFP. Audio routed to ASIO channel 3 in Sonar goes to channel 2 in SFP and so on and so forth. It's a real mess as far as the routing goes. I have to be real careful how I route the ASIO drivers to the SFP mixers since they are all offset.

Anyway, it'll probably never get fixed. Maybe I should take a closer look at Cubase or Nuendo.
That has nothing to do with Sonar -- it's the channel labels that CreamWare provided in the ASIO driver. Cubase has exactly the same labeling. CreamWare mislabeled the ASIO channels. :roll:

By the way, when using WDM/KS, there is no extra latency as Sonar bypasses Kernel Mixer. WDM can get just as low latency as ASIO, and even with CreamWare's unstable KS drivers, I'm actually getting better performance!! (in terms of clicks and pops)

Shayne
Melodious Synth Radio
http://www.melodious-synth.com

Melodious synth music by Binary Sea
http://www.binary-sea.com
User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

Gee thanks Shayne. Finally, someone put this in proper perspective for me. I thought I was going nuts. Maybe CW will fix this eventually?

I've never tried using the WDM drivers with Sonar. I was under the misguided impression that ASIO was supposed to be better.

In all honesty, I'm getting fantastic performance with the ASIO drivers in spite of the labelling snafu. I'm easily running/recording/editing 40 tracks of audio on my system with additional effects loaded into Sonar channels to boot. That wasn't always the case though. It took some wrangling to get that performance.

I haven't done much recording at 24 bit yet but recent tests seemed to suggest I would get similar results so I'm very pleased.
Shayne White
Posts: 1454
Joined: Tue Dec 11, 2001 4:00 pm
Location: California
Contact:

Post by Shayne White »

If you're using a lot of I/O channels at once, don't bother to try WDM. CW's WDM/KS drivers only seem to work when you're using a low number of stereo channels, 4 max. :sad: It's something they never fixed.

Shayne
Melodious Synth Radio
http://www.melodious-synth.com

Melodious synth music by Binary Sea
http://www.binary-sea.com
User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

Thanks again Shayne.

btw: I took a listen to some of the music on your website. Very nice. Good job!
User avatar
bassdude
Posts: 1004
Joined: Tue Jul 24, 2001 4:00 pm
Location: ACT, Australia

Post by bassdude »


....Cubase has exactly the same labeling...
Not in my experience, unless it's a cubase sx thing?
Cubase VST32 and Nuendo labels the ins/outs correctly. So I don't think it's a problem with creamware.
It's seems the wheels fell off the whole wdm thing which is maybe why Sonar have caved in and started offering asio drivers. Never understood why they didn't offer asio drivers as well as their wdm drivers in the first place? But if they've come up with wierd labeling like that then maybe they haven't quite got the asio thing under their belt yet. Wouldn't stop me using sonar if I had it though. :smile:
User avatar
garyb
Moderator
Posts: 23380
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Post by garyb »

cubase labels correctly. asio IS steinberg's....

*edit*
which is why cakewalk avoided it like the plague.
and i agree.the labeling issue is no reason not to use sonar.

<font size=-1>[ This Message was edited by: garyb on 2004-03-12 02:24 ]</font>
User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

hmmmm... the plot thickens :smile:

I had already talked to both CW and CW (creamware and cakewalk) ts. Neither side admits fault.

oh well
User avatar
bassdude
Posts: 1004
Joined: Tue Jul 24, 2001 4:00 pm
Location: ACT, Australia

Post by bassdude »

Cakewalk have only *just now* started writing asio drivers when asio has been around for years. Draw your own conclusion. :smile:
User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

On 2004-03-12 05:53, bassdude wrote:
Cakewalk have only *just now* started writing asio drivers when asio has been around for years. Draw your own conclusion. :smile:
That seems to be the defining factor in everything I've read on the subject. Everyone is suspicious of Cakewalk's late entry into the ASIO game. It seems to take Cakewalk many years to resolve even the simplest of problems (gee, does that sound familiar?). People have been asking for the ability to mute individual clips for years and still no solution. In order to mute an individual clip (or sample) in Sonar, you have to move the clip to another track and mute the entire track. Duh.

In spite of all that and a few other oddities, I still like the program. Compared to tripleDAT, it's solid as a rock. And like I said, I'm easily running 40 tracks of audio (normal audio, not MIDI) with Sonar. I could keep going but I run out of things to record. That includes quite a few Sonar effects loaded in addition to the SFP effects I normally use.
User avatar
bassdude
Posts: 1004
Joined: Tue Jul 24, 2001 4:00 pm
Location: ACT, Australia

Post by bassdude »

Sonar actually seems like a very good sequencer package to me and I don't want to give the impression that I'm bagging the product. IMO they just need to get off their "high horse" as regards ASIO vs WDM and just get on with it! It seems odd to me that they are quick to blame someone else for their wierd labeling.



<font size=-1>[ This Message was edited by: bassdude on 2004-03-12 06:40 ]</font>
User avatar
krizrox
Posts: 1330
Joined: Tue Aug 21, 2001 4:00 pm
Location: Elgin, IL USA
Contact:

Post by krizrox »

It seems rather inconclusive to me based on the responses. Some are seeing the problem in other programs... some aren't. Maybe Cakewalk isn't entirely to blame here but who can tell?
Post Reply