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
Atrac3+ decoding with HiMDRenderer suggestion
#1
psp 
Here's a workaround to get rid of the noise during decoding of Atrac3+ using HiMDRenderer in Jpcsp: just use nircmd ( http://www.nirsoft.net/utils/nircmd.html ) to mute the sound during the decoding. Extract nircmd into the lib\windows-x86 folder and edit the DecodeAudio.bat file.

The DecodeAudio.bat should look like this:

lib\windows-x86\nircmdc mutesysvolume 1
lib\windows-x86\HIMDRENDER -e -i %1 -o %2
lib\windows-x86\nircmdc mutesysvolume 0

There's also a newer version of the HIMDRENDER.exe available at http://www.marcnetsystem.co.uk/himdrenderer021.zip but it's a shame that MarC no longer provides the command line version in newer releases. The later releases don't have the noise problem during decoding so no need for the workaround above. Perhaps the Jpcsp development team can contact MarC and persuade him to release the command line version again or maybe integrate the command line into the GUI version so that the GUI version can run in silent GUI-less mode.

By the way, the latest svn (r1884) crashes in the very first training mission in Crisis Core FFVII when the "Mission Accomplished!" message appears. The crash is due to IllegalArgumentException in line 122 of jpcsp.media.OMAFormat.java when the limit() method gets called. It doesn't crash if "Decode audio files with SonicStage" is not checked.

Kudos to the Jpcsp development team for such an awesome PSP emulator. Keep up the great work!

EDIT: Removed the file exist checking in DecodeAudio.bat since it's already been done in Jpcsp itself.
Reply
#2
Thank you for the information!
I will check if this can be included into the Jpcsp builds.
Reply
#3
@Itaru: Very nice first post Smile

This all sounds very interesting but I have another idea: Why not mute the volume in java before calling the decoder and then turn it back on? This should be possible or not?
JPCSP games tested with Athlon X2 4850e, 4 GB RAM, Radeon HD 3300 (onboard), OpenGL: 3.3.11653, Windows XP SP3 32-bit
PPSSPP games tested with Intel i3, 4 GB RAM, Intel HD Graphics 2000 (onboard), OpenGL: 3.1.0 Build 6.14.10.5421, Windows XP SP3 32-bit
Reply
#4
I don't think muting java would help since the noise is made from HiMDRenderer (an external program)
Reply
#5
(12-07-2010, 09:34 PM)hyakki Wrote: I don't think muting java would help since the noise is made from HiMDRenderer (an external program)

Yes, I understand that but isn't it possible to invoke a system-wide mute with java (just like the nircmd does)? In my understanding that should be possible but then again I'm really no expert on java.

Like this:

java.mute on
java.call (ext.dec.) (the batch file)
java.mute off
JPCSP games tested with Athlon X2 4850e, 4 GB RAM, Radeon HD 3300 (onboard), OpenGL: 3.3.11653, Windows XP SP3 32-bit
PPSSPP games tested with Intel i3, 4 GB RAM, Intel HD Graphics 2000 (onboard), OpenGL: 3.1.0 Build 6.14.10.5421, Windows XP SP3 32-bit
Reply
#6
It seems to be possible to do it in Java: http://download.oracle.com/javase/tutori...trols.html

However as in all things in Java, it will take more than 1 line of code to do it. If muting is done in Java, then the file checking should also be done in Java instead of the DecodeAudio.bat. In my DecodeAudio.bat file, the first line checks whether the file has already been decoded previously so it doesn't get decoded again since the muting and decoding process cause game pauses. A better check in Java would be not just to make sure the file already exists but also make sure it's not an empty file from previously failed decoding.

IMHO the above seems too much work to do it in Java for what I hope is a temporary workaround due to the noise bug/anomaly in HiMDRenderer. An elegant solution would be to get MarC to release an updated command line version of HiMDRenderer without the noise, or perhaps use some other improved decoding method. Still, the above workaround is working great for the time being. Smile
Reply
#7
I tried tracking down MarC back when i made my convertie program because i also wanted a updated command line version but no luck :\, I ended up having to make convertie manually fill in the himd gui window for each file, I was going to use the old command line version but the gui one seemed to support more formats so i ended up sticking with that even if it was slower / buggy..
Reply
#8
(12-08-2010, 06:40 AM)hyakki Wrote: I tried tracking down MarC back when i made my convertie program because i also wanted a updated command line version but no luck :\

That's too bad. Sad Maybe I'll try contacting him since he still seems to be active over at http://www.traxinspace.com/profile/marcnet

To the Jpcsp dev team, I just want to let you know that the latest svn r1885 has broken sceAtrac3plus. I'm getting NullPointerException in Crisis Core FFVII at line 681 in class jpcsp.HLE.modules150.sceAtrac3plus in method sceAtracSetDataAndGetID(). Also the previous IllegalArgumentException at line 122 in class jpcsp.media.OMAFormat seems to occur in every single mission whenever the "Mission Accomplished!" message appears.

I hope the above helps. Please let me know if you need more details, and keep up the great work!
Reply
#9
(12-08-2010, 01:15 PM)Itaru Wrote: To the Jpcsp dev team, I just want to let you know that the latest svn r1885 has broken sceAtrac3plus. I'm getting NullPointerException in Crisis Core FFVII at line 681 in class jpcsp.HLE.modules150.sceAtrac3plus in method sceAtracSetDataAndGetID(). Also the previous IllegalArgumentException at line 122 in class jpcsp.media.OMAFormat seems to occur in every single mission whenever the "Mission Accomplished!" message appears.
Is it solved in r1889?

Thank you for reporting!
Reply
#10
Hmmm in 1892 blooms not work sound sceAtracSetAT3DataAndGetID() failed (0x80630003, SCE_ATRAC_ERROR_NO_ATRACID) for channel 0

In 1890 is working perfect.

- Toy story working perfect voice and music sound in 1890 Smile but broken again in the 1892.

- Fifa 10 sound playing in 1890 great job ^^

Broken some sound in the 1892.
[Image: 1388267.png]
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)