/rs_asio

ASIO for Rocksmith 2014

Primary LanguageC++MIT LicenseMIT

RS ASIO

This project aims to add ASIO support to Rocksmith 2014 Edition - Remastered in order to avoid issues with some WASAPI drivers. It patches game code at runtime to allow intervening in the process of WASAPI device enumeration so that we can inject our own fake WASAPI devices which internally use ASIO audio API.

Other Languages

简体中文

How to use

  • Copy the contents (avrt.dll, RS_ASIO.dll, RS_ASIO.ini) of latest release (zip archive release-xxx.zip) to the game folder.
    • Only the Steam version of Rocksmith is currently supported. You can find local folder of a game by right clicking on a Rocksmith in your Steam library, and selecting menu "Manage" -> "Browse local files"
  • Modify the RS_ASIO.ini file to configure which ASIO driver to use, and which channels etc...
  • Look into basic configuration guide
  • Make sure Rocksmith.ini is set to run with ExclusiveMode=1 and Win32UltraLowLatencyMode=1. If in doubt, use default settings.
  • Make sure your game is set to use the RTC input instead of the microphone one. (See this)
  • Make sure your interface clock is set to 48kHz. RS ASIO will try to request 48kHz mode, but your drivers may or may not allow this, so it might help setting it manually.
  • Make sure you're NOT using the NoCableLauncher or similar otherwise your instruments may not be detected properly.
  • Extra: An RS_ASIO-log.txt file is generated inside the game directory which may help discover your ASIO driver name and diagnose issues.
    • IMPORTANT: Only 32-bit ASIO drivers will be detected!
  • Look into list of knows issues if you experience any problems

How to remove/uninstall

  • Remove the custom DLL files from the game folder.

Streaming while using RS ASIO

Check out this guide.

Using RS ASIO on linux

If you're using Ubuntu 12.04 LTS check this page.

Some people have had success using RS ASIO with wineasio on linux. You can check out this issue for more information.

Audio Interfaces reported to work well

Basic configuration guide

  1. Follow installation steps, described above
  2. Run Rocksmith for the first time.
  3. Look into RS_ASIO-log.txt, you will see names of drivers
0.456 [INFO]  AsioHelpers::FindDrivers
0.456 [INFO]    ASIO4ALL v2
0.457 [INFO]    MOOER USB Audio
0.457 [INFO]    XMOS USB Audio 2.0 ST 3086
0.457 [INFO]    ZOOM R16_R24 ASIO Driver
  1. Copy name of the corresponding driver to the [Asio...] block of the RS_ASIO.ini
  2. Run Rocksmith again
  3. Repeat until there is no cracks in audio. Your goal is to have smallest possible values without cracks. Find smallest possible LatencyBuffer and then gradually set buffer size until there is no cracks.
    1. Modify LatencyBuffer (try values 4,3,2,1)
    2. Modify buffersize either in ASIO driver control panel or in CustomBufferSize option in the RS_ASIO.ini file. For the beginning follow rule of thumb that buffer size should be divisible to 32
    3. Run Rocksmith
    4. Look into RS_ASIO-log.txt if you experience any issues

Known issues

  • Your interface MUST support 48kHz playback
  • Doesn't provide a way to open the ASIO control panel (please configure your interface elsewhere for now, if needed).
  • Will need a game reboot if ASIO settings are changed while the game is running (such as changing sample rate, sample type etc).
  • Some Focusrite devices have been reported to only output sound properly when using ASIO buffer sizes of 48, 96 or 192. You can use the custom buffer size setting on RS_ASIO.ini for this.
  • According to reports, newer Focusrite driver releases (after 4.102.4) no longer include 32 bit ASIO drivers required by RS ASIO. You can work around this by using software like voicemeeter to reroute audio to the normal 64 bit drivers.
  • Some ESI ASIO drivers appear to get stuck when quitting Rocksmith, requiring unplugging the USB and plugging it again to be playable again.
  • Hardware hotplugging while the game is running won't be noticed by the game.
  • Game sometimes crash on exit with ASIO4ALL

Donating

If you wish to donate to the developer of this project, you can do so through paypal.me/mdiasdonations. However opening an issue to say "thanks" would be enough.