mdias/rs_asio

Behringer XR18 - Works

lukescott opened this issue · 3 comments

The XR18 works perfectly with rs_asio! Pretty much default settings out of the box. The only important thing to note is the XR18 interface lists channels as 1-18, while rs_asio shows 0-17. So you have to subtract 1 to match the correct channel.

The default buffer size of the driver is 512. With LatencyBuffer set to 4, this works. If I try to lower this at all the sound becomes garbled. Not sure if reducing the buffer size would allow me to reduce the LatencyBuffer or not - it works as is and I didn't want to mess with it.

(Unrelated to rs_asio: It's also interesting to note that RockSmith will not work with the XR18 using traditional Wasapi drivers. The output is completely silent unless you turn off RockSmith's ExclusiveMode setting, which then causes some odd behavior. Sometimes sound is gabled, sometimes it isn't. RockSmith sets all input volume to 17. I'm not sure if I had a bad Real Tone cable, but I couldn't get any combination to work thru traditional Windows sound drivers. -- Thankfully rs_asio works perfectly)

I've included everything I have below.

RS_ASIO.ini

[Config]
EnableWasapiOutputs=0
EnableWasapiInputs=0
EnableAsio=1
[Asio]
; available buffer size modes:
;    driver - respect buffer size setting set in the driver
;    host   - use a buffer size as close as possible as that requested by the host application
;    custom - use the buffer size specified in CustomBufferSize field
BufferSizeMode=driver
CustomBufferSize=
[Asio.Output]
Driver=X18 ASIO Driver
BaseChannel=0
EnableSoftwareEndpointVolumeControl=1
EnableSoftwareMasterVolumeControl=1
SoftwareMasterVolumePercent=100
[Asio.Input.0]
Driver=X18 ASIO Driver
Channel=0
EnableSoftwareEndpointVolumeControl=1
EnableSoftwareMasterVolumeControl=1
SoftwareMasterVolumePercent=100
; [Asio.Input.1]
; Driver=
; Channel=1
; EnableSoftwareEndpointVolumeControl=1
; EnableSoftwareMasterVolumeControl=1
; SoftwareMasterVolumePercent=100

RockSmith.ini

[Audio]
EnableMicrophone=1
ExclusiveMode=1
LatencyBuffer=4
ForceDefaultPlaybackDevice=
ForceWDM=0
ForceDirectXSink=0
DumpAudioLog=0
MaxOutputBufferSize=0
RealToneCableOnly=0
Win32UltraLowLatencyMode=1
[Renderer.Win32]
ShowGamepadUI=0
ScreenWidth=0
ScreenHeight=0
Fullscreen=2
VisualQuality=1
RenderingWidth=0
RenderingHeight=0
EnablePostEffects=1
EnableShadows=1
EnableHighResScope=1
EnableDepthOfField=1
EnablePerPixelLighting=1
MsaaSamples=4
DisableBrowser=0
[Net]
UseProxy=1

Info
Status
BufferSettings

Driver Info from RS-ASIO-log

0.323 [INFO]  AsioHelpers::FindDrivers
0.323 [INFO]    X18 ASIO Driver
0.323 [INFO]  RSAsioDeviceEnum::UpdateAvailableDevices - output requesting ASIO driver: X18 ASIO Driver
0.323 [INFO]  Creating AsioSharedHost - dll: c:\program files\behringer\x18_audio_driver\w10_x64\x18_audioasio.dll
0.328 [INFO]    ASIO input channels info:
0.328 [INFO]      0 - active: 0, channel: 0, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 1
0.328 [INFO]      1 - active: 0, channel: 1, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 2
0.328 [INFO]      2 - active: 0, channel: 2, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 3
0.328 [INFO]      3 - active: 0, channel: 3, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 4
0.328 [INFO]      4 - active: 0, channel: 4, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 5
0.328 [INFO]      5 - active: 0, channel: 5, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 6
0.328 [INFO]      6 - active: 0, channel: 6, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 7
0.328 [INFO]      7 - active: 0, channel: 7, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 8
0.328 [INFO]      8 - active: 0, channel: 8, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 9
0.328 [INFO]      9 - active: 0, channel: 9, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 10
0.328 [INFO]      10 - active: 0, channel: 10, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 11
0.328 [INFO]      11 - active: 0, channel: 11, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 12
0.328 [INFO]      12 - active: 0, channel: 12, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 13
0.328 [INFO]      13 - active: 0, channel: 13, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 14
0.328 [INFO]      14 - active: 0, channel: 14, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 15
0.328 [INFO]      15 - active: 0, channel: 15, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 16
0.328 [INFO]      16 - active: 0, channel: 16, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 17
0.328 [INFO]      17 - active: 0, channel: 17, group: 0, isInput: 1, type: ASIOSTInt32LSB, name: In 18
0.328 [INFO]    ASIO output channels info:
0.328 [INFO]      0 - active: 0, channel: 0, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 1
0.328 [INFO]      1 - active: 0, channel: 1, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 2
0.328 [INFO]      2 - active: 0, channel: 2, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 3
0.328 [INFO]      3 - active: 0, channel: 3, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 4
0.328 [INFO]      4 - active: 0, channel: 4, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 5
0.328 [INFO]      5 - active: 0, channel: 5, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 6
0.328 [INFO]      6 - active: 0, channel: 6, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 7
0.328 [INFO]      7 - active: 0, channel: 7, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 8
0.328 [INFO]      8 - active: 0, channel: 8, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 9
0.328 [INFO]      9 - active: 0, channel: 9, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 10
0.328 [INFO]      10 - active: 0, channel: 10, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 11
0.328 [INFO]      11 - active: 0, channel: 11, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 12
0.328 [INFO]      12 - active: 0, channel: 12, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 13
0.328 [INFO]      13 - active: 0, channel: 13, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 14
0.328 [INFO]      14 - active: 0, channel: 14, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 15
0.328 [INFO]      15 - active: 0, channel: 15, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 16
0.328 [INFO]      16 - active: 0, channel: 16, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 17
0.328 [INFO]      17 - active: 0, channel: 17, group: 0, isInput: 0, type: ASIOSTInt32LSB, name: Out 18
mdias commented

Thanks for the report.

It's a bit strange that you can't go below 512 as that's still quiet high.

I can't lower LatencyBuffer. I haven't touched the buffer size yet. Should I try lowering that before lowering LatencyBuffer?

mdias commented

I can't tell exactly what LatencyBuffer does to Rocksmith; it seems to be the number of queued buffers but I'm not sure.
And yes, you can try lowering the buffer size first, and if you get stable sound with something like 128, you can then try to lower the LatencyBuffer