Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audient iD4 compatibility #3

Closed
alex3305 opened this issue Oct 16, 2019 · 4 comments

Comments

@alex3305
Copy link

@alex3305 alex3305 commented Oct 16, 2019

Hi,

Just to let you know, thanks for the great work. After a firmware update of my Audient interface, I couldn't seem to get Rocksmith 2014 running stable with any combination of audio settings. This however works flawlessly.

I want to let you know that the Audient iD4 interface works great with this mod. These are my ASIO settings:

ASIO buffer: 256 samples
Bit depth: 24-bit
Sample rate: 96kHz

and my configuration:

[Config]
EnableWasapi=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=Audient USB Audio ASIO Driver
EnableSoftwareEndpointVolumeControl=1
EnableSoftwareMasterVolumeControl=1
SoftwareMasterVolumePercent=100

[Asio.Input.0]
Driver=Audient USB Audio ASIO Driver
Channel=1
EnableSoftwareEndpointVolumeControl=1
EnableSoftwareMasterVolumeControl=1
SoftwareMasterVolumePercent=100
@mdias

This comment has been minimized.

Copy link
Owner

@mdias mdias commented Oct 17, 2019

Hello!

Thank you for the report. I'm glad to know such a popular audio interface also works well :D

A tip though: you're probably relying on the 96kHz to guess your latency with 256 samples, but Rocksmith actually wants 48kHz (and wouldn't work with 96kHz) so this "driver" will actually request that your interface's ASIO driver changes the sample rate to 48kHz, which will effectively double your latency at 256 samples.
If you don't want to change the preferred buffer size in your ASIO driver control panel, you can use CustomBufferSize=128 with BufferSizeMode=custom to achieve similar latency to what you'd have at 96kHz @ 256 samp.

@alex3305

This comment has been minimized.

Copy link
Author

@alex3305 alex3305 commented Oct 17, 2019

Thanks, great tip. I've changed that setting now and will test later to see whether it works as you say. I'm already very satisfied with my current latency of about 5ms (or 3ms or 8ms, idk tbh 🤣, see my logging below). It's already far better than the latency with the Realtone cable, which is around 48ms.

76.307 [INFO]  {ASIO Out} DebugWrapperAudioClient<struct IAudioClient3>::Initialize - ShareMode: Exclusive Flags: 40000 bufferDuration: 3ms periodicity: 3ms
76.307 [INFO]  RSAsioAudioClient::Initialize - host requested buffer duration: 3ms (144 frames)
76.307 [INFO]  RSAsioAudioClient::Initialize - actual buffer duration: 5ms (256 frames)
76.307 [INFO]  AsioSharedHost::Start - startCount: 2
76.307 [INFO]  {ASIO Out} DebugWrapperAudioClient<struct IAudioClient3>::GetBufferSize
76.307 [INFO]    *pNumBufferFrames: 256
76.307 [INFO]  {ASIO Out} DebugWrapperAudioClient<struct IAudioClient3>::GetStreamLatency
76.307 [INFO]    latency: 8ms
76.307 [INFO]  {ASIO Out} DebugWrapperAudioClient<struct IAudioClient3>::GetService - riid: IID_IAudioRenderClient
@mdias

This comment has been minimized.

Copy link
Owner

@mdias mdias commented Oct 17, 2019

Yeah, this latency thing is a bit confusing at times.

You're probably more at around 13ms (from that log), since 8ms is the output latency only, and you also have at least 5ms on the input (from the 256 buffer).

But you can very likely get total latency below 10ms if you tweak that buffer size further down. If you go too low you'll notice the audio crackling so it should be easy to figure out what's the sweet spot for your system :)

The thing with latency is that from a certain point on, it seems that it's already good enough, until you go lower and it just feels better and you can't quiet pinpoint why exactly, so I'd recommend trying to lower it at least to below 10ms (total), which should already be the case with 128 sample buffer size.

@alex3305

This comment has been minimized.

Copy link
Author

@alex3305 alex3305 commented Oct 29, 2019

I saw that you have added the interface compatibility to the readme. I will close this issue.

@alex3305 alex3305 closed this Oct 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.