Sar audio

Sar audio DEFAULT

Synchronous Audio Router

Build status

Synchronous Audio Router is a Windows audio driver which allows you to route application audio through your digital audio workstation software. It has a few unique characteristics compared to similar virtual audio cable software:

  • All virtual audio streams are synchronized to a physical audio interface to mitigate clock drift/buffer underrun problems.
  • Allows dynamic creation of an unlimited number of Windows audio devices with custom names. You get exactly as many endpoints as you need with no useless "Line 6" type names.
  • Allows per-app override of Windows default audio device for apps which don't include a way to select an audio device. Regex matching lets you set rules for many apps simultaneously, e.g. route every app under your steamapps directory to a specific endpoint.
  • Designed for use with DAW software. Instead of treating all virtual audio streams independently, they're mapped to a single multichannel ASIO interface which also includes all channels from the physical audio device.
  • Low latency. Since SAR is synchronous with the hardware audio interface and uses WaveRT to transport audio to/from applications, it doesn't impact your DAW's latency. It's practical to use 1-2ms buffer sizes on a cheap USB 2.0 interface.
  • Extremely simple UI. Because the DAW is expected to do all the hard work of audio processing, SAR doesn't need to include a complicated mixer interface or extensive configuration options.


If you use SAR and would like to discuss issues related to it, please join the Discord server at

System Requirements

  • Windows 7 or later. If you are running a current version of Windows 10, Secure Boot is not supported.
  • An audio interface which supports ASIO. If your hardware doesn't come with a native ASIO driver, you may be able to use ASIO4ALL instead.
  • Digital audio workstation software. SAR is mainly tested using REAPER.


Once you've installed SAR, nothing will immediately happen. To configure it, either:

  • Start your DAW (for beta: as admin!) and open its audio configuration settings. Select the Synchronous Audio Router ASIO driver and open the ASIO configuration dialog.
  • Start tool from Windows' start menu ( or later).
  • Get asioconfig and choose (prior to

The SAR Configuration dialog will open.

SAR Endpoints Configuration image

Under Hardware Interface, select the ASIO driver for your physical audio device.

You can add an unlimited number of Windows audio endpoints from the SAR configuration dialog.

  • endpoints allow Windows applications to play sound and show up as corresponding input channels on your ASIO device.
  • endpoints allow Windows apps to record output sound and correspond to ASIO output channels.

Once you've added your channels, make sure they're enabled in your DAW -- most have a dialog or dropdown where you can select which channels are to be used.

SAR will expose more ASIO channels than the underlaying ASIO driver, like this:

  • The first ASIO channels are the physical ones from the underlaying ASIO driver.
  • Then, the remaining ASIO channels are mapped to virtual endpoints.

If you receive errors initializing the SAR ASIO driver, make sure you are running your DAW as admin. This is a requirement of the SAR beta build or if you choose option in the SAR installer.

Note that the endpoints created by SAR are only active while your DAW is running and has started ASIO. They are automatically disconnected when the ASIO driver is closed. If you're using REAPER, make sure "Close audio device when stopped and application is inactive" in the Audio preferences is disabled.

Windows 7 Installation Note

Make sure you have Windows update KB3033929 installed prior to installing SAR, otherwise you will receive an error about an unsigned driver.

Unsigned prereleased drivers note

Prereleases of SAR are unsigned. That means that it is required to enable boot option to make Windows load the driver. Else the driver won't be loaded. For more information about option, see here:


Streaming Audio Renderer

The streaming audio renderer (SAR) is a media sink that renders audio. Each instance of the SAR renders a single audio stream. To render multiple streams, use multiple instances of the SAR.

To create the SAR, call either of the following functions:

The second function, which returns an activation object, is required if you are playing protected content, because the activation object must be serialized to the protected process. For clear content, you can use either function.

The SAR can receive uncompressed audio in either PCM or IEEE floating-point format. If the playback rate is faster or slower than 1×, the SAR automatically adjusts the pitch.

Configuring the Audio Renderer

The SAR supports several configuration attributes. The mechanism for setting these attributes depends on which function you call to create the SAR. If you use the MFCreateAudioRenderer function, do the following:

  1. Create a new attribute store by calling MFCreateAttributes.
  2. Add the attributes to the attribute store.
  3. Pass the attribute store to the MFCreateAudioRenderer function in the pAudioAttributes parameter.

If you use the MFCreateAudioRendererActivate function, the function returns a pointer to the IMFAttributes interface in the ppActivate parameter. Use this pointer to add the attributes.

For a list of configuration attributes, see Audio Renderer Attributes.

Selecting the Audio Endpoint Device

An audio endpoint device is a hardware device that either renders or captures audio. Examples include speakers, headphones, microphones, and CD players. The SAR always uses an audio rendering device. There are two ways to select the device.

The first approach is to enumerate the audio rendering devices on the system, using the IMMDeviceEnumerator interface. This interface is documented in the core audio API documentation.

  1. Create the device enumerator object.
  2. Use the device enumerator to enumerate audio rendering devices. Each device is represented by a pointer to the IMMDevice interface.
  3. Select a device, based on the device properties or the user's selection.
  4. Call IMMDevice::GetId to get the device identifier.
  5. Set the device identifier as the value of the MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID attribute.

Rather than enumerate devices, you can specify the audio device by its role. An audio role identifies a general category of usage. For example, the console role is defined for games and system notifications, while the multimedia role is defined for music and movies. Each role has one audio rendering device assigned to it, and the user can change these assignments. If you specify a device role, the SAR uses whatever audio device has been assigned for that role. To specify the device role, set the MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE attribute.

The two attributes listed in this section are mutually exclusive. If you do not set either of them, the SAR uses the audio device that is assigned to the eConsole role.

The following code enumerates the audio rendering devices and assigns the first device in the list to the SAR. This example uses the MFCreateAudioRenderer function to create the SAR.

To create the activation object for the SAR, change the code that appears after the call to IMMDevice::GetId to the following:

Selecting the Audio Session

An audio session is a group of related audio streams that an application can manage collectively. The application can control the volume level and mute state of each session. Sessions are identified by GUID. To specify the audio session for the SAR, use the MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID attribute. If you do not set this attribute, the SAR joins the default session for that process, identified by GUID_NULL.

By default, an audio session is process-specific, meaning it contains only streams from the calling process. To join a cross-process session, set the MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS attribute with the value MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_CROSSPROCESS.

After you create the SAR, you use the IMFAudioPolicy interface to join the session to a group of sessions, all of which are controlled by the same volume control in the control panel. You can also use this interface to set the display name and the icon that appear in the volume control.

Controlling Volume Levels

To control the master volume level of all the streams in the SAR's audio session, use the IMFSimpleAudioVolume interface. To control the volume of an individual stream, or to control the volume of individual channels within a stream, use the IMFAudioStreamVolume interface. Both interfaces are obtained by calling IMFGetService::GetService. You can call GetService directly on the SAR, or call it on the Media Session. Volume levels are expressed as attenuation values. For each channel, the attenuation level is the product of the master volume and the channel volume.

Related topics

Audio/Video Playback

  1. Wall texture spray
  2. Book cover contests
  3. Badass ringtones
  4. Crystal locations ark valguero
  5. Tervis coffee mugs




System Requirements: Windows 7 or later, x64 (64-bit) version, and an audio interface with ASIO support. ASIO4ALL is supported for devices without native ASIO support.

SAR is provided as a standard Windows Installer package. If you're using Windows 7, Windows Update KB3033929 is a prerequisite. If it's missing, driver installation/loading will fail with an unsigned driver error.

If SAR is currrently in use, you may need to close applications or reboot your machine after installing. Follow the on-screen instructions as needed.

Once installed, the DAW application should be run as admin, and SAR will be available in the list of ASIO drivers. Select it and open its control panel to open the endpoint list.

Endpoint List

The endpoint list contains the most important required configuration options for SAR.

  • Hardware Interface - Select an ASIO driver for the physical audio interface to be used. SAR will not function without a selected ASIO driver. Click Configure to open the control panel for the physical audio interface's driver.
  • Windows Audio Devices - used to define audio endpoints. Any number of endpoints may be created, limited only by the performance of the machine. Endpoints are dynamically created when the host application starts ASIO, so they won't be visible in Windows control panel or applications until the configuration dialog is closed. Two types of endpoint are supported: Playback endpoints appear as Windows sound outputs and are mapped to ASIO input channels. Use them to capture audio from applications. Recording endpoints appear as Windows sound inputs and are mapped to ASIO output channels. Use them to send audio to applications.

Selecting Add opens the endpoint details dialog.

Enter the name, type and number of channels for the endpoint and it will be added to the end of the endpoint list. Each endpoint will be mapped to ASIO channels in the order it occurs in the endpoint list, so for example, if the physical audio interface provides 2 input and 2 output channels, the configuration above would present BGM on ASIO inputs 3 and 4, Game on inputs 5 and 6, etc, and OBS on ASIO outputs 3 and 4, while leaving the original channels of the physical interface unmodified.

Application List

The application list is used to configure per-application overrides of the default Windows audio endpoints. This is useful to isolate audio from applications which don't have a UI for selecting an audio device.

  • Enable per-application audio routing rules must be enabled to use this feature. If it's not enabled, applications will see the normal Windows defaults.
  • Applications displays the defined routing rules. Each entry specifies which default endpoints should be used for one or more applications.

Selecting Add or double clicking a list entry opens the application details dialog.

Known Issues / Limitations

SAR is subject to the maximum latency limitation of WaveRT, which attempts to maintain a 10ms processing interval. As such, SAR limits the buffer size that's available to the ASIO host to a maximum of 1/100th of the sample rate. This imposes a latency requirement for the system that not all machines may be able to meet. If you experience buffer underruns at the maximum supported latency, try running a latency testing program such as LatencyMon to determine the cause of the delays.

The current version of SAR requires that the host application which is creating endpoints have admin privileges. This is due to some security concerns with allowing applications to dynamically create audio endpoints, as well as the shared memory approach used to implement the WaveRT "hardware registers". The limitation may be removed in the future.

Slipknot - Sarcastrophe (Audio)


ok, but what is it?

Put simply, Synchronous Audio Router lets you route audio from any Windows application through a DAW (digital audio workstation) application, giving you an immense amount of control over your system's audio. You can apply sophisticated effects, routing and switching, and combine the audio streams from each individual application any way you want, producing any number of output mixes.

If your applications of choice don't let you select an audio device, SAR has you covered: you can define per-application routing rules which will override the Windows default audio device settings. You can even use pattern matching to define rules for groups of applications.

It's also fast. SAR operates inline with your existing ASIO driver, adding no additional buffer latency to your DAW, and uses WaveRT for direct low latency transport of audio between applications. This is in contrast to many other "virtual audio cable" type drivers which often require buffer sizes as large as 50-100ms to work reliably.

how use?

You need 3 things: the SAR driver, an ASIO driver for your sound card (if it's good, it came with one, otherwise get ASIO4ALL), and DAW software. If you don't already have a DAW, use REAPER. If you do, I assume you don't need me telling you how to set it up, so have fun.

Once you've installed all the prerequsites, watch some videos:

If you prefer text, check out the SAR user manual.

what's it cost?

Nothing. SAR is free software, distributed under the GNU General Public License, version 3 or later.


Audio sar


Slipknot - Sarcastrophe (Audio)


You will also like:


457 458 459 460 461