This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sound glitches due to certain revisions
#1
psp 
Since I had some free time this week, I decided to track down a few sound glitches that are present in certain games.

The changes in r2251 causes sound glitches in some games such as The 3rd Birthday and Final Fantasy Type-0. It's especially noticeable in The 3rd Birthday when Aya runs around (the sound of her footsteps). It seems that some sound gets paused at inappropriate times. If the !voice.isPaused() check is removed from method mix() in jpcsp.sound.SoundMixer, then all sounds play correctly.

Another sound glitch is from way back, starting with revisions r2130 and r2151 with the addition of the bzerosequence native code sequences in Compiler.xml. The second and shorter bzeroSequence added in r2130 causes minor sound glitches in Persona 3 Portable during battle transitions. The modification added in r2151 in the first bzeroSequence causes sound glitches in Hatsune Miku Project Diva 2nd during the loading screens. For both games, the sound glitches are in the form of high pitched sound when it's supposed to be silent. Removing both bzeroSequence native code sequences from Compiler.xml gets rid of the sound glitches in both games.
Reply
#2
(08-19-2011, 03:48 AM)Itaru Wrote: Since I had some free time this week, I decided to track down a few sound glitches that are present in certain games.

The changes in r2251 causes sound glitches in some games such as The 3rd Birthday and Final Fantasy Type-0. It's especially noticeable in The 3rd Birthday when Aya runs around (the sound of her footsteps). It seems that some sound gets paused at inappropriate times. If the !voice.isPaused() check is removed from method mix() in jpcsp.sound.SoundMixer, then all sounds play correctly.

Another sound glitch is from way back, starting with revisions r2130 and r2151 with the addition of the bzerosequence native code sequences in Compiler.xml. The second and shorter bzeroSequence added in r2130 causes minor sound glitches in Persona 3 Portable during battle transitions. The modification added in r2151 in the first bzeroSequence causes sound glitches in Hatsune Miku Project Diva 2nd during the loading screens. For both games, the sound glitches are in the form of high pitched sound when it's supposed to be silent. Removing both bzeroSequence native code sequences from Compiler.xml gets rid of the sound glitches in both games.

Awesome, thank you so much for the detailed review! Big Grin
This will help a lot in fixing those bugs.
Reply
#3
(08-19-2011, 03:48 AM)Itaru Wrote: Another sound glitch is from way back, starting with revisions r2130 and r2151 with the addition of the bzerosequence native code sequences in Compiler.xml. The second and shorter bzeroSequence added in r2130 causes minor sound glitches in Persona 3 Portable during battle transitions. The modification added in r2151 in the first bzeroSequence causes sound glitches in Hatsune Miku Project Diva 2nd during the loading screens. For both games, the sound glitches are in the form of high pitched sound when it's supposed to be silent. Removing both bzeroSequence native code sequences from Compiler.xml gets rid of the sound glitches in both games.
Thank you for tracking this down to the code sequence Smile
Is it fixed in r2287?
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#4
nice find, it also fixed the hexyz force battle transition noise, no longer makes the deafening buzz sound Smile
Reply
#5
Yup, the annoying high pitched buzzing sound during transitions are gone in r2287. Thank you very much for the quick and awesome fix, gid15!

The mis-paused sound glitches in The 3rd Birthday due to changes in r2251 are still there though. Oh, and I hope soywiz will get around to fixing his reflection refactorings of the jpcsp.HLE.modules150.sceFont class (broken in r2282) and the jpcsp.HLE.modules150.ThreadManForUser class (broken in r2286).
Reply
#6
(08-20-2011, 06:23 AM)Itaru Wrote: The mis-paused sound glitches in The 3rd Birthday due to changes in r2251 are still there though.
This problem should be hopefully fixed in r2320.
I have discovered a new parameter for the sceSasSetPause function: I always wondered how the pause was reset for a sasCore sound, the new parameter was the missing link!
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#7
Hi gid15

just wonder what is the full ADSR wave as mentioned it will be upcoming support? thanks
Reply
#8
The ADSR evelope/wave stands for Attack Decay Sustain Release envelope. It's a sound effect processing mechanism that's employed by the sasCore library. Currently, these effects are not processed in JPCSP, so they're being directly played from memory with only play/pause being taken into account from the sasCore specifications.
Basically, the sasCore library works as an intermediate synthesizer for the sound data (stored in memory) and the the sound driver (which we emulate with OpenAL from LWJGL). It's the sasCore that applies extra sound effects and mixes several sounds/voices into one final product to be played.
Reply
#9
(09-24-2011, 03:37 PM)Hykem Wrote: The ADSR evelope/wave stands for Attack Decay Sustain Release envelope. It's a sound effect processing mechanism that's employed by the sasCore library. Currently, these effects are not processed in JPCSP, so they're being directly played from memory with only play/pause being taken into account from the sasCore specifications.
Basically, the sasCore library works as an intermediate synthesizer for the sound data (stored in memory) and the the sound driver (which we emulate with OpenAL from LWJGL). It's the sasCore that applies extra sound effects and mixes several sounds/voices into one final product to be played.

Any chance that this will introduce the missing sfx in Mega Man Maverick hunter you think?
Intel Core i7 6700k @ 4.5 ghz. / GeForce GTX 970 / 16 Gig Ram / Win 10
Reply
#10
(09-25-2011, 12:41 AM)legend80 Wrote:
(09-24-2011, 03:37 PM)Hykem Wrote: The ADSR evelope/wave stands for Attack Decay Sustain Release envelope. It's a sound effect processing mechanism that's employed by the sasCore library. Currently, these effects are not processed in JPCSP, so they're being directly played from memory with only play/pause being taken into account from the sasCore specifications.
Basically, the sasCore library works as an intermediate synthesizer for the sound data (stored in memory) and the the sound driver (which we emulate with OpenAL from LWJGL). It's the sasCore that applies extra sound effects and mixes several sounds/voices into one final product to be played.

Any chance that this will introduce the missing sfx in Mega Man Maverick hunter you think?
I don't know how the sfx are generated in this particular game. The PSP offers several ways how to produce sound... it is left to the game developer to choose one or the other. Could you post an updated log in the game thread?

Anyway, now that I've created a test application for sceSasCore, I will investigate all the calls related to this module and try to improve their compatibility.
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)