xenia-project / xenia

Xbox 360 Emulator Research Project
https://xenia.jp
Other
8.22k stars 1.14k forks source link

Audio can be significantly desynced from video in some titles #1156

Open legend800 opened 6 years ago

legend800 commented 6 years ago

Audio (sfx & bgm) can be very delayed in some titles, even when the video is full speed on a high end machine. This can be upwards of 30 secs. in some cases.

Some examples: Peggle has audio delays of 10-15 secs Pac-Man Museum (Pac-Man CE game) has audio delays of 30-45 secs

These two games are literally perfect other than the audio delays (perf, gfx, etc.).

PC specifications: Windows 10 64-bit GeForce GTX 1080 i7-6700k @ 4.5 ghz 16GB RAM

DrChat commented 6 years ago

Minecraft has this issue as well. Interestingly, the positional footstep sounds play based on where you were when the sound was supposed to play, causing it to sound like someone's walking behind you.

Binarynova commented 6 years ago

Fable 2 Pub Games also suffers from noticeable audio lag, though in its case it's only about 2-4 seconds. Otherwise, it also runs perfectly!

Parovozik commented 6 years ago

'Bully Scholarship Edition' has this issue too

JoelLinn commented 4 years ago

Please check if this has been fixed with the latest official build (which includes PR #1509).

mrmatteastwood commented 3 years ago

Issue still occurs today, however, delay only feels like around half a second. Detailed info in my bug report, https://github.com/xenia-project/xenia/issues/1806.

Encountered on desktop PC with Intel Core i7-4970k CPU, GTX 1080 Ti, 32 GB RAM, Windows 10 Pro Also encountered on laptop PC with Intel Core i7 i7-9700 (3.0-4.7 GHz 12 MB Smart Cache 6 cores), RTX 2070 Laptop version, 32 GB RAM, Winows 10 Pro

Encountered when playing in 5.1 surround (on a 7.1 home theater system, with Windows set to 7.1).

Confirmed in multiple titles: at least Bean, the Peggle series (cf. @legend800's comment in bug #1806), Halo 3. Web search indicates this is a title-agnostic issue, though. I've seen this mentioned very recently in YouTube comments and can find additional indications by googling it.

@dev team, please let me know if there's anything else I can do to test this issue. Will be more than happy to contribute to this fantastic project if I can.

georgeczako commented 3 years ago

Just tried RDR1 with the latest xenia and xenia canary, with all the available APU audio options and want to verify: There is a constant ~0.5s delay on every audio content.

PC: CPU: i9-9900k Memory: 32GB RAM VGA: RTX2080Ti DAC: RME ADI-2 DAC fs OS: Win10Pro

The emulator and the game ran from SSD.

It looks like the audio stream/processing has this delay, because it is not changing with the framerate, does not affected by the "apu" change.

JoelLinn commented 3 years ago

interesting because I never had that with rdr, old nor new xma decoding code

Azurfel commented 2 years ago

Lumines Live! has about half a second of audio lag with both sdl and xaudio2.

CPU: i7-9700k RAM: 32GB DDR4 3000 dual channel Mobo: PRIME Z370-A II DAC: integrated Realtek S1220A/Crystal Sound 3 line out to analog headphones GPU: GTX1660 OS: Windows 10 Pro 21H1

mrmatteastwood commented 2 years ago

Bad news.... I read in the FAQ that this is an issue that's highly unlikely to be addressed, because nobody is working on it.

https://github.com/xenia-project/xenia/wiki/FAQ#Why_is_the_audio_delayed

It's understandable, seeing this is an open-source project that people work on for free in their spare time. I'm very grateful it's happening at all and in awe of the work that has gone into this emulator.

Still, it's a shame. To me, this kind of audio delay is a dealbreaker, so no Xbox 360 emulation for me for now. I truly hope this will be addressed at some point in the future.

Azurfel commented 2 years ago

As it turns out, there is already a setting in canary's config file that significantly improves this issue, at least for Lumines (max_queued_frames).

legend800 commented 2 years ago

Nice find, but it does not seem to impact games like Peggle - there's still like a 1 sec delay regardless of using 0, 64 or 256, etc.. Audio delay is a lot better than it used to be though. At least it's not 40s anymore. :)

Azurfel commented 2 years ago

It seems like every game has something .3-.5ish seconds of audio delay that can be reduced to almost nothing using max_queued_frames, but at least some games have additional audio issues beyond that.

(Also, try 3. 0 gives me no audio, and 1 or 2 distorts the audio, but 3 is clean on my system with less delay than 16.)

legend800 commented 2 years ago

Whoa, 3 is for sure the right value and should be the default over 64! Everything is perfectly sync now. Great find and great add by the devs!

mac512k commented 2 years ago

I'm happy to report that setting a low max_queued_frames value in canary seems to fix audio lag for me too (at least so far). Thanks for the tip @Azurfel 👍. Gotta say this project never fails to amaze me.

mrmatteastwood commented 2 years ago

+1! Confirming that setting the value to 3 works for Bean and Halo 3. How awesome!!!

afgks commented 1 year ago

Tried the max_queued_frames fix but did not work... Audio in Ninja Gaiden II still goes out of sync after a while.