mdias / rs_asio

ASIO for Rocksmith 2014
MIT License
986 stars 93 forks source link

Sound is not recording by OBS #7

Closed SAARussian closed 4 years ago

SAARussian commented 4 years ago

How I can record sound from the game with OBS through rs_asio?

mdias commented 4 years ago

If your device exposes a loopback interface, you can use that.

Alternatively, you could try to use ASIO only for the input, and use WASAPI for output by setting Driver= on the output, and setting EnableWasapi=1. This way if your default audio output device has a loopback feature (for example, Stereo Mix on realtek onboard audio) you can record using that.

If you want to output through your interface and also record, you'll have to find a way to split the audio into your headphones/speakers and also into your computer's normal soundcard line-in or something like that, as with ASIO the device is completely owned by the user application (which is what allows low latency).

Recording with RS_ASIO itself is not a feature I will add.

SAARussian commented 4 years ago

can I use wasapi + asio4all with my soundcard and will it do a lot of latency?

mdias commented 4 years ago

You should be able to use WASAPI + Asio4all, yes.

It's not possible for me to tell you if latency will improve or not. But there's actually a chance it can improve.

SAARussian commented 4 years ago

image how should I named that driver in rs_asio?

SAARussian commented 4 years ago

Driver=BEHRINGER USB AUDIO don't work

mdias commented 4 years ago

If you look at my first reply it says there what you have to do to enable WASAPI for output while using ASIO for input. If that doesn't work, please post the log file.

SAARussian commented 4 years ago

Here I just decided to try with a different driver to run the game, or do I need to open a new issue? image RS_ASIO-log.txt

SAARussian commented 4 years ago

Yeah, no sound from input RS_ASIO-log.txt

mdias commented 4 years ago

Your output "Driver" line is not empty. As I said in my first reply, if you want to output through WASAPI to be able to record, you need that to be empty to make sure the game will select the wasapi device.

As for the input, it would be weird if you had it working before, but not now. But if you can try disabling all your recording devices in the windows audio device manager, except for the one you want to use.

SAARussian commented 4 years ago

OK right know I have 11.1 ms latency with this strange asio driver versus asio4all 256 samples / 48000 sample rate x 2 kernel buffers x 2 (input + output) x 1000 = 27 ms latency image image But what about default rocksmith driver with nocable patch? 160 MaxOutputBufferSize (samples) / 48000 x 2 LatencyBuffer x 2 (input + output) x 1000 = 13.3 ms latency? image Are my calculations correct?

Anyway with your feature I can use second HiZ input channel (thank you very much for this, God bless you xD), but how you think can I do it with nocable patch + voicemeeter without RS_ASIO?

mdias commented 4 years ago

Your calculations are mostly correct, but it only accounts for the latency introduced by the buffer size while in reality there is also protocol and bus latency involved. For example, sending 1 byte through USB has both USB protocol overhead and actual hardware BUS overhead which is hard to measure accurately. However I would say a good rule of thumb is to just account for at least 3ms latency just for USB itself, so whatever result you achieve, you can "safely" just add at least 3ms on top of it (if it's a USB device).

Now, depending on which device you're using for the native Rocksmith "driver" (which is WASAPI) latency could be better or worse; unfortunately there's no easy way for me to measure this...

Regarding Voicemeeter, I have tried it in the past but had horrible results (bad distortion and very bad latency) but I've seen other people say it works good for them, so I guess your success may vary depending on hardware.

There are other tricks you could try if ASIO doesn't work the best for you, like having your guitar interface set in passthrough/monitor mode, and just route it's output to your onboard card line-in, and use that with NoCable patch. I personally never tried it, but it seems like it could work.

SAARussian commented 4 years ago

You can add BEHRINGER U-PHORIA UM2 as 16-bit audio interfaces reported to work well

SAARussian commented 4 years ago

Perhaps whom any use to anyone. I don't know if it's all set up correctly, but it works, maybe a way to further reduce latency. image

SAARussian commented 4 years ago

It is possible that the rocksmith buffer.ini is added to the asio buffer and the delay only increases. Than without rs_asio.

mdias commented 4 years ago

It's possible that the buffers are added, increasing the delay, yes. However, this will be the case also for normal non-asio drivers.

Is this driver official?

SAARussian commented 4 years ago

And what buffer is added to normal drivers without asio? Game sound engine base on wasapi? (160/48000x2x2+3 ms (usb bus as you say)) - settings through rocksmith.ini 16 ms good results for wasapi VS asio4All works only on 24 ms (256/48000x2x2+3) settings through asio4all

About drivers. I don’t even know, before he was on the official website for my device. Then they removed him from there, now there is asio4all. But it works as with asio4all and with BEHRINGER 2902 X64 2.8.40 image http://englishdrummer.blogspot.com/2015/06/behringer-um2-old-drivers-and.html The drivers are signed by company with other name, so can it be license issue?

mdias commented 4 years ago

The game indeed uses WASAPI by default, and the game requests 144 samples for input and output afaik. What latency you end up having also depends on what the driver does behind the scenes.

As for that driver, I should probably add it with a note as it seems that driver is no longer officially supported for whatever reason.

Anyway, this issue is originally about being able to record through OBS, but I'm afraid there's nothing I can actually do in the software about that one, so I'll close it. Feel free to open another one if you have an issue related to another topic, and thanks for all the feedback :)

HillMidget commented 4 years ago

How exactly were u able to get the Behringer ASIO interface to show when launching RS?

SAARussian commented 4 years ago

How exactly were u able to get the Behringer ASIO interface to show when launching RS? I just edit it on Cockos Reaper in audio settings https://github.com/mdias/rs_asio/issues/7#issuecomment-565829531 image

elzafir commented 4 years ago

You can add BEHRINGER U-PHORIA UM2 as 16-bit audio interfaces reported to work well

Did you manage to do it with ASIO4ALL as well?

SAARussian commented 4 years ago

You can add BEHRINGER U-PHORIA UM2 as 16-bit audio interfaces reported to work well

Did you manage to do it with ASIO4ALL as well?

Yes

madkep commented 4 years ago

You can add BEHRINGER U-PHORIA UM2 as 16-bit audio interfaces reported to work well

Did you manage to do it with ASIO4ALL as well?

Yes

witch version do you prefer to use and give to you a better performance?? this default behringer driver or use asio4all driver

SAARussian commented 4 years ago

You can add BEHRINGER U-PHORIA UM2 as 16-bit audio interfaces reported to work well

Did you manage to do it with ASIO4ALL as well?

Yes

witch version do you prefer to use and give to you a better performance?? this default behringer driver or use asio4all driver

I prefer Behringer USB Audio, cuz it have minimum latency (about 11 ms), when asio4all (28 ms).

madkep commented 4 years ago

You can add BEHRINGER U-PHORIA UM2 as 16-bit audio interfaces reported to work well

Did you manage to do it with ASIO4ALL as well?

Yes

witch version do you prefer to use and give to you a better performance?? this default behringer driver or use asio4all driver

I prefer Behringer USB Audio, cuz it have minimum latency (about 11 ms), when asio4all (28 ms).

ohh good to know thanks you you still have the same configuration in Rocksmith.ini?

SAARussian commented 4 years ago

@madkep Yes. Is it work for you?

madkep commented 4 years ago

@madkep Yes. Is it work for you?

yesss i have to buy a jack to minijack adapter to connect my speaker but after that all will work ok

alfredox123 commented 3 years ago

Perhaps whom any use to anyone. I don't know if it's all set up correctly, but it works, maybe a way to further reduce latency. image

with this config your using direct monitor in your um2 audio interface as your output or your pc 3.5mm as output?

SAARussian commented 3 years ago

Perhaps whom any use to anyone. I don't know if it's all set up correctly, but it works, maybe a way to further reduce latency. image

with this config your using direct monitor in your um2 audio interface as your output or your pc 3.5mm as output?

No, I just get monitoring from rocksmith

alfredox123 commented 3 years ago

then is not working for me, i cant get any audio output but i get input signal checked with reaper. i also dont get any audio output on reaper using legacy driver but no problems with asio4all in reaper (rs2014 with asio4all i couldnt make it work either)

SAARussian commented 3 years ago

then is not working for me, i cant get any audio output but i get input signal checked with reaper. i also dont get any audio output on reaper using legacy driver but no problems with asio4all in reaper (rs2014 with asio4all i couldnt make it work either)

So, I can't help with that. Cuz legacy driver to U-Phoria Um2 works for me fine.

alfredox123 commented 3 years ago

my guess is that it is using the audio interface as output but for now i dont have an adapter from minijack to jack to test

SAARussian commented 3 years ago

But you say that you don't get any audio from output. How you check it if you don't have output connection (headphones, monitors)? Via reaper master mix?

alfredox123 commented 3 years ago

i get output sound if i use asio4all in reaper, but not in rs2014 neither with asio4all or behringer driver, later i will do a few more test to see if i can atleast make ir work with asio4all but latency will kill me definitely

SAARussian commented 3 years ago

Yeah, I play with this shit (asio4all) for 2 years, and when check my rhythm playing with click meter, I saw that I was always in a hurry at least 100 ms ahead of the beats

alfredox123 commented 3 years ago

Ok so i manage to get it working in reaper with 6ms latency using wasapi, but still no audio output with rs2014. it must be something with this lines

[Config] EnableWasapiOutputs=0 EnableWasapiInputs=0 EnableAsio=1

[Asio.Output] Driver=BEHRINGER USB AUDIO BaseChannel=0 AltBaseChannel= EnableSoftwareEndpointVolumeControl=1 EnableSoftwareMasterVolumeControl=1 SoftwareMasterVolumePercent=100

SAARussian commented 3 years ago

I think wasapi can't get so low latency (6ms). Give me your rs_asio log

zagatozee commented 3 years ago

Sorry guys, quite late to this party, but if you're looking for ways to capture ASIO within OBS - and the OBS ASIO plug in doesn't work for you (it rarely does with Rocksmith too) - this video guide (focusrite scarlet based, but if you have RS_ASIO working on your hardware without obs, should still be relevant) - using voicemeter, is probably worth your time to watch.

https://youtu.be/gIp6IyPjGOY

SAARussian commented 3 years ago

Sorry guys, quite late to this party, but if you're looking for ways to capture ASIO within OBS - and the OBS ASIO plug in doesn't work for you (it rarely does with Rocksmith too) - this video guide (focusrite scarlet based, but if you have RS_ASIO working on your hardware without obs, should still be relevant) - using voicemeter, is probably worth your time to watch.

https://youtu.be/gIp6IyPjGOY

voicemeter is bullshit if you wanna monitoring yourself, cuz it give a lot latency, better use asio link pro or dsp loop-back in audio interface

zagatozee commented 3 years ago

voicemeter is bullshit if you wanna monitoring yourself, cuz it give a lot latency, better use asio link pro or dsp loop-back in audio interface

No arguments form me there, but no-one has done a video tutorial yet on Asio Link Pro - it is hard enough getting most people to accept that it is better never mind the "hacky" way of activating it that feels suss AF!

SAARussian commented 3 years ago

No arguments form me there, but no-one has done a video tutorial yet on Asio Link Pro - it is hard enough getting most people to accept that it is better never mind the "hacky" way of activating it that feels suss AF!

So, maybe I should do this video? Its pretty simple, you just need to install it) But I don't understand why talking about "hacky"

alfredox123 commented 3 years ago

I think wasapi can't get so low latency (6ms). Give me your rs_asio log

image

alfredox123 commented 3 years ago

Sorry guys, quite late to this party, but if you're looking for ways to capture ASIO within OBS - and the OBS ASIO plug in doesn't work for you (it rarely does with Rocksmith too) - this video guide (focusrite scarlet based, but if you have RS_ASIO working on your hardware without obs, should still be relevant) - using voicemeter, is probably worth your time to watch.

https://youtu.be/gIp6IyPjGOY

tried that video and still no sound from rs2014 :(

alfredox123 commented 3 years ago

ok, finally i made it work, have to uninstall rs_asio, verify game cache files of the game, config it without rs_asio, then install rs_asio, config it and now its working with legacy behringer usb audio and with output sound yay!.

however you need to change this:

[Config] EnableWasapiOutputs=1 EnableWasapiInputs=0 EnableAsio=1

[Asio.Output] Driver= BaseChannel=0 AltBaseChannel= EnableSoftwareEndpointVolumeControl=1 EnableSoftwareMasterVolumeControl=1 SoftwareMasterVolumePercent=100

thats all

SAARussian commented 3 years ago

lol

SAARussian commented 3 years ago

I think wasapi can't get so low latency (6ms). Give me your rs_asio log

image

So, in reaper I see 3.0/3.0ms latency, but when I measured roundtrip by myself, its 13 ms.

Gasoli commented 2 years ago

I'm using VOICEMEETER BANANA and game is Lot more stable and the latency is very good!!

How i did!?

print1 print2 print3 print4 print5 print6 print7 print8