INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?  (Read 6492 times)

riparius

  • Junior Woodchuck
  • **
  • Posts: 60

Given the (theoretical, at least) benefits of Exclusive Access, which I gather WASAPI has but ASIO does not have, why does the Choosing the Audio Output Mode section of the Audio Output Modes page in the JRiverWiki manual suggest using ASIO first?

In my particular case, according to MC20's Audio Device options, both my SB sound card and my Peachtree external DAC offer both WASAPI and ASIO drivers.  Which driver should I choose—the ASIO or the WASAPI?  And if the answer is "ASIO", why, given the Exclusive Access benefit of WASAPI?
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10935

Most ASIO drivers should also be exclusive, as far as I can tell.
Logged
~ nevcairiel
~ Author of LAV Filters

riparius

  • Junior Woodchuck
  • **
  • Posts: 60

Most ASIO drivers should also be exclusive, as far as I can tell.
According to MC20's Audio Device>Device settings info, exclusive access is not offered by either my SB sound card ASIO driver or my Peachtree external DAC ASIO driver.  At least, there's no reference to exclusive access there.
Logged

Arindelle

  • Citizen of the Universe
  • *****
  • Posts: 2772

the SB doesn't surprise me but the Peachtree does a little. Regardless, its usually better to use the driver that the hardware manufacturer provides I've been told. Try it both ways, and let your ears be the judge (set up two zones and you can jump back and forth to test. Sometimes one will just not work.  Also JRiver has its own asio driver.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient

ASIO exclusive access is determined by the driver, not by MC.  An ASIO driver is either single-client (common) or multi-client (less common), and JRiver can't affect whether the driver can accept multiple inputs or not.  So there's no checkbox for exclusive access for ASIO in MC options because MC can't control that behavior. 
Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver

Benefits of ASIO:
1.  Allows hardware to use same sample rate as content. Even WASAPI will resample to a single sample rate for some cards.
2.  Bypasses any Windows volume control.
3.  Allows for more than 8 channels to be used.
4.  Can allow for routing to different outputs depending on channel offset.
5.  Can have lower software/hardware latency which is helpful when using the WDM driver or loopback.
6.  Lets you have more control over the hardware's latency.
Logged

riparius

  • Junior Woodchuck
  • **
  • Posts: 60

ASIO exclusive access is determined by the driver, not by MC.  An ASIO driver is either single-client (common) or multi-client (less common), and JRiver can't affect whether the driver can accept multiple inputs or not.  So there's no checkbox for exclusive access for ASIO in MC options because MC can't control that behavior.
Thanks to each of you for the helpful replies.   In regard to the reply I've quoted here, I have a question:  How might I determine whether a particular audio device's ASIO driver offers exclusive access?  (The user manuals for each of these products are silent on this point.) 

I will mention that the Advanced tabs of both the SB sound card's and the Peachtree DAC's Properties dialogues do show a pane titled "Exclusive Mode", in which there is a setting/checkbox that reads "Allow applications to take exclusive control of this device", but I don't know whether that setting actually indicates that that particular device's ASIO driver offers exclusive access.  Does it in fact indicate that, or could it be referring to the WASAPI driver? 

Thanks very much to everyone for your assistance!

George

Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient

Thanks to each of you for the helpful replies.   In regard to the reply I've quoted here, I have a question:  How might I determine whether a particular audio device's ASIO driver offers exclusive access?  (The user manuals for each of these products are silent on this point.)  

Try to play to different channel offsets with two different ASIO players.  If it works, you have a multi-client driver. If it doesn't, you have a single-client driver.  It doesn't really matter as the main benefits of "exclusive mode" for WASAPI are that it shuts out system sounds and (sometimes) prevents resampling.  That's desirable because the other windows sound protocols (direct sound and non-exclusive WASAPI) don't do those things.  

By contrast, I've never used an ASIO driver that didn't do both those things by default regardless of whether it was single or multi-client. ASIO never goes through the windows mixer, and windows by default doesn't use the ASIO interface (so system sounds are shut out).  In order to have competing demands you'd have to operating multiple ASIO capable players going at the same time, and you'd probably notice.  

Quote
I will mention that the Advanced tabs of both the SB sound card's and the Peachtree DAC's Properties dialogues do show a pane titled "Exclusive Mode", in which there is a setting/checkbox that reads "Allow applications to take exclusive control of this device", but I don't know whether that setting actually indicates that that particular device's ASIO driver offers exclusive access.  Does it in fact indicate that, or could it be referring to the WASAPI driver?  

If you're referring to their menu entries in the windows sound control panel, then those are the options for those device's WDM drivers, not their ASIO driver.  Windows doesn't natively engage with the ASIO drivers (windows itself doesn't use the ASIO interface), so windows sound settings usually have nothing to do with ASIO settings.
Logged

riparius

  • Junior Woodchuck
  • **
  • Posts: 60

Try to play to different channel offsets with two different ASIO players.  If it works, you have a multi-client driver. If it doesn't, you have a single-client driver.
I'm sorry, but would you or someone else here give me a brief explanation of what you mean by "different channel offsets" and how to do what you suggest (i.e., "play to different channel offsets")?  I do have @20 years experience studying the Windows operating system and have also Googled the term today, but I still don't know what "channel offsets" refers to in this particular context or how to actually do what you suggest.

By contrast, I've never used an ASIO driver that didn't do both those things by default regardless of whether it was single or multi-client. ASIO never goes through the windows mixer, and windows by default doesn't use the ASIO interface (so system sounds are shut out).  In order to have competing demands you'd have to operating multiple ASIO capable players going at the same time, and you'd probably notice.
So, would I be correct in thinking that what you're saying here is that using an ASIO Driver (as opposed to the WASAPI) would probably be the best (or, at least, safest) choice in my case?

If you're referring to their menu entries in the windows sound control panel, then those are the options for those device's WDM drivers, not their ASIO driver.  Windows doesn't natively engage with the ASIO drivers (windows itself doesn't use the ASIO interface), so windows sound settings usually have nothing to do with ASIO settings.
Yes, I was referring to the soundcard and DAC entries in the Windows sound control panel.  Thank you for educating me regarding the correct meaning of this particular setting.

Oh, I just thought of something . . . Given that this setting is for the device's WDM drivers, should I uncheck this setting?  Or does it simply not matter whether it's checked or unchecked as long as I'm using an ASIO (or WASAPI) output mode in the Audio Device section of MC20's Options?

Thanks again!

George
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226

I'm sorry, but would you or someone else here give me a brief explanation of what you mean by "different channel offsets" and how to do what you suggest (i.e., "play to different channel offsets")?  
say the asio driver provides 8 channels numbered 0,1,...7 and you want a bunch of stereo pairs then offset 0 will be channels {0,1}, an offset of 2 will be channels {2,3}, an offset of 4 will be {4,5} and so on

i.e. offset is being used as per http://en.wikipedia.org/wiki/Offset_%28computer_science%29  (where the array in question is the array of asio channels)

IIRC this is a setting in the audio device setup dialog (but I'm not in front of jriver right now so can't be certain)
Logged

riparius

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?
« Reply #10 on: November 25, 2014, 05:47:20 pm »

say the asio driver provides 8 channels numbered 0,1,...7 and you want a bunch of stereo pairs then offset 0 will be channels {0,1}, an offset of 2 will be channels {2,3}, an offset of 4 will be {4,5} and so on

i.e. offset is being used as per http://en.wikipedia.org/wiki/Offset_%28computer_science%29  (where the array in question is the array of asio channels)

IIRC this is a setting in the audio device setup dialog (but I'm not in front of jriver right now so can't be certain)
Thanks for that explanation of audio channel offsets.  I'm familiar with the use of offsets in PC addressing schemes, but I'm not familiar with the use of offsets in connection with audio driver configuration, nor can I find a setting dealing with channel offsets in the Audio Device section (assuming that that's what you're referring to when you say "audio device setup dialog").  In any event, I still don't understand how I would go about doing what mwillems suggested—that is, "play[ing] to different channel offsets with two different ASIO players".
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient
Re: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?
« Reply #11 on: November 25, 2014, 08:18:33 pm »

You need two different ASIO-capable music players; JRiver and some other software that will play ASIO (foobar, etc.).  Barring that, you can try using two different zones in MC with different channel offsets to see if it will work that way.  The channel offset setting is in the upper lefthand corner of the device options dialog for ASIO devices.  

Could you explain a little bit why you're trying to find out if your ASIO device driver is multi-client or not?  It shouldn't have any effect on playback under ordinary circumstances (that's part of what I was getting at above; exclusive modes make sense for WASAPI because other programs are likely to try and adress output to WDM drivers, but that's not so with ASIO drivers; you generally know if a program is addressing an ASIO driver).
Logged

riparius

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?
« Reply #12 on: November 25, 2014, 09:04:25 pm »

Could you explain a little bit why you're trying to find out if your ASIO device driver is multi-client or not?
I really appreciate your help, and I still have some questions, but regarding your question here, I've actually not—at least not explicitly or intentionally—raised the "multi-client or not" issue.  Perhaps you're referring to the questions I asked in response to your suggestion that I "play to different channel offsets".  If so, I was only following your lead.  :^)  

In the event that it might clarify things, I'll mention that what got me started down this path was the following statements from the JRiverWiki manual:

The Windows Audio Session API (WASAPI) is Microsoft's most modern method for talking with audio devices. . . . It allows delivering an unmodified bitstream to a sound device, and provides benefits similar to those provided by ASIO drivers. One of the other main benefits of WASAPI is that it provides applications with exclusive access to audio devices . . .

The above statements made me think that a WASAPI driver was superior to an ASIO driver, and these statements were the premise of my original post in this thread.

In any event, what I'd really like to know is:

1.  Am I correct in thinking that, given what I've told you so far, it is your view that using an ASIO driver (as opposed to the WASAPI) would probably be the best (or, at least, safest) choice in my case?  

2.  Do most (all?) recent ASIO drivers actually have the "Exclusive Access" feature that the JRiverWiki manual suggests is unique to WASAPI?

3.  How would I determine whether a particular audio device's ASIO driver offers exclusive access?

Thank you very much for your assistance.

George
Logged

riparius

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?
« Reply #13 on: November 26, 2014, 04:12:59 pm »

Here, FWIW, is one more reason why I asked the question that I asked in my original post:

"JRiver supports WASAPI, the best way to communicate with a DAC on Windows."

source: http://www.jriver.com/audiophile.html

Based on what some others (Hendrik, mojave, mwillems) have said here, however, and the fact that MC's DSP button is indicating that my Peachtree ASIO driver is using a direct audio path, I think I'm going to abandon this audiophile/WASAPI quest, and stick with ASIO.  Thanks to everyone for your assistance!

George


Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?
« Reply #14 on: November 26, 2014, 04:58:11 pm »

Thanks for that explanation of audio channel offsets.  I'm familiar with the use of offsets in PC addressing schemes, but I'm not familiar with the use of offsets in connection with audio driver configuration, nor can I find a setting dealing with channel offsets in the Audio Device section (assuming that that's what you're referring to when you say "audio device setup dialog").  
fwiw the attached dialog is what I was referring to, i.e. options/audio/device settings
Logged

riparius

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Why does User Manual recommend ASIO driver *above* WASAPI Exclusive Access?
« Reply #15 on: November 26, 2014, 05:19:04 pm »

Thanks, mattkhan.  I'll make a note of that for future reference.

George
Logged
Pages: [1]   Go Up