First off, none of the PSF2s will play in AOPSF (2.1.9 anyway; I didn't bother testing much in the latest version). But believe me, I tried to make them work, even though AOPSF itself is reportedly buggy. I guess it just isn't very compatible with custom drivers. So use a player based on Neill Corlett's core (Highly Experimental), which plays them all flawlessly in both of its modes.
Secondly, all of these sets are untagged, and except for Winning Eleven 5, untimed. So taggers/timers/organizers/whatevers would be appreciated!
Also, the KCET drivers (Silent Hill 2 and Winning Eleven 5) may work with other games that use the same format, so I want to encourage people to test using them. Make sure you read the usage instructions for my custom modules in the notes included in the sets though. I already did test the Silent Hill 2 driver with Genso Suikoden IV and Shadow of Memories (aka Shadow of Destiny), but unfortunately the former just comes out silent and the latter plays slightly too slow, if I remember correctly.
The latter is also further proof that the KCET drivers were probably not very forward/backward compatible, and kind of prevents making a universally accurate KDT1->MIDI converter. The driver of Winning Eleven 5 had a similar problem with the data from Silent Hill 2. Originally, I only ripped the WE5 driver because it contains debug symbols (which made things much easier), but the music played too fast. I tried fiddling with the driver's tick mode, but it didn't help much, and it seems they actually do use the same modes after all.
The Silent Hill 3 rip uses the Silent Hill 2 driver as it is thankfully compatible with the data from Silent Hill 3.
As for Winning Eleven 5: the game contains only one sequenced track - the menu theme. It switches sub-tracks manually as you navigate the menu, so there's kind of no "absolute" way to play it. What I've done is to hardcode a 20-second loop for each sub-track. It's probably not "perfect", but I hope it sounds okay at least.
Some other PS2 KCET games that use the KDT1 format for BGM: - Age of Empires II - The Age of Kings - Genso Suikoden III - Genso Suikoden IV - Shadow of Destiny / Shadow of Memories - Tokimeki Memorial 3
There may be more. If the game doesn't use a Trigger Data container (.TD extension, "SdDt" header), it's pretty easy to add it with e.g. a hex editor.
Also, I've been contemplating writing a PSF2 ripping tutorial as I've learned quite a lot making these sets and it's been quite frustrating without any help. If it would encourage more people to rip PSF2s, I think maybe I would. So if you're ambitious about PSF2 rippping, post a comment to show your interest, I guess?
Thank you for providing your time and effort into making Graffiti Kingdom's rip a reality.
I took it upon myself to at least help out by tagging the files: here they are.
Here's some stuff I noted:
-No timing yet, partial tagging.
-Tagging follows SBPS-0006, Hako no Niwa or "The Boxed Garden". Track names deviate between sources, so I used the translated tracklist from VGMdb. Nisto's original notes also follow this track naming convention.
-Hako no Niwa is not a literal rip of the in-game music nor is it complete. Track 18 of the album release is shorter than this rip's track 18, but it is nonetheless present in this rip: the version used in the Acryla tickle cutscene is just the in-game version. MAOU.minipsf2 is not present in the album release: it is the track used for pretty much the entire final stage of the game, so I'll name it after the subtitle that appears right after the cutscene that precedes it; because of this, the track numbers are slightly off after it.
-Why tracks 06 and 17 have clones, I don't know for sure. Maybe one is used in-game, while the other in cutscenes?
@Nisto Thanks! I was able to create PSF2!. Tokimeki Memorial 3 Wip http://www.mediafire.com/file/xslzbl6xe14e6vi/tm3psf2wip.zip If there is no problem make a pack of TM3(It will take some time).
I think that .TD files can be extracted with this. http://www.mediafire.com/file/iiyvdoae7ey3x7e/ps2KonamiSdDt.zip
@MushiAA: thanks for the contribution! If you are confident with your updates, maybe post it in the xxx.joshw.info thread as well? I unfortunately don't have access to the FTP myself, so there isn't much I can do with your upload personally.
@peronmls: dragging the driver file in together with the minipsf2s doesn't help for me with AOPSF 2.2.2 .. ? I can't see why it would, either, because even as standard (not mini) PSF2 files, they won't play. You didn't happen to delete or move the driver file the first time you tried playing them? (I'm asking that specifically because I recall someone deleting the driver library from another set I made once).
@mogikihei: That's great! I'm happy people are making use of the drivers. The music is great, I'll look out for for the full rip! Also, I'm glad you spotted this thread as I remember you ripped the Genso Suikoden II driver and thought you may be able to do something with GS3 or GS4. (Thanks again for helping out back then with Silent Hill 1)
I finished the Tokimeki Memorial 3.(I posted to xxx.joshw.info Music Archive thread)
Genso Suikoden III and IV is It is difficult for me because there is no regularity in the placement of TD/HD/BD files. (Tokimeki Memorial 3 was made with reference to the data memory dumped in the sound mode)
If you don't mind using Python, I did actually write a script to extract the sound data in Genso Suikoden IV: https://www.sendspace.com/file/3cg82i (please use Python v3)
edited 3:19 AM EST February 25, 2017
by AnonRunzes at 10:07 AM EST on February 25, 2017
What about a Python script for Shadow of Destiny/Shadow of Memories?
@Nisto: I tried Python script for Genso Suikoden IV but it does not work. http://www.mediafire.com/file/4kue3uuura684ya/gs4.zip Is the combination of TD/HD/BD different?
@AnonRunzes: Sorry, Shadow of Memories is harder, because the files doesn't contain internal metadata (i.e. offset, size, and potentially, filenames). Probably have to dig into the main executable for that (it looks like the executable may be split too, similar to Silent Hill 1).
@mogikihei: I've been wondering about that possibility too, but the HD+BD+KDT data sounds alright in Awave Studio, so I'm assuming the combination should be correct (am I wrong?). I haven't gotten PSF2s to work myself; I guess I just thought you may have some ideas I haven't thought of.
@Nisto - "Probably have to dig into the main executable for that (it looks like the executable may be split too, similar to Silent Hill 1)." You`re right. The executable is the only clue, and it`s not easy getting in.
@mogikihei: Indeed, I suspect some added function(s) as well, although sdstr is actually only the stream driver. Anyway I never did try Genso Suikoden III, maybe that would work at least?
There are sd_call.irx in Genso Suikoden III and IV, is this a sound driver? (There is TD/HD/BD character in this file)
Genso Suikoden III files http://www.mediafire.com/file/4k1kjfypy6qwu6j/GS3.zip Genso Suikoden III did not work, The song number is not written on 0x18 of .TD file(This file contains several songs).
Not quite - libsmf2.irx contains the driver (library), while sd_call.irx handles RPC function calls (more high-level functions). [EDIT: you are right actually, in GS3 it seems the driver is in the same file as the RPC request function; in GS4 they are divided]
I gave it a look, and indeed, it doesn't seem to work either. Too bad.
@MusashiAA: to time xSF files, you add a length tag. PSFPoint is probably the tool most people use for tagging (VGMToolbox may also have a GUI front-end, I forget). Or, if you're equally comfortable with a hex editor, tags are really just a list of x=y values separated by newline (ASCII 0x0A) characters (after "[TAG]" at the end of the file). The format for the length tag is described here. But as kode54 says, there's no magic button for automatically calculating times in this case. Although, the official OST, if available, is likely a good reference, and should be used if it makes sense.
My problem seems to be that the files are .minipsf2, NOT .psf2. VGMToolbox does have a PSF2 timer, but it doesn't seem to work in the intended way? All I get is a folder with a .smd file, a .swd file, and a .ini file, with VGMToolbox saying there was some sort of error processing the .minipsf2 file.
I recall being able to time .psf files before (a little), it seemed like a pretty automated process, but at least those were straight .psf files: I guess I'd need the .minipsf2 files here to be straight up .psf2 files?
I don't think it should have any problems dealing with minipsf2 sets. The tool in VGMToolbox indeed appears to be an automatic timer. My guess is that it expects a CSL (Component Sound Library) rip, where the sequence format would be .SQ (rather than .SMD). So obviously that won't work, and it's probably why you're getting those errors. You're simply gonna have to tag them manually, one by one, via PSFPoint or some other tool of your choice (it's a pain, I know).
http://ux.getuploader.com/foobar2000/download/192/viopsf2_v0.07_beta.7z It appears to be working with viopsf2.
Description of the author of viopsf2. Silent Hill 2 driver calls strtoul in iop_sysclib, but that failed. https://github.com/jpd002/Play-/commit/54b7857edeb041fa7eeda5f081b77ae02e4faa8d This fix has come to play(Silent Hill 2 driver was rewriting the memory size of thread, so it failed to call strtoul in iop_sysclib). Graffiti Kingdom seems to specify an illegal value in argument thread id in WakeUpThread function. Winning Eleven 5 is under investigation (The tempo seems to be wrong)
Thank you for bringing this to my attention, mogikihei!
I would like to fix the problems if possible.
Do you know where I can get in contact with the developer of viopsf2? (If they speak English).
Otherwise, if you are able to relay these questions to the developer somehow, I would appreciate it:
Graffiti Kingdom and SILENT HILL 2 uses the same method to pass a thread ID to WakeupThread. So does the latter have the same problem? Do you know what the problem is? The relevant C code: https://pastebin.com/raw/VG1gmkwv
The toolchain in the official SCE SDK has issues, especially with optimizations enabled. It is possible it has erroneously compiled my Graffiti Kingdom module (it has happened with a module I wrote for Shadow Hearts also). I may have to look into it.
As for Winning Eleven 5. The KCET drivers do not seem very backwards-compatible. If data from another game is used for the WE5 driver, the tempo will probably be incorrect (it's why I also had to rip the driver of SILENT HILL 2). But I think the tempo is correct for the menu theme of WE5? Are you using data from a different game?
I do not know how to contact the viopsf2 author.(It is a coincidence that I found this.) But he is probably looking at this forum.
The problem with Graffiti Kingdom is that there is a song whose thread id specifies 65573 etc. This is fixed by the player.(If an illegal value is requested, -1 is specified)