cai567890 / pcsx2

Automatically exported from code.google.com/p/pcsx2
1 stars 0 forks source link

Pop n Music 13 and 14 off-sync music and notes #994

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1) Did the game ever work correctly (i.e. not have this problem) on the
Official PCSX2 build or an earlier version of PCSX2 playground?
(If so, please specify the latest pcsx2-playground or Official revision
that last worked.)

Not that I'm aware of, tried both 0.9.6 and the latest r4513 revision and 
plugins. 

2) What steps will reproduce the problem?

Selecting any stage, mode and song and playing it

3) What exactly happens when you experience this issue (listing any console
errors or screen output you receive)?

Audio is off-sync while playing a stage, both the background music and the 
notes are off. Background music seems to play just a bit faster than the notes, 
or the notes themselves play too slow to match the song. No console errors, 
this is the game's CRC:

Detected PS2 Disc = cdrom0:\SLPM_665.33;1
(SYSTEM.CNF) Software version = 1.01
(SYSTEM.CNF) Disc region type = NTSC
ELF (cdrom0:\SLPM_665.33;1) Game CRC = 0x4BD5C7E6, EntryPoint = 0x00100008
(SYSTEM.CNF) Detected PS2 Disc = cdrom0:\SLPM_665.33;1

4) What version of PCSX2 are you using? On what operating system? Plugins?

Revisions: official 0.9.6 and r4513
OS: Windows 7 Ultimate x64 SP1. 
Plugins: GSdx 4308 SSE2 DX11 Hardware and Software mode 
SPU2-X r4500 1.4.0
Zero SPU2 r4488-Dev  0.4.6
cdvdGigaherz r4488 0.8.0 
Linuz Iso CDVD 0.9.0

5) Please provide any additional information below.

The issue only happens while playing a song, the sound in the menus is fine. It 
happens both with the real disc using cdvdGigaherz and with an image using 
Linuz Iso. It also appears in both Hardware and Software mode using GSdx DX11 
mode, DX9 Hardware mode dips to 40fps, DX9 Software mode runs at full speed but 
the issue still remains. Both SPU2-X and Zero SPU2 have the issue. Tried SPU2-X 
XAudio 2 and DirectSound modules with Linear and Catmull Rom interpolation, all 
sync modes show the issue too. Default latency is at 150ms, lowering it to 70 
and 50ms didn't fix it, increasing it to 300 and 600ms made the sound in the 
menus lag too. Zero SPU2 has audio crackling on top of the issue.

Happens both with no speedhacks and using EEcyclerate 2 VU Cycle Stealing 1 and 
all other hacks except Enable fast CDVD. It also happens with automatic game 
fixes enabled and disabled.

All previous PS2 Pop n Music games (7-12) work fine, just 13 and 14 have this 
issue, most likely because they share the same engine.

System specs: AMD Phenom(tm) II X4 955 Processor at 3.6ghz, 4GB DDR3 RAM, 
Radeon HD 5770

6) Attachments.  *IMPORTANT!*  We have a limited storage quota on
GoogleCode, so please keep attachments to UNDER 200k!  Do not upload
blockdumps!  Do not upload MP3 dumps.  Use 3rd party image hosts for
screenshots when possible.

Game playing on PCSX2:
http://www.youtube.com/watch?v=7R_Ak_BE7oE

Game playing on real hardware:
http://www.youtube.com/watch?v=XhNdw2ua7g0

Original issue reported on code.google.com by agameofp...@gmail.com on 30 Mar 2011 at 8:53

GoogleCodeExporter commented 9 years ago
I remember this bug report from the forums. 
Really nicely explained and examples given, thanks for that :)

Unfortunately I have no idea how it messes up like that.
It may not even be the SPU2 plugin but an emulation error.

Could you try this with EE and VU0/VU1 interpreters enabled?
(I know it's slow, please bear with it :p )

Original comment by ramapcsx2 on 30 Mar 2011 at 9:15

GoogleCodeExporter commented 9 years ago
Sure, I just tried it. It runs at 15fps with the interpreters enabled so it was 
kinda hard to tell, but I think the music and notes are still a bit off. I also 
tried both SuperVU recompilers but that didn't seem to make any difference. 

With microVU, setting EE Round mode to positive and Clamping Mode to 
Extra+Preserve Sign or Full actually makes the desync even worse and makes the 
timing of the button presses to the notes way off, same with setting VU 
Clamping to Extra+Preserve Sign. All other combinations except the default ones 
seem to have little effect if any at all.

Original comment by agameofp...@gmail.com on 30 Mar 2011 at 10:26

GoogleCodeExporter commented 9 years ago
Aha, so the EE recompiler advanced settings do modify the behaviour?

Original comment by ramapcsx2 on 30 Mar 2011 at 10:46

GoogleCodeExporter commented 9 years ago
Yup, it seems to change the timing of the falling notes and the hit detection. 
Normally you have to press a button right as a note hits the bar near the 
bottom, if it reaches all the way down then it counts as a miss, so even with 
the music off sync the game still scores it right. Changing the advanced 
settings, specially the clamping, makes the game register a button press as a 
good hit when the note is at the very bottom and past the bar, and also makes 
the sounds the notes make when you push them more off sync. Hope that helps.

Original comment by agameofp...@gmail.com on 31 Mar 2011 at 1:42

GoogleCodeExporter commented 9 years ago
Well, it helps as it clears up what the problem is.
I don't have high hopes this'll ever be fixed though.
It's clearly a case where the game relies on precise floating point 
calculations that are out of the range of SSE's possibilities.
See the "Nightmare on floating point street" blog post here for more info:

http://pcsx2.net/blog.php?p=7

Original comment by ramapcsx2 on 31 Mar 2011 at 3:26

GoogleCodeExporter commented 9 years ago
Yeah, rhythm games tend to need really accurate timing so I understand how hard 
it's to fix issues like those, so no worries. 

I just tested it again in Training Mode with 9 buttons and just listening to 
the background track. It seems the game actually plays 2 or maybe more audio 
tracks for the background music, one for vocals/melody and another for 
additional complementary instruments, which is kinda weird since I always 
thought it was just a single background track, or at least it seemed that way 
with the older games. The track that's off sync is the one with the 
instruments, it either plays just slightly slower or the vocal track is the one 
that plays just slightly faster. 

I can't tell if both the vocal track and the instrument track are a single long 
track being streamed from the disc, if they're segmented by verse, or if the 
additional notes are samples like the normal notes. I'm leaning toward samples 
though since the additional instruments are the ones that sound all over the 
place, while the vocal track tends to stay in rhythm, which is even weirder. I 
guess a single and combined audio track for the background music would make 
more sense but I don't really know much about programming, and from that blog 
post I can see PS2 game devs liked to handle things in really unusual ways.

Original comment by agameofp...@gmail.com on 1 Apr 2011 at 2:58

GoogleCodeExporter commented 9 years ago
I agree: 
It's most likely one static, streamed background song + dynamically added notes 
played on the SPU2.

It's an interesting title to debug one day, so I'll keep looking for it :p

Original comment by ramapcsx2 on 1 Apr 2011 at 10:52

GoogleCodeExporter commented 9 years ago
hmmm i wonder if overclocking the EE a bit will get rid of the desync, could be 
the EE is too slow issue again.

Time to find this game so i can test, tomorrow :).

Original comment by andutrache@gmail.com on 2 Apr 2011 at 2:05

GoogleCodeExporter commented 9 years ago
Hey thanks for accepting the issue. I hope you manage to find the game, it's a 
neat series so it'd be cool to have them all playable someday on PCSX2.

I recorded another video of just the background track on r4572, it's easier to 
hear how there's a vocal track and another set of samples that play over it in 
desync. Those samples seem to be taken from the same set or bank as the player 
controlled notes, the ones that play when you press a button, but the 
background notes play automatically and I guess they're controlled by the SPU2 
or maybe the EE.

Here's the one I recorded
http://www.youtube.com/watch?v=sLZJMJGJ_mk

and this is the song on real hardware, with the playable game notes over it
http://www.youtube.com/watch?v=4ACADSTWmmM

Original comment by agameofp...@gmail.com on 15 Apr 2011 at 7:53

GoogleCodeExporter commented 9 years ago
r4752 fixed this issue, the music and the note sounds are no longer out of 
sync, the songs play perfectly now. Latest version I tested it with was r4756 
and it's still working perfect. 

There's a small graphical bug left which is fixed in software mode, but that's 
another issue unrelated to this one.

Original comment by agameofp...@gmail.com on 22 Jun 2011 at 6:34

GoogleCodeExporter commented 9 years ago
Wow, way to be mislead by the rounding stuff earlier.
Great it's fixed though :)

Original comment by ramapcsx2 on 22 Jun 2011 at 9:05