Old 09-10-2019, 10:04 AM   #1
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 13,453
Default ASIO vs WASAPI vs Whatever

What exactly is WASAPI and what does it do different?

What is the difference between exclusive and shared mode?

Can we send the output of one app into the input of another app with WASAPI in the same way macs allegedly do?
__________________
REAPER Shirts are Back! - https://shop.spreadshirt.com/pipelineaudio/
pipelineaudio is offline   Reply With Quote
Old 09-10-2019, 10:22 AM   #2
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,927
Default

Quote:
Originally Posted by pipelineaudio View Post
What exactly is WASAPI and what does it do different?

What is the difference between exclusive and shared mode?

Can we send the output of one app into the input of another app with WASAPI in the same way macs allegedly do?
WASAPI is Microsoft's "new" audio system that replaced MME, DirectSound etc. It's not really so new, it's been around since Vista. If you now see MME, DirectSound etc options in softwares like Reaper, they are actually using WASAPI now. ASIO still bypasses all that, it's a 3rd party solution where softwares can directly communicate with the device's ASIO driver.

In shared WASAPI mode, multiple softwares can use the same WASAPI device at the same time. In exclusive mode, only one software can access the hardware.

WASAPI has a feature to capture the audio currently playing through WASAPI. Reaper has an implementation of that. There is no free routing of audio between the applications, the capture mode only captures "what you hear".

MacOs does not currently have any Apple-provided way to route audio between applications or capture what is currently playing on the system. It is very difficult to implement by 3rd parties, and softwares like OBS have not managed to do it. There was a free solution called SoundFlower but that no longer works with the new macOs versions.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is online now   Reply With Quote
Old 09-10-2019, 10:24 AM   #3
karbomusic
Human being with feelings
 
karbomusic's Avatar
 
Join Date: May 2009
Posts: 24,766
Default

Your RME's loopback will allow this so long as the app you want to record goes out 1/2.
__________________
If it requires a null test to find it, it is by definition minuscule.
karbomusic is online now   Reply With Quote
Old 09-10-2019, 10:36 AM   #4
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 13,453
Default

Thats how Im doing OBS right now...but goddamn skype still makes things ridiculous
__________________
REAPER Shirts are Back! - https://shop.spreadshirt.com/pipelineaudio/
pipelineaudio is offline   Reply With Quote
Old 09-10-2019, 12:26 PM   #5
serr
Human being with feelings
 
Join Date: Sep 2010
Posts: 8,278
Default

Still using Soundflower here in OSX. They just changed some of the sync/clocking controls. It's not broken in the newer builds of OSX.

And yes, you need a 3rd party virtual audio device app like Soundflower in OSX for routing audio between apps too. There's no native solution AFAIK.
serr is online now   Reply With Quote
Old 09-10-2019, 12:35 PM   #6
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,927
Default

Quote:
Originally Posted by serr View Post
Still using Soundflower here in OSX. They just changed some of the sync/clocking controls. It's not broken in the newer builds of OSX.
It doesn't work for me at all on OS-X 10.13.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is online now   Reply With Quote
Old 09-10-2019, 01:06 PM   #7
serr
Human being with feelings
 
Join Date: Sep 2010
Posts: 8,278
Default

Quote:
Originally Posted by Xenakios View Post
It doesn't work for me at all on OS-X 10.13.
It's that OSX gatekeeper faux pas.
The 3rd option on the Security & Privacy System Preferences panel for "Allow apps downloaded from anywhere" is missing.
The Terminal command to manually enable this is:
sudo spctl --master-disable

Once we're past that...
There's a system extension to install. That means you will be prompted to open Security & Privacy and click allow during the install. Sometimes that alert pops up behind another window. You just have to know this is a thing now (starting with 10.13.6) and look for it if it doesn't appear.

This is all the current SOP for 3rd party apps in OSX.
Gatekeeper for 3rd party app installs with a bug that the preference option is missing. (It's intentional to be a PITA for 3rd party apps and not a "bug" IMHO.)
Gatekeeper for kernel extensions.
serr is online now   Reply With Quote
Old 09-13-2019, 12:22 PM   #8
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 1,889
Default

Quote:
Originally Posted by pipelineaudio View Post
Can we send the output of one app into the input of another app with WASAPI in the same way macs allegedly do?
I managed to get Reaper record the output of different audio apps simultaneously with "Synchronous Audio Router" (https://github.com/eiz/SynchronousAudioRouter). The app aggregated all 128 i/o channels of my Dante Accelerator card plus those custom in/outs I created for other audio apps. After choosing SAR as Reaper's audio device one has to pick the desired ASIO device that it should rely on (AIC128-D in my case). Then, one can add as many virtual audio end points as desired to cover the ins and outs of one's audio apps. Once created, those become selectable as part of the now extended input and output ranges after Reaper has been restarted.

SAR claims to be able to do this aggregation without adding latency to the main audio device it uses to sync all other app's audio and I have the impression that it actually succeeds in doing so.



.
__________________
[Check out my free VST plugin collection here.]
SonicAxiom is offline   Reply With Quote
Old 09-13-2019, 03:18 PM   #9
DVDdoug
Human being with feelings
 
Join Date: Jul 2010
Location: Silicon Valley, CA
Posts: 1,941
Default

A Brief History of Windows Audio APIs




----------------------------------------------
The following is my understanding and it may not be 100% correct -


ASIO was designed for low-latency, and so was WASAPI (which came-along later).


In practice, one or the other may allow lower latency, depending on the particular hardware & drivers.


ASIO is "more direct" to the hardware (WASAPI exclusive mode may be similar).

For example, if you have a regular-cheap Windows soundcard that only works at 48kHz you can record at 192kHz with the Windows drivers "secretly" making the conversion and you'll probably never know. Similarly, you can play high-resolution audio on any-old soundcard with the drivers making any necessary conversions.


It's similar to video/imaging... You can display a high-resolution image on a low-resolution monitor (or shrink the Window) or print it on a low-resolution printer and Windows won't complain or warn you that it's reducing the resolution.


ASIO will only allow you to use sample rates that the hardware actually supports so you won't be fooled.





----------------------------------------------
ASIO4ALL is not true ASIO... I call it half-ASIO... (True ASIO drivers have to be developed by the hardware manufacturer for the specific hardware.)


ASIO4ALL works along with your existing Windows drivers as a "translator" so your hardware "looks like" an ASIO device to your ASIO application.

In some cases it may be worthwhile to use ASIO4ALL with an application (like REAPER) that supports both protocols. But generally, you should use one of the Windows protocols if you don't have real ASIO drivers, as long as the application can use Windows drivers (and most Windows applications don't require ASIO.)


It doesn't work the other way around... If you have ASIO-only hardware ASIO4ALL won't make your ASIO hardware work with Windows-only application.
DVDdoug is offline   Reply With Quote
Old 09-14-2019, 10:21 AM   #10
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 13,453
Default

I left a few questions for the SAR guy last year, maybe in discord or somethoing. I'll have another look
__________________
REAPER Shirts are Back! - https://shop.spreadshirt.com/pipelineaudio/
pipelineaudio is offline   Reply With Quote
Old 09-14-2019, 07:28 PM   #11
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 13,453
Default

Is there an installer of SAR? The latest one I see is from last year
__________________
REAPER Shirts are Back! - https://shop.spreadshirt.com/pipelineaudio/
pipelineaudio is offline   Reply With Quote
Old 09-16-2019, 11:15 AM   #12
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 1,889
Default

Quote:
Originally Posted by pipelineaudio View Post
Is there an installer of SAR? The latest one I see is from last year
the one I'm using is x64_0_13_1.

.
__________________
[Check out my free VST plugin collection here.]
SonicAxiom is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.